From e8d6a59a8cf8e1463b7eba9d6128c5d2194e76b0 Mon Sep 17 00:00:00 2001 From: "kris@sentientgeeks.com" Date: Mon, 6 Sep 2021 21:48:42 +0530 Subject: [PATCH] initial commit --- .env | 3 + .eslintrc.js | 82 + .gitignore | 23 + config-overrides.js | 38 + package-lock.json | 22227 ++++++++++++++++ package.json | 121 + public/favicon.ico | Bin 0 -> 3870 bytes public/index.html | 42 + public/manifest.json | 15 + src/@core/assets/data/locales/de.json | 181 + src/@core/assets/data/locales/en.json | 179 + src/@core/assets/data/locales/fr.json | 180 + src/@core/assets/data/locales/pt.json | 181 + .../assets/fonts/feather/fonts/feather.eot | Bin 0 -> 62084 bytes .../assets/fonts/feather/fonts/feather.svg | 849 + .../assets/fonts/feather/fonts/feather.ttf | Bin 0 -> 61920 bytes .../assets/fonts/feather/fonts/feather.woff | Bin 0 -> 29500 bytes src/@core/assets/fonts/feather/iconfont.css | 568 + src/@core/auth/jwt/jwtDefaultConfig.js | 15 + src/@core/auth/jwt/jwtService.js | 108 + src/@core/auth/jwt/useJwt.js | 11 + src/@core/components/app-collapse/index.js | 120 + .../components/autocomplete/autocomplete.scss | 85 + src/@core/components/autocomplete/index.js | 354 + src/@core/components/avatar-group/index.js | 65 + src/@core/components/avatar/index.js | 155 + src/@core/components/breadcrumbs/index.js | 92 + src/@core/components/card-actions/index.js | 132 + src/@core/components/card-snippet/index.js | 51 + src/@core/components/customizer/index.js | 357 + .../components/extensions-header/index.js | 30 + .../components/input-password-toggle/index.js | 98 + src/@core/components/number-input/index.js | 205 + .../components/number-input/number-input.scss | 153 + src/@core/components/repeater/index.js | 33 + src/@core/components/ripple-button/index.js | 75 + .../ripple-button/ripple-button.scss | 36 + src/@core/components/sidebar/index.js | 89 + .../components/spinner/Fallback-spinner.js | 17 + .../components/spinner/Loading-spinner.js | 13 + src/@core/components/statistics-card/index.js | 52 + src/@core/components/timeline/index.js | 76 + src/@core/components/ui-loader/index.js | 45 + src/@core/components/ui-loader/ui-loader.scss | 35 + .../components/widgets/stats/ChartOptions.js | 104 + .../widgets/stats/StatsHorizontal.js | 32 + .../components/widgets/stats/StatsVertical.js | 28 + .../widgets/stats/StatsWithAreaChart.js | 51 + .../widgets/stats/StatsWithLineChart.js | 45 + .../widgets/stats/TinyChartStats.js | 35 + src/@core/components/wizard/index.js | 121 + src/@core/constant/index.js | 6 + src/@core/layouts/BlankLayout.js | 35 + src/@core/layouts/HorizontalLayout.js | 211 + src/@core/layouts/components/BuyNow.js | 14 + src/@core/layouts/components/footer/index.js | 22 + .../components/layout-wrapper/index.js | 89 + .../horizontal-menu/HorizontalNavMenuGroup.js | 120 + .../horizontal-menu/HorizontalNavMenuItems.js | 40 + .../horizontal-menu/HorizontalNavMenuLink.js | 98 + .../components/menu/horizontal-menu/index.js | 52 + .../menu/vertical-menu/VerticalMenuHeader.js | 65 + .../vertical-menu/VerticalNavMenuGroup.js | 145 + .../vertical-menu/VerticalNavMenuItems.js | 42 + .../menu/vertical-menu/VerticalNavMenuLink.js | 122 + .../VerticalNavMenuSectionHeader.js | 16 + .../components/menu/vertical-menu/index.js | 98 + .../layouts/components/navbar/CartDropdown.js | 129 + .../layouts/components/navbar/IntlDropdown.js | 61 + .../layouts/components/navbar/NavIcons.js | 0 .../components/navbar/NavbarBookmarks.js | 300 + .../layouts/components/navbar/NavbarSearch.js | 160 + .../components/navbar/NotificationDropdown.js | 176 + .../layouts/components/navbar/UserDropdown.js | 72 + src/@core/layouts/components/navbar/index.js | 45 + src/@core/layouts/utils.js | 159 + src/@core/scss/base/bootstrap-extended.scss | 47 + .../scss/base/bootstrap-extended/_alert.scss | 56 + .../scss/base/bootstrap-extended/_badge.scss | 90 + .../base/bootstrap-extended/_breadcrumb.scss | 76 + .../bootstrap-extended/_button-group.scss | 59 + .../base/bootstrap-extended/_buttons.scss | 67 + .../scss/base/bootstrap-extended/_card.scss | 514 + .../scss/base/bootstrap-extended/_code.scss | 14 + .../base/bootstrap-extended/_collapse.scss | 140 + .../base/bootstrap-extended/_dropdown.scss | 255 + .../scss/base/bootstrap-extended/_forms.scss | 570 + .../base/bootstrap-extended/_functions.scss | 10 + .../scss/base/bootstrap-extended/_helper.scss | 106 + .../base/bootstrap-extended/_include.scss | 24 + .../base/bootstrap-extended/_list-group.scss | 101 + .../scss/base/bootstrap-extended/_media.scss | 22 + .../scss/base/bootstrap-extended/_mixins.scss | 13 + .../scss/base/bootstrap-extended/_modal.scss | 175 + .../scss/base/bootstrap-extended/_nav.scss | 272 + .../scss/base/bootstrap-extended/_navbar.scss | 670 + .../base/bootstrap-extended/_pagination.scss | 307 + .../base/bootstrap-extended/_popover.scss | 45 + .../base/bootstrap-extended/_progress.scss | 20 + .../scss/base/bootstrap-extended/_reboot.scss | 15 + .../scss/base/bootstrap-extended/_tables.scss | 122 + .../scss/base/bootstrap-extended/_toast.scss | 16 + .../scss/base/bootstrap-extended/_type.scss | 22 + .../base/bootstrap-extended/_utilities.scss | 465 + .../base/bootstrap-extended/_variables.scss | 499 + .../base/bootstrap-extended/mixins/_navs.scss | 49 + .../base/bootstrap-extended/mixins/_type.scss | 31 + src/@core/scss/base/bootstrap.scss | 11 + src/@core/scss/base/colors.scss | 24 + src/@core/scss/base/components.scss | 40 + src/@core/scss/base/components/_include.scss | 13 + .../scss/base/components/_variables-dark.scss | 53 + .../scss/base/components/_variables.scss | 137 + src/@core/scss/base/components/avatar.scss | 192 + .../base/components/bootstrap-social.scss | 316 + src/@core/scss/base/components/chart.scss | 35 + .../scss/base/components/customizer.scss | 98 + src/@core/scss/base/components/demo.scss | 121 + src/@core/scss/base/components/divider.scss | 104 + src/@core/scss/base/components/search.scss | 237 + src/@core/scss/base/components/timeline.scss | 101 + src/@core/scss/base/core/colors/_palette.scss | 534 + .../base/core/colors/palette-gradient.scss | 72 + .../scss/base/core/colors/palette-noui.scss | 30 + .../base/core/colors/palette-variables.scss | 126 + .../scss/base/core/layouts/_content.scss | 474 + src/@core/scss/base/core/layouts/_footer.scss | 78 + .../scss/base/core/layouts/_sidebar.scss | 79 + .../scss/base/core/menu/_navigation.scss | 206 + .../core/menu/menu-types/horizontal-menu.scss | 589 + .../core/menu/menu-types/vertical-menu.scss | 295 + .../menu-types/vertical-overlay-menu.scss | 79 + src/@core/scss/base/core/mixins/alert.scss | 5 + src/@core/scss/base/core/mixins/hex2rgb.scss | 4 + .../base/core/mixins/main-menu-mixin.scss | 359 + .../scss/base/core/mixins/transitions.scss | 30 + src/@core/scss/base/custom-rtl.scss | 355 + src/@core/scss/base/pages/app-calendar.scss | 413 + src/@core/scss/base/pages/app-chat-list.scss | 128 + src/@core/scss/base/pages/app-chat.scss | 340 + .../base/pages/app-ecommerce-details.scss | 288 + src/@core/scss/base/pages/app-ecommerce.scss | 632 + src/@core/scss/base/pages/app-email.scss | 492 + .../scss/base/pages/app-file-manager.scss | 441 + .../scss/base/pages/app-invoice-list.scss | 96 + .../scss/base/pages/app-invoice-print.scss | 58 + src/@core/scss/base/pages/app-invoice.scss | 166 + src/@core/scss/base/pages/app-kanban.scss | 156 + src/@core/scss/base/pages/app-todo.scss | 300 + src/@core/scss/base/pages/app-user.scss | 107 + .../scss/base/pages/dashboard-ecommerce.scss | 66 + src/@core/scss/base/pages/page-auth.scss | 106 + src/@core/scss/base/pages/page-blog.scss | 63 + .../scss/base/pages/page-coming-soon.scss | 21 + src/@core/scss/base/pages/page-faq.scss | 66 + .../scss/base/pages/page-knowledge-base.scss | 77 + src/@core/scss/base/pages/page-misc.scss | 36 + src/@core/scss/base/pages/page-pricing.scss | 100 + src/@core/scss/base/pages/page-profile.scss | 146 + src/@core/scss/base/pages/ui-colors.scss | 25 + src/@core/scss/base/pages/ui-feather.scss | 59 + .../scss/base/plugins/charts/chart-apex.scss | 158 + .../ext-component-context-menu.scss | 101 + .../extensions/ext-component-drag-drop.scss | 51 + .../ext-component-media-player.scss | 21 + .../extensions/ext-component-ratings.scss | 57 + .../extensions/ext-component-sliders.scss | 145 + .../ext-component-sweet-alerts.scss | 124 + .../extensions/ext-component-swiper.scss | 367 + .../extensions/ext-component-toastr.scss | 254 + .../extensions/ext-component-tour.scss | 80 + .../extensions/ext-component-tree.scss | 154 + .../plugins/forms/form-file-uploader.scss | 103 + .../base/plugins/forms/form-number-input.scss | 157 + .../base/plugins/forms/form-quill-editor.scss | 213 + .../base/plugins/forms/form-validation.scss | 27 + .../scss/base/plugins/forms/form-wizard.scss | 293 + .../forms/pickers/form-flat-pickr.scss | 191 + .../plugins/forms/pickers/form-pickadate.scss | 167 + .../base/plugins/forms/select2/_select2.scss | 319 + .../scss/base/plugins/maps/map-leaflet.scss | 38 + .../scss/base/plugins/tables/_datatables.scss | 163 + .../base/plugins/tables/table-ag-grid.scss | 135 + .../scss/base/plugins/ui/_breakpoints.scss | 64 + .../scss/base/plugins/ui/coming-soon.scss | 64 + .../scss/base/themes/bordered-layout.scss | 59 + src/@core/scss/base/themes/dark-layout.scss | 2386 ++ .../scss/base/themes/semi-dark-layout.scss | 109 + src/@core/scss/core.scss | 36 + src/@core/scss/react/_base-extended.scss | 174 + src/@core/scss/react/_dark-layout.scss | 72 + src/@core/scss/react/_index.scss | 10 + src/@core/scss/react/_rtl.scss | 247 + src/@core/scss/react/app-loader.scss | 77 + src/@core/scss/react/apps/app-calendar.scss | 49 + src/@core/scss/react/apps/app-email.scss | 23 + src/@core/scss/react/apps/app-invoice.scss | 20 + src/@core/scss/react/apps/app-todo.scss | 15 + src/@core/scss/react/apps/app-users.scss | 19 + .../scss/react/libs/charts/apex-charts.scss | 7 + .../scss/react/libs/charts/recharts.scss | 105 + .../react/libs/context-menu/context-menu.scss | 36 + .../libs/drag-and-drop/drag-and-drop.scss | 21 + src/@core/scss/react/libs/editor/editor.scss | 71 + .../libs/file-uploader/file-uploader.scss | 29 + .../scss/react/libs/flatpickr/flatpickr.scss | 2 + .../scss/react/libs/maps/map-leaflet.scss | 37 + .../react/libs/noui-slider/noui-slider.scss | 23 + .../libs/react-select/_react-select.scss | 161 + .../libs/shepherd-tour/shepherd-tour.scss | 11 + src/@core/scss/react/libs/swiper/swiper.scss | 11 + .../tables/react-dataTable-component.scss | 174 + .../scss/react/libs/toastify/toastify.scss | 135 + .../react/pages/page-account-settings.scss | 44 + src/@core/scss/react/pages/page-profile.scss | 24 + .../scss/react/reactstrap/_carousel.scss | 11 + .../scss/react/reactstrap/_collapse.scss | 21 + .../scss/react/reactstrap/_dropdown.scss | 49 + src/@core/scss/react/reactstrap/_index.scss | 9 + src/@core/scss/react/reactstrap/_input.scss | 23 + .../scss/react/reactstrap/_pagination.scss | 39 + src/@core/scss/react/reactstrap/_switch.scss | 6 + src/@core/scss/react/reactstrap/_toast.scss | 17 + src/@fake-db/apps/calendar.js | 184 + src/@fake-db/apps/chat.js | 286 + src/@fake-db/apps/eCommerce.js | 542 + src/@fake-db/apps/email.js | 852 + src/@fake-db/apps/invoice.js | 983 + src/@fake-db/apps/todo.js | 417 + src/@fake-db/apps/userList.js | 722 + src/@fake-db/autoComplete/autoComplete.js | 508 + src/@fake-db/cards/card-analytics.js | 96 + src/@fake-db/cards/card-statistics.js | 109 + src/@fake-db/index.js | 22 + src/@fake-db/jwt/index.js | 170 + src/@fake-db/mock.js | 6 + src/@fake-db/navbar/navbarSearch.js | 1018 + src/@fake-db/pages/account-settings.js | 51 + src/@fake-db/pages/blog-data.js | 157 + src/@fake-db/pages/faq.js | 205 + src/@fake-db/pages/knowledge-base.js | 287 + src/@fake-db/pages/pricing-data.js | 79 + src/@fake-db/pages/profile.js | 314 + src/@fake-db/tables/datatables.js | 1437 + src/@fake-db/utils.js | 36 + src/App.js | 6 + src/App.test.js | 8 + src/assets/data/locales/de.json | 3 + src/assets/data/locales/en.json | 3 + src/assets/data/locales/fr.json | 3 + src/assets/data/locales/pt.json | 3 + src/assets/images/avatars/1-small.png | Bin 0 -> 14609 bytes src/assets/images/avatars/1.png | Bin 0 -> 50553 bytes src/assets/images/avatars/10-small.png | Bin 0 -> 12723 bytes src/assets/images/avatars/10.png | Bin 0 -> 43253 bytes src/assets/images/avatars/11-small.png | Bin 0 -> 12583 bytes src/assets/images/avatars/11.png | Bin 0 -> 43799 bytes src/assets/images/avatars/12-small.png | Bin 0 -> 14371 bytes src/assets/images/avatars/12.png | Bin 0 -> 51662 bytes src/assets/images/avatars/2-small.png | Bin 0 -> 12401 bytes src/assets/images/avatars/2.png | Bin 0 -> 41942 bytes src/assets/images/avatars/3-small.png | Bin 0 -> 13566 bytes src/assets/images/avatars/3.png | Bin 0 -> 46561 bytes src/assets/images/avatars/4-small.png | Bin 0 -> 11774 bytes src/assets/images/avatars/4.png | Bin 0 -> 38221 bytes src/assets/images/avatars/5-small.png | Bin 0 -> 13449 bytes src/assets/images/avatars/5.png | Bin 0 -> 47665 bytes src/assets/images/avatars/6-small.png | Bin 0 -> 11782 bytes src/assets/images/avatars/6.png | Bin 0 -> 38327 bytes src/assets/images/avatars/7-small.png | Bin 0 -> 13119 bytes src/assets/images/avatars/7.png | Bin 0 -> 44959 bytes src/assets/images/avatars/8-small.png | Bin 0 -> 13888 bytes src/assets/images/avatars/8.png | Bin 0 -> 45988 bytes src/assets/images/avatars/9-small.png | Bin 0 -> 13607 bytes src/assets/images/avatars/9.png | Bin 0 -> 45681 bytes src/assets/images/avatars/avatar-blank.png | Bin 0 -> 8549 bytes src/assets/images/backgrounds/chat-bg.svg | 1 + src/assets/images/banner/banner-1.jpg | Bin 0 -> 84564 bytes src/assets/images/banner/banner-10.jpg | Bin 0 -> 130187 bytes src/assets/images/banner/banner-11.jpg | Bin 0 -> 58887 bytes src/assets/images/banner/banner-12.jpg | Bin 0 -> 55890 bytes src/assets/images/banner/banner-13.jpg | Bin 0 -> 72932 bytes src/assets/images/banner/banner-14.jpg | Bin 0 -> 83392 bytes src/assets/images/banner/banner-15.jpg | Bin 0 -> 73710 bytes src/assets/images/banner/banner-16.jpg | Bin 0 -> 72664 bytes src/assets/images/banner/banner-17.jpg | Bin 0 -> 93128 bytes src/assets/images/banner/banner-18.jpg | Bin 0 -> 116787 bytes src/assets/images/banner/banner-19.jpg | Bin 0 -> 18000 bytes src/assets/images/banner/banner-2.jpg | Bin 0 -> 59890 bytes src/assets/images/banner/banner-20.jpg | Bin 0 -> 47551 bytes src/assets/images/banner/banner-21.jpg | Bin 0 -> 31721 bytes src/assets/images/banner/banner-22.jpg | Bin 0 -> 10966 bytes src/assets/images/banner/banner-23.jpg | Bin 0 -> 38628 bytes src/assets/images/banner/banner-24.jpg | Bin 0 -> 18205 bytes src/assets/images/banner/banner-25.jpg | Bin 0 -> 32300 bytes src/assets/images/banner/banner-26.jpg | Bin 0 -> 28095 bytes src/assets/images/banner/banner-27.jpg | Bin 0 -> 6209 bytes src/assets/images/banner/banner-28.jpg | Bin 0 -> 38926 bytes src/assets/images/banner/banner-29.jpg | Bin 0 -> 10086 bytes src/assets/images/banner/banner-3.jpg | Bin 0 -> 83240 bytes src/assets/images/banner/banner-30.jpg | Bin 0 -> 64809 bytes src/assets/images/banner/banner-31.jpg | Bin 0 -> 28593 bytes src/assets/images/banner/banner-32.jpg | Bin 0 -> 10865 bytes src/assets/images/banner/banner-33.jpg | Bin 0 -> 10668 bytes src/assets/images/banner/banner-34.jpg | Bin 0 -> 14387 bytes src/assets/images/banner/banner-35.jpg | Bin 0 -> 13080 bytes src/assets/images/banner/banner-36.jpg | Bin 0 -> 28876 bytes src/assets/images/banner/banner-37.jpg | Bin 0 -> 28781 bytes src/assets/images/banner/banner-38.jpg | Bin 0 -> 6790 bytes src/assets/images/banner/banner-39.jpg | Bin 0 -> 31166 bytes src/assets/images/banner/banner-4.jpg | Bin 0 -> 64332 bytes src/assets/images/banner/banner-40.jpg | Bin 0 -> 12259 bytes src/assets/images/banner/banner-5.jpg | Bin 0 -> 87365 bytes src/assets/images/banner/banner-6.jpg | Bin 0 -> 10733 bytes src/assets/images/banner/banner-7.jpg | Bin 0 -> 59295 bytes src/assets/images/banner/banner-8.jpg | Bin 0 -> 37830 bytes src/assets/images/banner/banner-9.jpg | Bin 0 -> 111661 bytes src/assets/images/banner/banner.png | Bin 0 -> 35149 bytes src/assets/images/banner/parallax-4.jpg | Bin 0 -> 33615 bytes src/assets/images/banner/upgrade.png | Bin 0 -> 77005 bytes src/assets/images/dropzone/spritemap.png | Bin 0 -> 10208 bytes src/assets/images/dropzone/spritemap@2x.png | Bin 0 -> 35675 bytes src/assets/images/elements/apple-watch.png | Bin 0 -> 43064 bytes .../images/elements/beats-headphones.png | Bin 0 -> 38127 bytes src/assets/images/elements/decore-left.png | Bin 0 -> 3335 bytes src/assets/images/elements/decore-right.png | Bin 0 -> 1814 bytes src/assets/images/elements/homepod.png | Bin 0 -> 74113 bytes src/assets/images/elements/ipad-pro.png | Bin 0 -> 93105 bytes src/assets/images/elements/iphone-x.png | Bin 0 -> 46820 bytes src/assets/images/elements/jbl-speaker.png | Bin 0 -> 41935 bytes src/assets/images/elements/macbook-pro.png | Bin 0 -> 55652 bytes src/assets/images/elements/magic-mouse.png | Bin 0 -> 13618 bytes src/assets/images/ico/favicon.ico | Bin 0 -> 5430 bytes src/assets/images/icons/angular.svg | 15 + src/assets/images/icons/apple-safari.png | Bin 0 -> 551 bytes src/assets/images/icons/book.svg | 29 + src/assets/images/icons/bootstrap.svg | 18 + src/assets/images/icons/brush.svg | 31 + src/assets/images/icons/doc.png | Bin 0 -> 986 bytes src/assets/images/icons/drive.png | Bin 0 -> 1898 bytes src/assets/images/icons/dropbox.png | Bin 0 -> 2813 bytes src/assets/images/icons/figma.svg | 19 + src/assets/images/icons/file-icons/doc.png | Bin 0 -> 2509 bytes .../images/icons/file-icons/onedrive (1).png | Bin 0 -> 2340 bytes src/assets/images/icons/file-icons/pdf.png | Bin 0 -> 2496 bytes src/assets/images/icons/file-icons/psd.png | Bin 0 -> 2450 bytes src/assets/images/icons/file-icons/sketch.png | Bin 0 -> 2406 bytes src/assets/images/icons/google-chrome.png | Bin 0 -> 1406 bytes src/assets/images/icons/icloud-1.png | Bin 0 -> 5331 bytes src/assets/images/icons/icloud.png | Bin 0 -> 1094 bytes src/assets/images/icons/internet-explorer.png | Bin 0 -> 1130 bytes src/assets/images/icons/internet.png | Bin 0 -> 755 bytes src/assets/images/icons/jpg.png | Bin 0 -> 836 bytes src/assets/images/icons/js.png | Bin 0 -> 898 bytes src/assets/images/icons/json.png | Bin 0 -> 976 bytes src/assets/images/icons/mozila-firefox.png | Bin 0 -> 1978 bytes src/assets/images/icons/onedrive.png | Bin 0 -> 1450 bytes src/assets/images/icons/onedrivenew.png | Bin 0 -> 2340 bytes src/assets/images/icons/opera.png | Bin 0 -> 1524 bytes src/assets/images/icons/parachute.svg | 41 + src/assets/images/icons/pdf.png | Bin 0 -> 2496 bytes src/assets/images/icons/psd.png | Bin 0 -> 2450 bytes src/assets/images/icons/react.svg | 20 + src/assets/images/icons/rocket.svg | 47 + src/assets/images/icons/sketch.png | Bin 0 -> 2406 bytes src/assets/images/icons/speaker.svg | 26 + src/assets/images/icons/star.svg | 24 + src/assets/images/icons/toolbox.svg | 28 + src/assets/images/icons/txt.png | Bin 0 -> 785 bytes src/assets/images/icons/unknown.png | Bin 0 -> 2509 bytes src/assets/images/icons/vuejs.svg | 18 + src/assets/images/icons/xls.png | Bin 0 -> 2420 bytes src/assets/images/illustration/Pot1.svg | 20 + src/assets/images/illustration/Pot2.svg | 42 + src/assets/images/illustration/Pot3.svg | 56 + src/assets/images/illustration/api.svg | 145 + src/assets/images/illustration/badge.svg | 32 + src/assets/images/illustration/demand.svg | 99 + src/assets/images/illustration/email.svg | 140 + .../images/illustration/faq-illustrations.svg | 65 + src/assets/images/illustration/marketing.svg | 172 + .../images/illustration/personalization.svg | 105 + .../illustration/pricing-Illustration.svg | 145 + src/assets/images/illustration/sales.svg | 159 + .../jstree/themes/default-dark/32px.png | Bin 0 -> 1562 bytes .../jstree/themes/default-dark/40px.png | Bin 0 -> 5717 bytes .../jstree/themes/default-dark/throbber.gif | Bin 0 -> 1720 bytes .../images/jstree/themes/default/32px.png | Bin 0 -> 3745 bytes .../images/jstree/themes/default/40px.png | Bin 0 -> 1880 bytes .../images/jstree/themes/default/throbber.gif | Bin 0 -> 1720 bytes src/assets/images/logo/favicon.ico | Bin 0 -> 5430 bytes src/assets/images/logo/logo-danger.png | Bin 0 -> 8772 bytes src/assets/images/logo/logo-dark.png | Bin 0 -> 8689 bytes src/assets/images/logo/logo-info.png | Bin 0 -> 8751 bytes src/assets/images/logo/logo-primary.png | Bin 0 -> 9673 bytes src/assets/images/logo/logo-success.png | Bin 0 -> 8841 bytes src/assets/images/logo/logo-warning.png | Bin 0 -> 8913 bytes src/assets/images/logo/logo.png | Bin 0 -> 25201 bytes src/assets/images/logo/logo.svg | 43 + src/assets/images/logo/logo2.png | Bin 0 -> 6563 bytes src/assets/images/logo/old/favicon.ico | Bin 0 -> 5430 bytes src/assets/images/logo/old/logo-danger.png | Bin 0 -> 8772 bytes src/assets/images/logo/old/logo-dark.png | Bin 0 -> 8689 bytes src/assets/images/logo/old/logo-info.png | Bin 0 -> 8751 bytes src/assets/images/logo/old/logo-primary.png | Bin 0 -> 9673 bytes src/assets/images/logo/old/logo-success.png | Bin 0 -> 8841 bytes src/assets/images/logo/old/logo-warning.png | Bin 0 -> 8913 bytes src/assets/images/logo/old/logo.svg | 43 + src/assets/images/logo/old/logo1.png | Bin 0 -> 6563 bytes src/assets/images/logo/old/vuexy-logo.png | Bin 0 -> 8288 bytes src/assets/images/logo/vuexy-logo.png | Bin 0 -> 8288 bytes src/assets/images/misc/leaf-green.png | Bin 0 -> 2750 bytes src/assets/images/misc/leaf-orange.png | Bin 0 -> 2792 bytes src/assets/images/misc/leaf-red.png | Bin 0 -> 2784 bytes src/assets/images/misc/leaf-shadow.png | Bin 0 -> 1932 bytes src/assets/images/pages/1-apex.png | Bin 0 -> 2228 bytes src/assets/images/pages/2-stack.png | Bin 0 -> 3104 bytes src/assets/images/pages/3-convex.png | Bin 0 -> 2156 bytes src/assets/images/pages/4-materialize.png | Bin 0 -> 2308 bytes src/assets/images/pages/404.png | Bin 0 -> 19062 bytes src/assets/images/pages/500.png | Bin 0 -> 18583 bytes src/assets/images/pages/arrow-down.png | Bin 0 -> 217 bytes src/assets/images/pages/auth-v1-bottom-bg.png | Bin 0 -> 1439 bytes src/assets/images/pages/auth-v1-top-bg.png | Bin 0 -> 1422 bytes .../images/pages/calendar-illustration.png | Bin 0 -> 30039 bytes src/assets/images/pages/card-image-4.jpg | Bin 0 -> 129968 bytes src/assets/images/pages/card-image-5.jpg | Bin 0 -> 67309 bytes src/assets/images/pages/card-image-6.jpg | Bin 0 -> 43622 bytes src/assets/images/pages/card-img-overlay.jpg | Bin 0 -> 67291 bytes src/assets/images/pages/carousel/faq.jpg | Bin 0 -> 124708 bytes src/assets/images/pages/carousel/login1.png | Bin 0 -> 47675 bytes src/assets/images/pages/carousel/logout.PNG | Bin 0 -> 28889 bytes src/assets/images/pages/carousel/register.PNG | Bin 0 -> 28883 bytes src/assets/images/pages/carousel/user.PNG | Bin 0 -> 35720 bytes src/assets/images/pages/coming-soon-dark.svg | 263 + src/assets/images/pages/coming-soon.svg | 263 + src/assets/images/pages/content-img-1.jpg | Bin 0 -> 117326 bytes src/assets/images/pages/content-img-2.jpg | Bin 0 -> 135708 bytes src/assets/images/pages/content-img-3.jpg | Bin 0 -> 250450 bytes src/assets/images/pages/content-img-4.jpg | Bin 0 -> 177901 bytes src/assets/images/pages/eCommerce/1.png | Bin 0 -> 51949 bytes src/assets/images/pages/eCommerce/10.png | Bin 0 -> 49272 bytes src/assets/images/pages/eCommerce/11.png | Bin 0 -> 60619 bytes src/assets/images/pages/eCommerce/12.png | Bin 0 -> 69598 bytes src/assets/images/pages/eCommerce/13.png | Bin 0 -> 55239 bytes src/assets/images/pages/eCommerce/14.png | Bin 0 -> 33069 bytes src/assets/images/pages/eCommerce/15.png | Bin 0 -> 51412 bytes src/assets/images/pages/eCommerce/16.png | Bin 0 -> 52453 bytes src/assets/images/pages/eCommerce/17.png | Bin 0 -> 41880 bytes src/assets/images/pages/eCommerce/18.png | Bin 0 -> 56279 bytes src/assets/images/pages/eCommerce/19.png | Bin 0 -> 27650 bytes src/assets/images/pages/eCommerce/2.png | Bin 0 -> 41158 bytes src/assets/images/pages/eCommerce/20.png | Bin 0 -> 35356 bytes src/assets/images/pages/eCommerce/21.png | Bin 0 -> 68591 bytes src/assets/images/pages/eCommerce/22.png | Bin 0 -> 35919 bytes src/assets/images/pages/eCommerce/23.png | Bin 0 -> 29654 bytes src/assets/images/pages/eCommerce/24.png | Bin 0 -> 57549 bytes src/assets/images/pages/eCommerce/25.png | Bin 0 -> 48035 bytes src/assets/images/pages/eCommerce/26.png | Bin 0 -> 39366 bytes src/assets/images/pages/eCommerce/27.png | Bin 0 -> 62817 bytes src/assets/images/pages/eCommerce/3.png | Bin 0 -> 71606 bytes src/assets/images/pages/eCommerce/4.png | Bin 0 -> 44948 bytes src/assets/images/pages/eCommerce/5.png | Bin 0 -> 52426 bytes src/assets/images/pages/eCommerce/6.png | Bin 0 -> 52168 bytes src/assets/images/pages/eCommerce/7.png | Bin 0 -> 28101 bytes src/assets/images/pages/eCommerce/8.png | Bin 0 -> 103439 bytes src/assets/images/pages/eCommerce/9.png | Bin 0 -> 44085 bytes .../pages/eCommerce/alienware-laptop.jpg | Bin 0 -> 11184 bytes .../pages/eCommerce/amazon-chromecast.jpg | Bin 0 -> 13170 bytes .../images/pages/eCommerce/amazon-echodot.jpg | Bin 0 -> 30078 bytes .../pages/eCommerce/amazon-firestick.jpg | Bin 0 -> 12699 bytes .../pages/eCommerce/amazon-google-home.jpg | Bin 0 -> 9501 bytes .../images/pages/eCommerce/apple-Imac.jpg | Bin 0 -> 27779 bytes .../images/pages/eCommerce/apple-ear-pods.jpg | Bin 0 -> 5984 bytes .../images/pages/eCommerce/apple-macbook.jpg | Bin 0 -> 48040 bytes .../images/pages/eCommerce/asus-desktop.jpg | Bin 0 -> 6007 bytes src/assets/images/pages/eCommerce/bank.png | Bin 0 -> 8062 bytes .../eCommerce/bower-and-wilkins-speaker.jpg | Bin 0 -> 8559 bytes .../images/pages/eCommerce/canon-camera.jpg | Bin 0 -> 28851 bytes .../images/pages/eCommerce/dell-inspirion.jpg | Bin 0 -> 6171 bytes .../images/pages/eCommerce/garmin-watch.jpg | Bin 0 -> 11945 bytes .../images/pages/eCommerce/garmin-watch2.jpg | Bin 0 -> 7094 bytes .../pages/eCommerce/phillips-smart-led.jpg | Bin 0 -> 7782 bytes .../images/pages/eCommerce/samsung-fridge.jpg | Bin 0 -> 37730 bytes .../images/pages/eCommerce/sharp-50.jpg | Bin 0 -> 44985 bytes .../pages/eCommerce/sony-75class-tv.jpg | Bin 0 -> 30848 bytes .../pages/eCommerce/sony-headphones.jpg | Bin 0 -> 11516 bytes src/assets/images/pages/error-dark.svg | 292 + src/assets/images/pages/error.svg | 299 + src/assets/images/pages/faq.jpg | Bin 0 -> 97699 bytes .../images/pages/forgot-password-v2-dark.svg | 200 + .../images/pages/forgot-password-v2.svg | 207 + src/assets/images/pages/forgot-password.png | Bin 0 -> 11514 bytes src/assets/images/pages/graphic-1.png | Bin 0 -> 44948 bytes src/assets/images/pages/graphic-2.png | Bin 0 -> 20761 bytes src/assets/images/pages/graphic-3.png | Bin 0 -> 24864 bytes src/assets/images/pages/graphic-4.png | Bin 0 -> 33107 bytes src/assets/images/pages/graphic-5.png | Bin 0 -> 28772 bytes src/assets/images/pages/graphic-6.png | Bin 0 -> 20343 bytes src/assets/images/pages/kb-article.jpg | Bin 0 -> 67291 bytes src/assets/images/pages/kb-image.jpg | Bin 0 -> 165807 bytes .../images/pages/knowledge-base-cover.jpg | Bin 0 -> 44941 bytes src/assets/images/pages/lock-screen.png | Bin 0 -> 15366 bytes src/assets/images/pages/login-v2-dark.svg | 544 + src/assets/images/pages/login-v2.svg | 558 + src/assets/images/pages/login.png | Bin 0 -> 20206 bytes src/assets/images/pages/login/facebook.svg | 1 + src/assets/images/pages/login/github.svg | 1 + src/assets/images/pages/login/google.svg | 1 + src/assets/images/pages/login/twitter.svg | 1 + src/assets/images/pages/maintenance-2.png | Bin 0 -> 13864 bytes src/assets/images/pages/maintenance.png | Bin 0 -> 22885 bytes src/assets/images/pages/modern.jpg | Bin 0 -> 48978 bytes .../images/pages/not-authorized-dark.svg | 200 + src/assets/images/pages/not-authorized.png | Bin 0 -> 18959 bytes src/assets/images/pages/not-authorized.svg | 207 + src/assets/images/pages/pixinvent-logo.png | Bin 0 -> 6793 bytes src/assets/images/pages/register-v2-dark.svg | 337 + src/assets/images/pages/register-v2.svg | 351 + src/assets/images/pages/register.jpg | Bin 0 -> 12871 bytes .../images/pages/reset-password-v2-dark.svg | 292 + src/assets/images/pages/reset-password-v2.svg | 299 + src/assets/images/pages/reset-password.png | Bin 0 -> 12786 bytes src/assets/images/pages/rocket.png | Bin 0 -> 9679 bytes src/assets/images/pages/search-result.jpg | Bin 0 -> 24229 bytes .../images/pages/under-maintenance-dark.svg | 178 + src/assets/images/pages/under-maintenance.svg | 178 + src/assets/images/pages/video-poster.jpg | Bin 0 -> 36190 bytes src/assets/images/pages/vuexy-login-bg.jpg | Bin 0 -> 12765 bytes .../images/portrait/small/avatar-s-1.jpg | Bin 0 -> 33569 bytes .../images/portrait/small/avatar-s-10.jpg | Bin 0 -> 35521 bytes .../images/portrait/small/avatar-s-11.jpg | Bin 0 -> 28219 bytes .../images/portrait/small/avatar-s-12.jpg | Bin 0 -> 34039 bytes .../images/portrait/small/avatar-s-13.jpg | Bin 0 -> 36065 bytes .../images/portrait/small/avatar-s-14.jpg | Bin 0 -> 34902 bytes .../images/portrait/small/avatar-s-15.jpg | Bin 0 -> 31856 bytes .../images/portrait/small/avatar-s-16.jpg | Bin 0 -> 35882 bytes .../images/portrait/small/avatar-s-17.jpg | Bin 0 -> 27242 bytes .../images/portrait/small/avatar-s-18.jpg | Bin 0 -> 40111 bytes .../images/portrait/small/avatar-s-19.jpg | Bin 0 -> 33685 bytes .../images/portrait/small/avatar-s-2.jpg | Bin 0 -> 37575 bytes .../images/portrait/small/avatar-s-20.jpg | Bin 0 -> 35932 bytes .../images/portrait/small/avatar-s-21.jpg | Bin 0 -> 33569 bytes .../images/portrait/small/avatar-s-22.jpg | Bin 0 -> 37575 bytes .../images/portrait/small/avatar-s-23.jpg | Bin 0 -> 34434 bytes .../images/portrait/small/avatar-s-24.jpg | Bin 0 -> 25802 bytes .../images/portrait/small/avatar-s-25.jpg | Bin 0 -> 26997 bytes .../images/portrait/small/avatar-s-26.jpg | Bin 0 -> 40107 bytes .../images/portrait/small/avatar-s-3.jpg | Bin 0 -> 34434 bytes .../images/portrait/small/avatar-s-4.jpg | Bin 0 -> 25802 bytes .../images/portrait/small/avatar-s-5.jpg | Bin 0 -> 26997 bytes .../images/portrait/small/avatar-s-6.jpg | Bin 0 -> 40107 bytes .../images/portrait/small/avatar-s-7.jpg | Bin 0 -> 30765 bytes .../images/portrait/small/avatar-s-8.jpg | Bin 0 -> 30562 bytes .../images/portrait/small/avatar-s-9.jpg | Bin 0 -> 42173 bytes src/assets/images/profile/pages/page-01.jpg | Bin 0 -> 7002 bytes src/assets/images/profile/pages/page-02.jpg | Bin 0 -> 9354 bytes src/assets/images/profile/pages/page-03.jpg | Bin 0 -> 11062 bytes src/assets/images/profile/pages/page-04.jpg | Bin 0 -> 9147 bytes src/assets/images/profile/pages/page-05.jpg | Bin 0 -> 10960 bytes src/assets/images/profile/pages/page-06.jpg | Bin 0 -> 6677 bytes src/assets/images/profile/pages/page-07.jpg | Bin 0 -> 8375 bytes src/assets/images/profile/pages/page-08.jpg | Bin 0 -> 9583 bytes src/assets/images/profile/pages/page-09.jpg | Bin 0 -> 10399 bytes src/assets/images/profile/post-media/2.jpg | Bin 0 -> 148242 bytes src/assets/images/profile/post-media/25.jpg | Bin 0 -> 524458 bytes .../images/profile/user-uploads/timeline.jpg | Bin 0 -> 538459 bytes .../images/profile/user-uploads/user-01.jpg | Bin 0 -> 24685 bytes .../images/profile/user-uploads/user-02.jpg | Bin 0 -> 28700 bytes .../images/profile/user-uploads/user-03.jpg | Bin 0 -> 37359 bytes .../images/profile/user-uploads/user-04.jpg | Bin 0 -> 30838 bytes .../images/profile/user-uploads/user-05.jpg | Bin 0 -> 22363 bytes .../images/profile/user-uploads/user-06.jpg | Bin 0 -> 22522 bytes .../images/profile/user-uploads/user-07.jpg | Bin 0 -> 23020 bytes .../images/profile/user-uploads/user-08.jpg | Bin 0 -> 25781 bytes .../images/profile/user-uploads/user-09.jpg | Bin 0 -> 22313 bytes .../images/profile/user-uploads/user-10.jpg | Bin 0 -> 30579 bytes .../images/profile/user-uploads/user-11.jpg | Bin 0 -> 22103 bytes .../images/profile/user-uploads/user-12.jpg | Bin 0 -> 22117 bytes .../images/profile/user-uploads/user-13.jpg | Bin 0 -> 24411 bytes src/assets/images/raty/star-half-2.png | Bin 0 -> 667 bytes src/assets/images/raty/star-on-2.png | Bin 0 -> 631 bytes src/assets/images/slider/01.jpg | Bin 0 -> 110791 bytes src/assets/images/slider/02.jpg | Bin 0 -> 136121 bytes src/assets/images/slider/03.jpg | Bin 0 -> 329035 bytes src/assets/images/slider/04.jpg | Bin 0 -> 125882 bytes src/assets/images/slider/05.jpg | Bin 0 -> 158032 bytes src/assets/images/slider/06.jpg | Bin 0 -> 131170 bytes src/assets/images/slider/07.jpg | Bin 0 -> 106154 bytes src/assets/images/slider/08.jpg | Bin 0 -> 120799 bytes src/assets/images/slider/09.jpg | Bin 0 -> 289578 bytes src/assets/images/slider/10.jpg | Bin 0 -> 250735 bytes src/assets/images/svg/google.svg | 41 + src/assets/images/svg/map-marker-2.png | Bin 0 -> 17856 bytes src/assets/images/svg/map-marker-3.png | Bin 0 -> 2899 bytes src/assets/images/svg/map-marker.png | Bin 0 -> 35693 bytes src/assets/images/svg/transparent.svg | 11 + src/assets/scss/style-rtl.scss | 11 + src/assets/scss/style.scss | 154 + .../scss/variables/_variables-components.scss | 3 + src/assets/scss/variables/_variables.scss | 3 + src/auth/jwt/useJwt.js | 6 + src/auth/utils.js | 27 + src/configs/acl/ability.js | 11 + src/configs/acl/initialAbility.js | 9 + src/configs/themeConfig.js | 32 + src/history.js | 2 + src/index.js | 66 + src/index.scss | 2 + src/layouts/HorizontalLayout.js | 20 + src/layouts/components/Footer.js | 6 + src/layouts/components/Menu.js | 6 + src/layouts/components/Navbar.js | 6 + src/navigation/horizontal/apps.js | 10 + src/navigation/horizontal/dashboards.js | 10 + src/navigation/horizontal/index.js | 7 + src/redux/actions/auth/index.js | 34 + src/redux/actions/layout/index.js | 11 + src/redux/actions/navbar/index.js | 26 + src/redux/reducers/auth/index.js | 24 + src/redux/reducers/layout/index.js | 35 + src/redux/reducers/navbar/index.js | 40 + src/redux/reducers/rootReducer.js | 23 + src/redux/storeConfig/store.js | 16 + src/router/Router.js | 221 + src/router/routes/Pages.js | 136 + src/router/routes/index.js | 15 + src/serviceWorker.js | 129 + src/utility/Utils.js | 79 + src/utility/context/Can.js | 11 + src/utility/context/Internationalization.js | 50 + src/utility/context/ThemeColors.js | 56 + src/utility/hooks/useFooterType.js | 34 + src/utility/hooks/useLayout.js | 57 + src/utility/hooks/useNavbarColor.js | 34 + src/utility/hooks/useNavbarType.js | 34 + src/utility/hooks/useOnClickOutside.js | 33 + src/utility/hooks/useRTL.js | 38 + src/utility/hooks/useRouterTransition.js | 34 + src/utility/hooks/useSkin.js | 58 + src/views/apps/account/AccountView.js | 228 + src/views/apps/account/ContactSidebar.js | 234 + src/views/apps/account/Contacts.js | 69 + src/views/apps/account/Notes.js | 109 + src/views/apps/account/TaskSidebar.js | 407 + src/views/apps/account/Tasks.js | 250 + src/views/apps/account/timeline/index.js | 76 + .../apps/activityTree/ActivitySidebar.js | 420 + src/views/apps/activityTree/ActivityTree.js | 131 + src/views/apps/activityTree/TreeTest.js | 81 + src/views/apps/company/edit/Account.js | 264 + src/views/apps/company/edit/Information.js | 260 + src/views/apps/company/edit/Social.js | 118 + src/views/apps/company/edit/index.js | 85 + src/views/apps/company/list/Sidebar.js | 120 + src/views/apps/company/list/Table.js | 292 + src/views/apps/company/list/columns.js | 171 + src/views/apps/company/list/index.js | 15 + src/views/apps/company/store/action/index.js | 78 + src/views/apps/company/store/reducer/index.js | 31 + .../apps/company/view/PermissionsTable.js | 103 + src/views/apps/company/view/PlanCard.js | 39 + src/views/apps/company/view/UserInfoCard.js | 149 + src/views/apps/company/view/UserTimeline.js | 63 + src/views/apps/company/view/index.js | 66 + src/views/apps/invoice/add/AddActions.js | 60 + src/views/apps/invoice/add/AddCard.js | 477 + src/views/apps/invoice/add/index.js | 27 + src/views/apps/invoice/edit/EditActions.js | 63 + src/views/apps/invoice/edit/EditCard.js | 313 + src/views/apps/invoice/edit/index.js | 58 + src/views/apps/invoice/list/SearchFilter.js | 172 + src/views/apps/invoice/list/Sidebar.js | 158 + src/views/apps/invoice/list/columns.js | 190 + src/views/apps/invoice/list/index.js | 221 + .../apps/invoice/preview/PreviewActions.js | 39 + src/views/apps/invoice/preview/PreviewCard.js | 229 + src/views/apps/invoice/preview/index.js | 60 + src/views/apps/invoice/print/index.js | 218 + .../shared-sidebar/SidebarAddPayment.js | 78 + .../shared-sidebar/SidebarSendInvoice.js | 79 + src/views/apps/invoice/store/actions/index.js | 30 + src/views/apps/invoice/store/reducer/index.js | 24 + src/views/apps/todo/Sidebar.js | 164 + src/views/apps/todo/TaskSidebar.js | 377 + src/views/apps/todo/Tasks.js | 219 + src/views/apps/todo/index.js | 116 + src/views/apps/todo/store/actions/index.js | 65 + src/views/apps/todo/store/reducer/index.js | 27 + src/views/apps/user/edit/Account.js | 264 + src/views/apps/user/edit/Information.js | 260 + src/views/apps/user/edit/Social.js | 118 + src/views/apps/user/edit/index.js | 85 + src/views/apps/user/list/Sidebar.js | 165 + src/views/apps/user/list/Table.js | 336 + src/views/apps/user/list/columns.js | 158 + src/views/apps/user/list/index.js | 15 + src/views/apps/user/store/action/index.js | 78 + src/views/apps/user/store/reducer/index.js | 31 + src/views/apps/user/view/PermissionsTable.js | 103 + src/views/apps/user/view/PlanCard.js | 39 + src/views/apps/user/view/UserInfoCard.js | 149 + src/views/apps/user/view/UserTimeline.js | 63 + src/views/apps/user/view/index.js | 66 + src/views/extensions/access-control/index.js | 33 + .../context-menu/ContextMenuAnimation.js | 86 + .../context-menu/ContextMenuBasic.js | 46 + .../context-menu/ContextMenuDoubleClick.js | 46 + .../context-menu/ContextMenuLeftClick.js | 46 + .../extensions/context-menu/ContextSubmenu.js | 55 + src/views/extensions/context-menu/index.js | 42 + .../extensions/copy-to-clipboard/index.js | 74 + .../extensions/drag-and-drop/DndCards.js | 53 + .../extensions/drag-and-drop/DndClone.js | 112 + .../extensions/drag-and-drop/DndHandle.js | 112 + .../extensions/drag-and-drop/DndListGroup.js | 83 + .../extensions/drag-and-drop/DndMultiDrag.js | 173 + .../extensions/drag-and-drop/DndMultiple.js | 168 + src/views/extensions/drag-and-drop/index.js | 45 + src/views/extensions/i18n/index.js | 81 + src/views/extensions/import-export/Export.js | 245 + .../import-export/ExportSelected.js | 295 + src/views/extensions/import-export/Import.js | 170 + .../extensions/pagination/BasicPagination.js | 32 + .../extensions/pagination/PaginationDanger.js | 33 + .../extensions/pagination/PaginationIcon.js | 33 + .../pagination/PaginationIconText.js | 41 + .../extensions/pagination/PaginationInfo.js | 33 + .../pagination/PaginationPositions.js | 74 + .../extensions/pagination/PaginationSizes.js | 71 + .../pagination/PaginationSuccess.js | 33 + .../pagination/PaginationWarning.js | 33 + .../pagination/SepratedPagination.js | 32 + src/views/extensions/pagination/index.js | 60 + src/views/extensions/ratings/RatingBasic.js | 23 + .../extensions/ratings/RatingControlled.js | 38 + .../extensions/ratings/RatingCustomSvg.js | 28 + src/views/extensions/ratings/RatingEvents.js | 33 + .../extensions/ratings/RatingFractional.js | 24 + src/views/extensions/ratings/RatingNumbers.js | 23 + .../extensions/ratings/RatingReadOnly.js | 24 + src/views/extensions/ratings/RatingSizes.js | 35 + src/views/extensions/ratings/RatingsHover.js | 32 + src/views/extensions/ratings/index.js | 55 + .../react-player/MediaPlayerAudio.js | 186 + .../react-player/MediaPlayerControlled.js | 256 + .../react-player/MediaPlayerVideo.js | 22 + src/views/extensions/react-player/index.js | 31 + .../extensions/sliders/SliderBehaviour.js | 60 + src/views/extensions/sliders/SliderColors.js | 51 + .../extensions/sliders/SliderConnectUpper.js | 29 + .../extensions/sliders/SliderScalePips.js | 32 + src/views/extensions/sliders/SliderValues.js | 34 + .../extensions/sliders/SliderVertical.js | 28 + .../extensions/sliders/SliderVerticalLimit.js | 31 + .../sliders/SliderVerticalTooltips.js | 37 + .../extensions/sliders/SliderWithInput.js | 178 + .../extensions/sliders/SlidersBootstrap.js | 23 + src/views/extensions/sliders/index.js | 67 + .../sweet-alert/SweetAlertAnimations.js | 104 + .../extensions/sweet-alert/SweetAlertBasic.js | 98 + .../sweet-alert/SweetAlertCallback.js | 95 + .../sweet-alert/SweetAlertOptions.js | 147 + .../sweet-alert/SweetAlertPositions.js | 80 + .../extensions/sweet-alert/SweetAlertTypes.js | 85 + src/views/extensions/sweet-alert/index.js | 46 + src/views/extensions/swiper/3DEffect.js | 45 + .../extensions/swiper/CenteredSlidesStyle1.js | 48 + .../extensions/swiper/CenteredSlidesStyle2.js | 47 + src/views/extensions/swiper/SwiperAutoplay.js | 55 + .../extensions/swiper/SwiperCoverflow.js | 71 + src/views/extensions/swiper/SwiperDefault.js | 38 + src/views/extensions/swiper/SwiperFade.js | 46 + src/views/extensions/swiper/SwiperGallery.js | 83 + src/views/extensions/swiper/SwiperLazyload.js | 56 + .../extensions/swiper/SwiperMultiSlides.js | 46 + .../extensions/swiper/SwiperNavigation.js | 42 + .../extensions/swiper/SwiperPagination.js | 44 + src/views/extensions/swiper/SwiperProgress.js | 45 + .../extensions/swiper/SwiperResponsive.js | 80 + src/views/extensions/swiper/SwiperRows.js | 68 + src/views/extensions/swiper/SwiperVirtual.js | 58 + src/views/extensions/swiper/index.js | 100 + .../extensions/toastify/ToastPositions.js | 92 + src/views/extensions/toastify/ToastTypes.js | 148 + .../extensions/toastify/ToastifyOptions.js | 81 + .../extensions/toastify/ToastrAnimations.js | 101 + src/views/extensions/toastify/index.js | 36 + src/views/extensions/tour/index.js | 127 + .../account-settings/GeneralTabContent.js | 138 + .../pages/account-settings/InfoTabContent.js | 113 + .../NotificationsTabContent.js | 88 + .../account-settings/PasswordTabContent.js | 81 + .../account-settings/SocialTabContent.js | 205 + src/views/pages/account-settings/Tabs.js | 41 + src/views/pages/account-settings/index.js | 63 + .../pages/authentication/ForgotPassword.js | 109 + src/views/pages/authentication/Login.js | 186 + src/views/pages/authentication/Register.js | 252 + .../pages/authentication/ResetPasswordV1.js | 98 + src/views/pages/faq/FaqContact.js | 41 + src/views/pages/faq/FaqFilter.js | 37 + src/views/pages/faq/Faqs.js | 87 + src/views/pages/faq/index.js | 34 + src/views/pages/misc/ComingSoon.js | 76 + src/views/pages/misc/Error.js | 26 + src/views/pages/misc/Maintenance.js | 76 + src/views/pages/misc/NotAuthorized.js | 77 + src/views/pages/profile/ProfileAbout.js | 30 + .../profile/ProfileFriendsSuggestions.js | 42 + src/views/pages/profile/ProfileHeader.js | 69 + .../pages/profile/ProfileLatestPhotos.js | 26 + src/views/pages/profile/ProfilePolls.js | 54 + src/views/pages/profile/ProfilePosts.js | 112 + .../pages/profile/ProfileSuggestedPages.js | 44 + .../pages/profile/ProfileTwitterFeeds.js | 54 + src/views/pages/profile/index.js | 73 + .../data-tables/advance/TableAdvSearch.js | 336 + .../data-tables/advance/TableServerSide.js | 180 + src/views/tables/data-tables/advance/index.js | 33 + .../tables/data-tables/basic/AddNewModal.js | 108 + .../data-tables/basic/TableExpandable.js | 69 + .../data-tables/basic/TableMultilingual.js | 158 + .../data-tables/basic/TableWithButtons.js | 241 + .../data-tables/basic/TableZeroConfig.js | 28 + src/views/tables/data-tables/basic/index.js | 41 + src/views/tables/data-tables/data.js | 334 + .../tables/data-tables/store/actions/index.js | 16 + .../tables/data-tables/store/reducer/index.js | 24 + src/views/tables/reactstrap/TableBasic.js | 234 + src/views/tables/reactstrap/TableBordered.js | 234 + .../tables/reactstrap/TableBorderless.js | 234 + .../tables/reactstrap/TableContextual.js | 541 + src/views/tables/reactstrap/TableDark.js | 234 + src/views/tables/reactstrap/TableHover.js | 234 + .../tables/reactstrap/TableHoverAnimation.js | 234 + .../tables/reactstrap/TableResponsive.js | 122 + src/views/tables/reactstrap/TableSmall.js | 234 + .../tables/reactstrap/TableSourceCode.js | 3084 +++ src/views/tables/reactstrap/TableStriped.js | 234 + .../tables/reactstrap/TableStripedDark.js | 233 + src/views/tables/reactstrap/TableTheadDark.js | 234 + .../tables/reactstrap/TableTheadLight.js | 234 + src/views/tables/reactstrap/index.js | 175 + src/views/ui-elements/cards/actions/index.js | 110 + .../cards/advance/CardAppDesign.js | 92 + .../cards/advance/CardBrowserState.js | 291 + .../ui-elements/cards/advance/CardBusiness.js | 70 + .../ui-elements/cards/advance/CardChat.js | 196 + .../cards/advance/CardCongratulations.js | 25 + .../cards/advance/CardEmployeesTask.js | 323 + .../ui-elements/cards/advance/CardJob.js | 48 + .../ui-elements/cards/advance/CardMedal.js | 22 + .../ui-elements/cards/advance/CardMeetup.js | 87 + .../ui-elements/cards/advance/CardPayment.js | 62 + .../ui-elements/cards/advance/CardProfile.js | 41 + .../cards/advance/CardTransactions.js | 74 + .../cards/advance/CardUserTimeline.js | 112 + src/views/ui-elements/cards/advance/index.js | 74 + .../cards/analytics/AvgSessions.js | 127 + .../ui-elements/cards/analytics/Customers.js | 92 + .../ui-elements/cards/analytics/Earnings.js | 111 + .../cards/analytics/GoalOverview.js | 99 + .../cards/analytics/ProductOrders.js | 118 + .../ui-elements/cards/analytics/Revenue.js | 127 + .../cards/analytics/RevenueReport.js | 158 + .../ui-elements/cards/analytics/Sales.js | 126 + .../ui-elements/cards/analytics/Sales2.js | 113 + .../cards/analytics/SessionByDevice.js | 98 + .../cards/analytics/SupportTracker.js | 119 + .../ui-elements/cards/analytics/index.js | 89 + .../ui-elements/cards/basic/CardColumns.js | 89 + .../cards/basic/CardContentTypes.js | 100 + src/views/ui-elements/cards/basic/CardDeck.js | 49 + .../ui-elements/cards/basic/CardGroup.js | 49 + .../cards/basic/CardHeaderFooter.js | 59 + .../ui-elements/cards/basic/CardImages.js | 64 + .../ui-elements/cards/basic/CardLayout.js | 19 + .../ui-elements/cards/basic/CardNavigation.js | 140 + .../cards/basic/CardStyleVariation.js | 124 + .../cards/basic/CardTextAlignment.js | 47 + .../ui-elements/cards/basic/CardTitles.js | 61 + src/views/ui-elements/cards/basic/index.js | 27 + .../cards/statistics/ActiveUsers.js | 83 + .../cards/statistics/Newsletter.js | 83 + .../cards/statistics/OrdersBarChart.js | 79 + .../cards/statistics/OrdersReceived.js | 74 + .../cards/statistics/ProfitLineChart.js | 107 + .../cards/statistics/QuaterlySales.js | 74 + .../cards/statistics/RevenueGenerated.js | 74 + .../cards/statistics/SiteTraffic.js | 25 + .../ui-elements/cards/statistics/StatsCard.js | 70 + .../cards/statistics/SubscribersGained.js | 25 + .../ui-elements/cards/statistics/index.js | 132 + src/views/ui-elements/colors/DefaultColors.js | 127 + .../ui-elements/colors/GradientColors.js | 63 + src/views/ui-elements/colors/index.js | 25 + src/views/ui-elements/icons/index.js | 133 + .../ui-elements/page-layouts/BoxedLayout.js | 30 + .../ui-elements/page-layouts/CollapsedMenu.js | 34 + .../ui-elements/page-layouts/LayoutBlank.js | 31 + .../ui-elements/page-layouts/LayoutEmpty.js | 29 + .../ui-elements/page-layouts/WithoutMenu.js | 34 + .../typography/BlockquoteDefault.js | 24 + .../typography/BlockquoteStyling.js | 37 + .../typography/BlockquotesAvatar.js | 52 + .../typography/CustomizingHeadings.js | 65 + .../ui-elements/typography/DescriptionList.js | 57 + .../typography/DescriptionListText.js | 77 + .../typography/DescriptionListVertical.js | 25 + .../ui-elements/typography/DisplayHeadings.js | 44 + .../ui-elements/typography/HTMLHeadings.js | 70 + .../ui-elements/typography/HeadingColors.js | 53 + .../typography/LightBoldHeadings.js | 77 + src/views/ui-elements/typography/ListIcons.js | 47 + .../ui-elements/typography/ListInline.js | 35 + .../ui-elements/typography/ListOrdered.js | 39 + .../ui-elements/typography/ListUnordered.js | 39 + .../ui-elements/typography/ListUnstyled.js | 39 + .../ui-elements/typography/NamingSource.js | 29 + src/views/ui-elements/typography/index.js | 114 + yarn.lock | 14505 ++++++++++ 922 files changed, 114448 insertions(+) create mode 100644 .env create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 config-overrides.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/manifest.json create mode 100644 src/@core/assets/data/locales/de.json create mode 100644 src/@core/assets/data/locales/en.json create mode 100644 src/@core/assets/data/locales/fr.json create mode 100644 src/@core/assets/data/locales/pt.json create mode 100644 src/@core/assets/fonts/feather/fonts/feather.eot create mode 100644 src/@core/assets/fonts/feather/fonts/feather.svg create mode 100644 src/@core/assets/fonts/feather/fonts/feather.ttf create mode 100644 src/@core/assets/fonts/feather/fonts/feather.woff create mode 100644 src/@core/assets/fonts/feather/iconfont.css create mode 100644 src/@core/auth/jwt/jwtDefaultConfig.js create mode 100644 src/@core/auth/jwt/jwtService.js create mode 100644 src/@core/auth/jwt/useJwt.js create mode 100644 src/@core/components/app-collapse/index.js create mode 100644 src/@core/components/autocomplete/autocomplete.scss create mode 100644 src/@core/components/autocomplete/index.js create mode 100644 src/@core/components/avatar-group/index.js create mode 100644 src/@core/components/avatar/index.js create mode 100644 src/@core/components/breadcrumbs/index.js create mode 100644 src/@core/components/card-actions/index.js create mode 100644 src/@core/components/card-snippet/index.js create mode 100644 src/@core/components/customizer/index.js create mode 100644 src/@core/components/extensions-header/index.js create mode 100644 src/@core/components/input-password-toggle/index.js create mode 100644 src/@core/components/number-input/index.js create mode 100644 src/@core/components/number-input/number-input.scss create mode 100644 src/@core/components/repeater/index.js create mode 100644 src/@core/components/ripple-button/index.js create mode 100644 src/@core/components/ripple-button/ripple-button.scss create mode 100644 src/@core/components/sidebar/index.js create mode 100644 src/@core/components/spinner/Fallback-spinner.js create mode 100644 src/@core/components/spinner/Loading-spinner.js create mode 100644 src/@core/components/statistics-card/index.js create mode 100644 src/@core/components/timeline/index.js create mode 100644 src/@core/components/ui-loader/index.js create mode 100644 src/@core/components/ui-loader/ui-loader.scss create mode 100644 src/@core/components/widgets/stats/ChartOptions.js create mode 100644 src/@core/components/widgets/stats/StatsHorizontal.js create mode 100644 src/@core/components/widgets/stats/StatsVertical.js create mode 100644 src/@core/components/widgets/stats/StatsWithAreaChart.js create mode 100644 src/@core/components/widgets/stats/StatsWithLineChart.js create mode 100644 src/@core/components/widgets/stats/TinyChartStats.js create mode 100644 src/@core/components/wizard/index.js create mode 100644 src/@core/constant/index.js create mode 100644 src/@core/layouts/BlankLayout.js create mode 100644 src/@core/layouts/HorizontalLayout.js create mode 100644 src/@core/layouts/components/BuyNow.js create mode 100644 src/@core/layouts/components/footer/index.js create mode 100644 src/@core/layouts/components/layout-wrapper/index.js create mode 100644 src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuGroup.js create mode 100644 src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuItems.js create mode 100644 src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuLink.js create mode 100644 src/@core/layouts/components/menu/horizontal-menu/index.js create mode 100644 src/@core/layouts/components/menu/vertical-menu/VerticalMenuHeader.js create mode 100644 src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuGroup.js create mode 100644 src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuItems.js create mode 100644 src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuLink.js create mode 100644 src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuSectionHeader.js create mode 100644 src/@core/layouts/components/menu/vertical-menu/index.js create mode 100644 src/@core/layouts/components/navbar/CartDropdown.js create mode 100644 src/@core/layouts/components/navbar/IntlDropdown.js create mode 100644 src/@core/layouts/components/navbar/NavIcons.js create mode 100644 src/@core/layouts/components/navbar/NavbarBookmarks.js create mode 100644 src/@core/layouts/components/navbar/NavbarSearch.js create mode 100644 src/@core/layouts/components/navbar/NotificationDropdown.js create mode 100644 src/@core/layouts/components/navbar/UserDropdown.js create mode 100644 src/@core/layouts/components/navbar/index.js create mode 100644 src/@core/layouts/utils.js create mode 100644 src/@core/scss/base/bootstrap-extended.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_alert.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_badge.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_breadcrumb.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_button-group.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_buttons.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_card.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_code.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_collapse.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_dropdown.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_forms.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_functions.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_helper.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_include.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_list-group.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_media.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_mixins.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_modal.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_nav.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_navbar.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_pagination.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_popover.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_progress.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_reboot.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_tables.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_toast.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_type.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_utilities.scss create mode 100644 src/@core/scss/base/bootstrap-extended/_variables.scss create mode 100644 src/@core/scss/base/bootstrap-extended/mixins/_navs.scss create mode 100644 src/@core/scss/base/bootstrap-extended/mixins/_type.scss create mode 100644 src/@core/scss/base/bootstrap.scss create mode 100644 src/@core/scss/base/colors.scss create mode 100644 src/@core/scss/base/components.scss create mode 100644 src/@core/scss/base/components/_include.scss create mode 100644 src/@core/scss/base/components/_variables-dark.scss create mode 100644 src/@core/scss/base/components/_variables.scss create mode 100644 src/@core/scss/base/components/avatar.scss create mode 100644 src/@core/scss/base/components/bootstrap-social.scss create mode 100644 src/@core/scss/base/components/chart.scss create mode 100644 src/@core/scss/base/components/customizer.scss create mode 100644 src/@core/scss/base/components/demo.scss create mode 100644 src/@core/scss/base/components/divider.scss create mode 100644 src/@core/scss/base/components/search.scss create mode 100644 src/@core/scss/base/components/timeline.scss create mode 100644 src/@core/scss/base/core/colors/_palette.scss create mode 100644 src/@core/scss/base/core/colors/palette-gradient.scss create mode 100644 src/@core/scss/base/core/colors/palette-noui.scss create mode 100644 src/@core/scss/base/core/colors/palette-variables.scss create mode 100644 src/@core/scss/base/core/layouts/_content.scss create mode 100644 src/@core/scss/base/core/layouts/_footer.scss create mode 100644 src/@core/scss/base/core/layouts/_sidebar.scss create mode 100644 src/@core/scss/base/core/menu/_navigation.scss create mode 100644 src/@core/scss/base/core/menu/menu-types/horizontal-menu.scss create mode 100644 src/@core/scss/base/core/menu/menu-types/vertical-menu.scss create mode 100644 src/@core/scss/base/core/menu/menu-types/vertical-overlay-menu.scss create mode 100644 src/@core/scss/base/core/mixins/alert.scss create mode 100644 src/@core/scss/base/core/mixins/hex2rgb.scss create mode 100644 src/@core/scss/base/core/mixins/main-menu-mixin.scss create mode 100644 src/@core/scss/base/core/mixins/transitions.scss create mode 100644 src/@core/scss/base/custom-rtl.scss create mode 100644 src/@core/scss/base/pages/app-calendar.scss create mode 100644 src/@core/scss/base/pages/app-chat-list.scss create mode 100644 src/@core/scss/base/pages/app-chat.scss create mode 100644 src/@core/scss/base/pages/app-ecommerce-details.scss create mode 100644 src/@core/scss/base/pages/app-ecommerce.scss create mode 100644 src/@core/scss/base/pages/app-email.scss create mode 100644 src/@core/scss/base/pages/app-file-manager.scss create mode 100644 src/@core/scss/base/pages/app-invoice-list.scss create mode 100644 src/@core/scss/base/pages/app-invoice-print.scss create mode 100644 src/@core/scss/base/pages/app-invoice.scss create mode 100644 src/@core/scss/base/pages/app-kanban.scss create mode 100644 src/@core/scss/base/pages/app-todo.scss create mode 100644 src/@core/scss/base/pages/app-user.scss create mode 100644 src/@core/scss/base/pages/dashboard-ecommerce.scss create mode 100644 src/@core/scss/base/pages/page-auth.scss create mode 100644 src/@core/scss/base/pages/page-blog.scss create mode 100644 src/@core/scss/base/pages/page-coming-soon.scss create mode 100644 src/@core/scss/base/pages/page-faq.scss create mode 100644 src/@core/scss/base/pages/page-knowledge-base.scss create mode 100644 src/@core/scss/base/pages/page-misc.scss create mode 100644 src/@core/scss/base/pages/page-pricing.scss create mode 100644 src/@core/scss/base/pages/page-profile.scss create mode 100644 src/@core/scss/base/pages/ui-colors.scss create mode 100644 src/@core/scss/base/pages/ui-feather.scss create mode 100644 src/@core/scss/base/plugins/charts/chart-apex.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-context-menu.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-drag-drop.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-media-player.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-ratings.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-sliders.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-sweet-alerts.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-swiper.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-toastr.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-tour.scss create mode 100644 src/@core/scss/base/plugins/extensions/ext-component-tree.scss create mode 100644 src/@core/scss/base/plugins/forms/form-file-uploader.scss create mode 100644 src/@core/scss/base/plugins/forms/form-number-input.scss create mode 100644 src/@core/scss/base/plugins/forms/form-quill-editor.scss create mode 100644 src/@core/scss/base/plugins/forms/form-validation.scss create mode 100644 src/@core/scss/base/plugins/forms/form-wizard.scss create mode 100644 src/@core/scss/base/plugins/forms/pickers/form-flat-pickr.scss create mode 100644 src/@core/scss/base/plugins/forms/pickers/form-pickadate.scss create mode 100644 src/@core/scss/base/plugins/forms/select2/_select2.scss create mode 100644 src/@core/scss/base/plugins/maps/map-leaflet.scss create mode 100644 src/@core/scss/base/plugins/tables/_datatables.scss create mode 100644 src/@core/scss/base/plugins/tables/table-ag-grid.scss create mode 100644 src/@core/scss/base/plugins/ui/_breakpoints.scss create mode 100644 src/@core/scss/base/plugins/ui/coming-soon.scss create mode 100644 src/@core/scss/base/themes/bordered-layout.scss create mode 100644 src/@core/scss/base/themes/dark-layout.scss create mode 100644 src/@core/scss/base/themes/semi-dark-layout.scss create mode 100644 src/@core/scss/core.scss create mode 100644 src/@core/scss/react/_base-extended.scss create mode 100644 src/@core/scss/react/_dark-layout.scss create mode 100644 src/@core/scss/react/_index.scss create mode 100644 src/@core/scss/react/_rtl.scss create mode 100644 src/@core/scss/react/app-loader.scss create mode 100644 src/@core/scss/react/apps/app-calendar.scss create mode 100644 src/@core/scss/react/apps/app-email.scss create mode 100644 src/@core/scss/react/apps/app-invoice.scss create mode 100644 src/@core/scss/react/apps/app-todo.scss create mode 100644 src/@core/scss/react/apps/app-users.scss create mode 100644 src/@core/scss/react/libs/charts/apex-charts.scss create mode 100644 src/@core/scss/react/libs/charts/recharts.scss create mode 100644 src/@core/scss/react/libs/context-menu/context-menu.scss create mode 100644 src/@core/scss/react/libs/drag-and-drop/drag-and-drop.scss create mode 100644 src/@core/scss/react/libs/editor/editor.scss create mode 100644 src/@core/scss/react/libs/file-uploader/file-uploader.scss create mode 100644 src/@core/scss/react/libs/flatpickr/flatpickr.scss create mode 100644 src/@core/scss/react/libs/maps/map-leaflet.scss create mode 100644 src/@core/scss/react/libs/noui-slider/noui-slider.scss create mode 100644 src/@core/scss/react/libs/react-select/_react-select.scss create mode 100644 src/@core/scss/react/libs/shepherd-tour/shepherd-tour.scss create mode 100644 src/@core/scss/react/libs/swiper/swiper.scss create mode 100644 src/@core/scss/react/libs/tables/react-dataTable-component.scss create mode 100644 src/@core/scss/react/libs/toastify/toastify.scss create mode 100644 src/@core/scss/react/pages/page-account-settings.scss create mode 100644 src/@core/scss/react/pages/page-profile.scss create mode 100644 src/@core/scss/react/reactstrap/_carousel.scss create mode 100644 src/@core/scss/react/reactstrap/_collapse.scss create mode 100644 src/@core/scss/react/reactstrap/_dropdown.scss create mode 100644 src/@core/scss/react/reactstrap/_index.scss create mode 100644 src/@core/scss/react/reactstrap/_input.scss create mode 100644 src/@core/scss/react/reactstrap/_pagination.scss create mode 100644 src/@core/scss/react/reactstrap/_switch.scss create mode 100644 src/@core/scss/react/reactstrap/_toast.scss create mode 100644 src/@fake-db/apps/calendar.js create mode 100644 src/@fake-db/apps/chat.js create mode 100644 src/@fake-db/apps/eCommerce.js create mode 100644 src/@fake-db/apps/email.js create mode 100644 src/@fake-db/apps/invoice.js create mode 100644 src/@fake-db/apps/todo.js create mode 100644 src/@fake-db/apps/userList.js create mode 100644 src/@fake-db/autoComplete/autoComplete.js create mode 100644 src/@fake-db/cards/card-analytics.js create mode 100644 src/@fake-db/cards/card-statistics.js create mode 100644 src/@fake-db/index.js create mode 100644 src/@fake-db/jwt/index.js create mode 100644 src/@fake-db/mock.js create mode 100644 src/@fake-db/navbar/navbarSearch.js create mode 100644 src/@fake-db/pages/account-settings.js create mode 100644 src/@fake-db/pages/blog-data.js create mode 100644 src/@fake-db/pages/faq.js create mode 100644 src/@fake-db/pages/knowledge-base.js create mode 100644 src/@fake-db/pages/pricing-data.js create mode 100644 src/@fake-db/pages/profile.js create mode 100644 src/@fake-db/tables/datatables.js create mode 100644 src/@fake-db/utils.js create mode 100644 src/App.js create mode 100644 src/App.test.js create mode 100644 src/assets/data/locales/de.json create mode 100644 src/assets/data/locales/en.json create mode 100644 src/assets/data/locales/fr.json create mode 100644 src/assets/data/locales/pt.json create mode 100644 src/assets/images/avatars/1-small.png create mode 100644 src/assets/images/avatars/1.png create mode 100644 src/assets/images/avatars/10-small.png create mode 100644 src/assets/images/avatars/10.png create mode 100644 src/assets/images/avatars/11-small.png create mode 100644 src/assets/images/avatars/11.png create mode 100644 src/assets/images/avatars/12-small.png create mode 100644 src/assets/images/avatars/12.png create mode 100644 src/assets/images/avatars/2-small.png create mode 100644 src/assets/images/avatars/2.png create mode 100644 src/assets/images/avatars/3-small.png create mode 100644 src/assets/images/avatars/3.png create mode 100644 src/assets/images/avatars/4-small.png create mode 100644 src/assets/images/avatars/4.png create mode 100644 src/assets/images/avatars/5-small.png create mode 100644 src/assets/images/avatars/5.png create mode 100644 src/assets/images/avatars/6-small.png create mode 100644 src/assets/images/avatars/6.png create mode 100644 src/assets/images/avatars/7-small.png create mode 100644 src/assets/images/avatars/7.png create mode 100644 src/assets/images/avatars/8-small.png create mode 100644 src/assets/images/avatars/8.png create mode 100644 src/assets/images/avatars/9-small.png create mode 100644 src/assets/images/avatars/9.png create mode 100644 src/assets/images/avatars/avatar-blank.png create mode 100644 src/assets/images/backgrounds/chat-bg.svg create mode 100644 src/assets/images/banner/banner-1.jpg create mode 100644 src/assets/images/banner/banner-10.jpg create mode 100644 src/assets/images/banner/banner-11.jpg create mode 100644 src/assets/images/banner/banner-12.jpg create mode 100644 src/assets/images/banner/banner-13.jpg create mode 100644 src/assets/images/banner/banner-14.jpg create mode 100644 src/assets/images/banner/banner-15.jpg create mode 100644 src/assets/images/banner/banner-16.jpg create mode 100644 src/assets/images/banner/banner-17.jpg create mode 100644 src/assets/images/banner/banner-18.jpg create mode 100644 src/assets/images/banner/banner-19.jpg create mode 100644 src/assets/images/banner/banner-2.jpg create mode 100644 src/assets/images/banner/banner-20.jpg create mode 100644 src/assets/images/banner/banner-21.jpg create mode 100644 src/assets/images/banner/banner-22.jpg create mode 100644 src/assets/images/banner/banner-23.jpg create mode 100644 src/assets/images/banner/banner-24.jpg create mode 100644 src/assets/images/banner/banner-25.jpg create mode 100644 src/assets/images/banner/banner-26.jpg create mode 100644 src/assets/images/banner/banner-27.jpg create mode 100644 src/assets/images/banner/banner-28.jpg create mode 100644 src/assets/images/banner/banner-29.jpg create mode 100644 src/assets/images/banner/banner-3.jpg create mode 100644 src/assets/images/banner/banner-30.jpg create mode 100644 src/assets/images/banner/banner-31.jpg create mode 100644 src/assets/images/banner/banner-32.jpg create mode 100644 src/assets/images/banner/banner-33.jpg create mode 100644 src/assets/images/banner/banner-34.jpg create mode 100644 src/assets/images/banner/banner-35.jpg create mode 100644 src/assets/images/banner/banner-36.jpg create mode 100644 src/assets/images/banner/banner-37.jpg create mode 100644 src/assets/images/banner/banner-38.jpg create mode 100644 src/assets/images/banner/banner-39.jpg create mode 100644 src/assets/images/banner/banner-4.jpg create mode 100644 src/assets/images/banner/banner-40.jpg create mode 100644 src/assets/images/banner/banner-5.jpg create mode 100644 src/assets/images/banner/banner-6.jpg create mode 100644 src/assets/images/banner/banner-7.jpg create mode 100644 src/assets/images/banner/banner-8.jpg create mode 100644 src/assets/images/banner/banner-9.jpg create mode 100644 src/assets/images/banner/banner.png create mode 100644 src/assets/images/banner/parallax-4.jpg create mode 100644 src/assets/images/banner/upgrade.png create mode 100644 src/assets/images/dropzone/spritemap.png create mode 100644 src/assets/images/dropzone/spritemap@2x.png create mode 100644 src/assets/images/elements/apple-watch.png create mode 100644 src/assets/images/elements/beats-headphones.png create mode 100644 src/assets/images/elements/decore-left.png create mode 100644 src/assets/images/elements/decore-right.png create mode 100644 src/assets/images/elements/homepod.png create mode 100644 src/assets/images/elements/ipad-pro.png create mode 100644 src/assets/images/elements/iphone-x.png create mode 100644 src/assets/images/elements/jbl-speaker.png create mode 100644 src/assets/images/elements/macbook-pro.png create mode 100644 src/assets/images/elements/magic-mouse.png create mode 100644 src/assets/images/ico/favicon.ico create mode 100644 src/assets/images/icons/angular.svg create mode 100644 src/assets/images/icons/apple-safari.png create mode 100644 src/assets/images/icons/book.svg create mode 100644 src/assets/images/icons/bootstrap.svg create mode 100644 src/assets/images/icons/brush.svg create mode 100644 src/assets/images/icons/doc.png create mode 100644 src/assets/images/icons/drive.png create mode 100644 src/assets/images/icons/dropbox.png create mode 100644 src/assets/images/icons/figma.svg create mode 100644 src/assets/images/icons/file-icons/doc.png create mode 100644 src/assets/images/icons/file-icons/onedrive (1).png create mode 100644 src/assets/images/icons/file-icons/pdf.png create mode 100644 src/assets/images/icons/file-icons/psd.png create mode 100644 src/assets/images/icons/file-icons/sketch.png create mode 100644 src/assets/images/icons/google-chrome.png create mode 100644 src/assets/images/icons/icloud-1.png create mode 100644 src/assets/images/icons/icloud.png create mode 100644 src/assets/images/icons/internet-explorer.png create mode 100644 src/assets/images/icons/internet.png create mode 100644 src/assets/images/icons/jpg.png create mode 100644 src/assets/images/icons/js.png create mode 100644 src/assets/images/icons/json.png create mode 100644 src/assets/images/icons/mozila-firefox.png create mode 100644 src/assets/images/icons/onedrive.png create mode 100644 src/assets/images/icons/onedrivenew.png create mode 100644 src/assets/images/icons/opera.png create mode 100644 src/assets/images/icons/parachute.svg create mode 100644 src/assets/images/icons/pdf.png create mode 100644 src/assets/images/icons/psd.png create mode 100644 src/assets/images/icons/react.svg create mode 100644 src/assets/images/icons/rocket.svg create mode 100644 src/assets/images/icons/sketch.png create mode 100644 src/assets/images/icons/speaker.svg create mode 100644 src/assets/images/icons/star.svg create mode 100644 src/assets/images/icons/toolbox.svg create mode 100644 src/assets/images/icons/txt.png create mode 100644 src/assets/images/icons/unknown.png create mode 100644 src/assets/images/icons/vuejs.svg create mode 100644 src/assets/images/icons/xls.png create mode 100644 src/assets/images/illustration/Pot1.svg create mode 100644 src/assets/images/illustration/Pot2.svg create mode 100644 src/assets/images/illustration/Pot3.svg create mode 100644 src/assets/images/illustration/api.svg create mode 100644 src/assets/images/illustration/badge.svg create mode 100644 src/assets/images/illustration/demand.svg create mode 100644 src/assets/images/illustration/email.svg create mode 100644 src/assets/images/illustration/faq-illustrations.svg create mode 100644 src/assets/images/illustration/marketing.svg create mode 100644 src/assets/images/illustration/personalization.svg create mode 100644 src/assets/images/illustration/pricing-Illustration.svg create mode 100644 src/assets/images/illustration/sales.svg create mode 100644 src/assets/images/jstree/themes/default-dark/32px.png create mode 100644 src/assets/images/jstree/themes/default-dark/40px.png create mode 100644 src/assets/images/jstree/themes/default-dark/throbber.gif create mode 100644 src/assets/images/jstree/themes/default/32px.png create mode 100644 src/assets/images/jstree/themes/default/40px.png create mode 100644 src/assets/images/jstree/themes/default/throbber.gif create mode 100644 src/assets/images/logo/favicon.ico create mode 100644 src/assets/images/logo/logo-danger.png create mode 100644 src/assets/images/logo/logo-dark.png create mode 100644 src/assets/images/logo/logo-info.png create mode 100644 src/assets/images/logo/logo-primary.png create mode 100644 src/assets/images/logo/logo-success.png create mode 100644 src/assets/images/logo/logo-warning.png create mode 100644 src/assets/images/logo/logo.png create mode 100644 src/assets/images/logo/logo.svg create mode 100644 src/assets/images/logo/logo2.png create mode 100644 src/assets/images/logo/old/favicon.ico create mode 100644 src/assets/images/logo/old/logo-danger.png create mode 100644 src/assets/images/logo/old/logo-dark.png create mode 100644 src/assets/images/logo/old/logo-info.png create mode 100644 src/assets/images/logo/old/logo-primary.png create mode 100644 src/assets/images/logo/old/logo-success.png create mode 100644 src/assets/images/logo/old/logo-warning.png create mode 100644 src/assets/images/logo/old/logo.svg create mode 100644 src/assets/images/logo/old/logo1.png create mode 100644 src/assets/images/logo/old/vuexy-logo.png create mode 100644 src/assets/images/logo/vuexy-logo.png create mode 100644 src/assets/images/misc/leaf-green.png create mode 100644 src/assets/images/misc/leaf-orange.png create mode 100644 src/assets/images/misc/leaf-red.png create mode 100644 src/assets/images/misc/leaf-shadow.png create mode 100644 src/assets/images/pages/1-apex.png create mode 100644 src/assets/images/pages/2-stack.png create mode 100644 src/assets/images/pages/3-convex.png create mode 100644 src/assets/images/pages/4-materialize.png create mode 100644 src/assets/images/pages/404.png create mode 100644 src/assets/images/pages/500.png create mode 100644 src/assets/images/pages/arrow-down.png create mode 100644 src/assets/images/pages/auth-v1-bottom-bg.png create mode 100644 src/assets/images/pages/auth-v1-top-bg.png create mode 100644 src/assets/images/pages/calendar-illustration.png create mode 100644 src/assets/images/pages/card-image-4.jpg create mode 100644 src/assets/images/pages/card-image-5.jpg create mode 100644 src/assets/images/pages/card-image-6.jpg create mode 100644 src/assets/images/pages/card-img-overlay.jpg create mode 100644 src/assets/images/pages/carousel/faq.jpg create mode 100644 src/assets/images/pages/carousel/login1.png create mode 100644 src/assets/images/pages/carousel/logout.PNG create mode 100644 src/assets/images/pages/carousel/register.PNG create mode 100644 src/assets/images/pages/carousel/user.PNG create mode 100644 src/assets/images/pages/coming-soon-dark.svg create mode 100644 src/assets/images/pages/coming-soon.svg create mode 100644 src/assets/images/pages/content-img-1.jpg create mode 100644 src/assets/images/pages/content-img-2.jpg create mode 100644 src/assets/images/pages/content-img-3.jpg create mode 100644 src/assets/images/pages/content-img-4.jpg create mode 100644 src/assets/images/pages/eCommerce/1.png create mode 100644 src/assets/images/pages/eCommerce/10.png create mode 100644 src/assets/images/pages/eCommerce/11.png create mode 100644 src/assets/images/pages/eCommerce/12.png create mode 100644 src/assets/images/pages/eCommerce/13.png create mode 100644 src/assets/images/pages/eCommerce/14.png create mode 100644 src/assets/images/pages/eCommerce/15.png create mode 100644 src/assets/images/pages/eCommerce/16.png create mode 100644 src/assets/images/pages/eCommerce/17.png create mode 100644 src/assets/images/pages/eCommerce/18.png create mode 100644 src/assets/images/pages/eCommerce/19.png create mode 100644 src/assets/images/pages/eCommerce/2.png create mode 100644 src/assets/images/pages/eCommerce/20.png create mode 100644 src/assets/images/pages/eCommerce/21.png create mode 100644 src/assets/images/pages/eCommerce/22.png create mode 100644 src/assets/images/pages/eCommerce/23.png create mode 100644 src/assets/images/pages/eCommerce/24.png create mode 100644 src/assets/images/pages/eCommerce/25.png create mode 100644 src/assets/images/pages/eCommerce/26.png create mode 100644 src/assets/images/pages/eCommerce/27.png create mode 100644 src/assets/images/pages/eCommerce/3.png create mode 100644 src/assets/images/pages/eCommerce/4.png create mode 100644 src/assets/images/pages/eCommerce/5.png create mode 100644 src/assets/images/pages/eCommerce/6.png create mode 100644 src/assets/images/pages/eCommerce/7.png create mode 100644 src/assets/images/pages/eCommerce/8.png create mode 100644 src/assets/images/pages/eCommerce/9.png create mode 100644 src/assets/images/pages/eCommerce/alienware-laptop.jpg create mode 100644 src/assets/images/pages/eCommerce/amazon-chromecast.jpg create mode 100644 src/assets/images/pages/eCommerce/amazon-echodot.jpg create mode 100644 src/assets/images/pages/eCommerce/amazon-firestick.jpg create mode 100644 src/assets/images/pages/eCommerce/amazon-google-home.jpg create mode 100644 src/assets/images/pages/eCommerce/apple-Imac.jpg create mode 100644 src/assets/images/pages/eCommerce/apple-ear-pods.jpg create mode 100644 src/assets/images/pages/eCommerce/apple-macbook.jpg create mode 100644 src/assets/images/pages/eCommerce/asus-desktop.jpg create mode 100644 src/assets/images/pages/eCommerce/bank.png create mode 100644 src/assets/images/pages/eCommerce/bower-and-wilkins-speaker.jpg create mode 100644 src/assets/images/pages/eCommerce/canon-camera.jpg create mode 100644 src/assets/images/pages/eCommerce/dell-inspirion.jpg create mode 100644 src/assets/images/pages/eCommerce/garmin-watch.jpg create mode 100644 src/assets/images/pages/eCommerce/garmin-watch2.jpg create mode 100644 src/assets/images/pages/eCommerce/phillips-smart-led.jpg create mode 100644 src/assets/images/pages/eCommerce/samsung-fridge.jpg create mode 100644 src/assets/images/pages/eCommerce/sharp-50.jpg create mode 100644 src/assets/images/pages/eCommerce/sony-75class-tv.jpg create mode 100644 src/assets/images/pages/eCommerce/sony-headphones.jpg create mode 100644 src/assets/images/pages/error-dark.svg create mode 100644 src/assets/images/pages/error.svg create mode 100644 src/assets/images/pages/faq.jpg create mode 100644 src/assets/images/pages/forgot-password-v2-dark.svg create mode 100644 src/assets/images/pages/forgot-password-v2.svg create mode 100644 src/assets/images/pages/forgot-password.png create mode 100644 src/assets/images/pages/graphic-1.png create mode 100644 src/assets/images/pages/graphic-2.png create mode 100644 src/assets/images/pages/graphic-3.png create mode 100644 src/assets/images/pages/graphic-4.png create mode 100644 src/assets/images/pages/graphic-5.png create mode 100644 src/assets/images/pages/graphic-6.png create mode 100644 src/assets/images/pages/kb-article.jpg create mode 100644 src/assets/images/pages/kb-image.jpg create mode 100644 src/assets/images/pages/knowledge-base-cover.jpg create mode 100644 src/assets/images/pages/lock-screen.png create mode 100644 src/assets/images/pages/login-v2-dark.svg create mode 100644 src/assets/images/pages/login-v2.svg create mode 100644 src/assets/images/pages/login.png create mode 100644 src/assets/images/pages/login/facebook.svg create mode 100644 src/assets/images/pages/login/github.svg create mode 100644 src/assets/images/pages/login/google.svg create mode 100644 src/assets/images/pages/login/twitter.svg create mode 100644 src/assets/images/pages/maintenance-2.png create mode 100644 src/assets/images/pages/maintenance.png create mode 100644 src/assets/images/pages/modern.jpg create mode 100644 src/assets/images/pages/not-authorized-dark.svg create mode 100644 src/assets/images/pages/not-authorized.png create mode 100644 src/assets/images/pages/not-authorized.svg create mode 100644 src/assets/images/pages/pixinvent-logo.png create mode 100644 src/assets/images/pages/register-v2-dark.svg create mode 100644 src/assets/images/pages/register-v2.svg create mode 100644 src/assets/images/pages/register.jpg create mode 100644 src/assets/images/pages/reset-password-v2-dark.svg create mode 100644 src/assets/images/pages/reset-password-v2.svg create mode 100644 src/assets/images/pages/reset-password.png create mode 100644 src/assets/images/pages/rocket.png create mode 100644 src/assets/images/pages/search-result.jpg create mode 100644 src/assets/images/pages/under-maintenance-dark.svg create mode 100644 src/assets/images/pages/under-maintenance.svg create mode 100644 src/assets/images/pages/video-poster.jpg create mode 100644 src/assets/images/pages/vuexy-login-bg.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-1.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-10.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-11.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-12.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-13.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-14.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-15.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-16.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-17.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-18.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-19.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-2.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-20.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-21.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-22.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-23.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-24.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-25.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-26.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-3.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-4.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-5.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-6.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-7.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-8.jpg create mode 100644 src/assets/images/portrait/small/avatar-s-9.jpg create mode 100644 src/assets/images/profile/pages/page-01.jpg create mode 100644 src/assets/images/profile/pages/page-02.jpg create mode 100644 src/assets/images/profile/pages/page-03.jpg create mode 100644 src/assets/images/profile/pages/page-04.jpg create mode 100644 src/assets/images/profile/pages/page-05.jpg create mode 100644 src/assets/images/profile/pages/page-06.jpg create mode 100644 src/assets/images/profile/pages/page-07.jpg create mode 100644 src/assets/images/profile/pages/page-08.jpg create mode 100644 src/assets/images/profile/pages/page-09.jpg create mode 100644 src/assets/images/profile/post-media/2.jpg create mode 100644 src/assets/images/profile/post-media/25.jpg create mode 100644 src/assets/images/profile/user-uploads/timeline.jpg create mode 100644 src/assets/images/profile/user-uploads/user-01.jpg create mode 100644 src/assets/images/profile/user-uploads/user-02.jpg create mode 100644 src/assets/images/profile/user-uploads/user-03.jpg create mode 100644 src/assets/images/profile/user-uploads/user-04.jpg create mode 100644 src/assets/images/profile/user-uploads/user-05.jpg create mode 100644 src/assets/images/profile/user-uploads/user-06.jpg create mode 100644 src/assets/images/profile/user-uploads/user-07.jpg create mode 100644 src/assets/images/profile/user-uploads/user-08.jpg create mode 100644 src/assets/images/profile/user-uploads/user-09.jpg create mode 100644 src/assets/images/profile/user-uploads/user-10.jpg create mode 100644 src/assets/images/profile/user-uploads/user-11.jpg create mode 100644 src/assets/images/profile/user-uploads/user-12.jpg create mode 100644 src/assets/images/profile/user-uploads/user-13.jpg create mode 100644 src/assets/images/raty/star-half-2.png create mode 100644 src/assets/images/raty/star-on-2.png create mode 100644 src/assets/images/slider/01.jpg create mode 100644 src/assets/images/slider/02.jpg create mode 100644 src/assets/images/slider/03.jpg create mode 100644 src/assets/images/slider/04.jpg create mode 100644 src/assets/images/slider/05.jpg create mode 100644 src/assets/images/slider/06.jpg create mode 100644 src/assets/images/slider/07.jpg create mode 100644 src/assets/images/slider/08.jpg create mode 100644 src/assets/images/slider/09.jpg create mode 100644 src/assets/images/slider/10.jpg create mode 100644 src/assets/images/svg/google.svg create mode 100644 src/assets/images/svg/map-marker-2.png create mode 100644 src/assets/images/svg/map-marker-3.png create mode 100644 src/assets/images/svg/map-marker.png create mode 100644 src/assets/images/svg/transparent.svg create mode 100644 src/assets/scss/style-rtl.scss create mode 100644 src/assets/scss/style.scss create mode 100644 src/assets/scss/variables/_variables-components.scss create mode 100644 src/assets/scss/variables/_variables.scss create mode 100644 src/auth/jwt/useJwt.js create mode 100644 src/auth/utils.js create mode 100644 src/configs/acl/ability.js create mode 100644 src/configs/acl/initialAbility.js create mode 100644 src/configs/themeConfig.js create mode 100644 src/history.js create mode 100644 src/index.js create mode 100644 src/index.scss create mode 100644 src/layouts/HorizontalLayout.js create mode 100644 src/layouts/components/Footer.js create mode 100644 src/layouts/components/Menu.js create mode 100644 src/layouts/components/Navbar.js create mode 100644 src/navigation/horizontal/apps.js create mode 100644 src/navigation/horizontal/dashboards.js create mode 100644 src/navigation/horizontal/index.js create mode 100644 src/redux/actions/auth/index.js create mode 100644 src/redux/actions/layout/index.js create mode 100644 src/redux/actions/navbar/index.js create mode 100644 src/redux/reducers/auth/index.js create mode 100644 src/redux/reducers/layout/index.js create mode 100644 src/redux/reducers/navbar/index.js create mode 100644 src/redux/reducers/rootReducer.js create mode 100644 src/redux/storeConfig/store.js create mode 100644 src/router/Router.js create mode 100644 src/router/routes/Pages.js create mode 100644 src/router/routes/index.js create mode 100644 src/serviceWorker.js create mode 100644 src/utility/Utils.js create mode 100644 src/utility/context/Can.js create mode 100644 src/utility/context/Internationalization.js create mode 100644 src/utility/context/ThemeColors.js create mode 100644 src/utility/hooks/useFooterType.js create mode 100644 src/utility/hooks/useLayout.js create mode 100644 src/utility/hooks/useNavbarColor.js create mode 100644 src/utility/hooks/useNavbarType.js create mode 100644 src/utility/hooks/useOnClickOutside.js create mode 100644 src/utility/hooks/useRTL.js create mode 100644 src/utility/hooks/useRouterTransition.js create mode 100644 src/utility/hooks/useSkin.js create mode 100644 src/views/apps/account/AccountView.js create mode 100644 src/views/apps/account/ContactSidebar.js create mode 100644 src/views/apps/account/Contacts.js create mode 100644 src/views/apps/account/Notes.js create mode 100644 src/views/apps/account/TaskSidebar.js create mode 100644 src/views/apps/account/Tasks.js create mode 100644 src/views/apps/account/timeline/index.js create mode 100644 src/views/apps/activityTree/ActivitySidebar.js create mode 100644 src/views/apps/activityTree/ActivityTree.js create mode 100644 src/views/apps/activityTree/TreeTest.js create mode 100644 src/views/apps/company/edit/Account.js create mode 100644 src/views/apps/company/edit/Information.js create mode 100644 src/views/apps/company/edit/Social.js create mode 100644 src/views/apps/company/edit/index.js create mode 100644 src/views/apps/company/list/Sidebar.js create mode 100644 src/views/apps/company/list/Table.js create mode 100644 src/views/apps/company/list/columns.js create mode 100644 src/views/apps/company/list/index.js create mode 100644 src/views/apps/company/store/action/index.js create mode 100644 src/views/apps/company/store/reducer/index.js create mode 100644 src/views/apps/company/view/PermissionsTable.js create mode 100644 src/views/apps/company/view/PlanCard.js create mode 100644 src/views/apps/company/view/UserInfoCard.js create mode 100644 src/views/apps/company/view/UserTimeline.js create mode 100644 src/views/apps/company/view/index.js create mode 100644 src/views/apps/invoice/add/AddActions.js create mode 100644 src/views/apps/invoice/add/AddCard.js create mode 100644 src/views/apps/invoice/add/index.js create mode 100644 src/views/apps/invoice/edit/EditActions.js create mode 100644 src/views/apps/invoice/edit/EditCard.js create mode 100644 src/views/apps/invoice/edit/index.js create mode 100644 src/views/apps/invoice/list/SearchFilter.js create mode 100644 src/views/apps/invoice/list/Sidebar.js create mode 100644 src/views/apps/invoice/list/columns.js create mode 100644 src/views/apps/invoice/list/index.js create mode 100644 src/views/apps/invoice/preview/PreviewActions.js create mode 100644 src/views/apps/invoice/preview/PreviewCard.js create mode 100644 src/views/apps/invoice/preview/index.js create mode 100644 src/views/apps/invoice/print/index.js create mode 100644 src/views/apps/invoice/shared-sidebar/SidebarAddPayment.js create mode 100644 src/views/apps/invoice/shared-sidebar/SidebarSendInvoice.js create mode 100644 src/views/apps/invoice/store/actions/index.js create mode 100644 src/views/apps/invoice/store/reducer/index.js create mode 100644 src/views/apps/todo/Sidebar.js create mode 100644 src/views/apps/todo/TaskSidebar.js create mode 100644 src/views/apps/todo/Tasks.js create mode 100644 src/views/apps/todo/index.js create mode 100644 src/views/apps/todo/store/actions/index.js create mode 100644 src/views/apps/todo/store/reducer/index.js create mode 100644 src/views/apps/user/edit/Account.js create mode 100644 src/views/apps/user/edit/Information.js create mode 100644 src/views/apps/user/edit/Social.js create mode 100644 src/views/apps/user/edit/index.js create mode 100644 src/views/apps/user/list/Sidebar.js create mode 100644 src/views/apps/user/list/Table.js create mode 100644 src/views/apps/user/list/columns.js create mode 100644 src/views/apps/user/list/index.js create mode 100644 src/views/apps/user/store/action/index.js create mode 100644 src/views/apps/user/store/reducer/index.js create mode 100644 src/views/apps/user/view/PermissionsTable.js create mode 100644 src/views/apps/user/view/PlanCard.js create mode 100644 src/views/apps/user/view/UserInfoCard.js create mode 100644 src/views/apps/user/view/UserTimeline.js create mode 100644 src/views/apps/user/view/index.js create mode 100644 src/views/extensions/access-control/index.js create mode 100644 src/views/extensions/context-menu/ContextMenuAnimation.js create mode 100644 src/views/extensions/context-menu/ContextMenuBasic.js create mode 100644 src/views/extensions/context-menu/ContextMenuDoubleClick.js create mode 100644 src/views/extensions/context-menu/ContextMenuLeftClick.js create mode 100644 src/views/extensions/context-menu/ContextSubmenu.js create mode 100644 src/views/extensions/context-menu/index.js create mode 100644 src/views/extensions/copy-to-clipboard/index.js create mode 100644 src/views/extensions/drag-and-drop/DndCards.js create mode 100644 src/views/extensions/drag-and-drop/DndClone.js create mode 100644 src/views/extensions/drag-and-drop/DndHandle.js create mode 100644 src/views/extensions/drag-and-drop/DndListGroup.js create mode 100644 src/views/extensions/drag-and-drop/DndMultiDrag.js create mode 100644 src/views/extensions/drag-and-drop/DndMultiple.js create mode 100644 src/views/extensions/drag-and-drop/index.js create mode 100644 src/views/extensions/i18n/index.js create mode 100644 src/views/extensions/import-export/Export.js create mode 100644 src/views/extensions/import-export/ExportSelected.js create mode 100644 src/views/extensions/import-export/Import.js create mode 100644 src/views/extensions/pagination/BasicPagination.js create mode 100644 src/views/extensions/pagination/PaginationDanger.js create mode 100644 src/views/extensions/pagination/PaginationIcon.js create mode 100644 src/views/extensions/pagination/PaginationIconText.js create mode 100644 src/views/extensions/pagination/PaginationInfo.js create mode 100644 src/views/extensions/pagination/PaginationPositions.js create mode 100644 src/views/extensions/pagination/PaginationSizes.js create mode 100644 src/views/extensions/pagination/PaginationSuccess.js create mode 100644 src/views/extensions/pagination/PaginationWarning.js create mode 100644 src/views/extensions/pagination/SepratedPagination.js create mode 100644 src/views/extensions/pagination/index.js create mode 100644 src/views/extensions/ratings/RatingBasic.js create mode 100644 src/views/extensions/ratings/RatingControlled.js create mode 100644 src/views/extensions/ratings/RatingCustomSvg.js create mode 100644 src/views/extensions/ratings/RatingEvents.js create mode 100644 src/views/extensions/ratings/RatingFractional.js create mode 100644 src/views/extensions/ratings/RatingNumbers.js create mode 100644 src/views/extensions/ratings/RatingReadOnly.js create mode 100644 src/views/extensions/ratings/RatingSizes.js create mode 100644 src/views/extensions/ratings/RatingsHover.js create mode 100644 src/views/extensions/ratings/index.js create mode 100644 src/views/extensions/react-player/MediaPlayerAudio.js create mode 100644 src/views/extensions/react-player/MediaPlayerControlled.js create mode 100644 src/views/extensions/react-player/MediaPlayerVideo.js create mode 100644 src/views/extensions/react-player/index.js create mode 100644 src/views/extensions/sliders/SliderBehaviour.js create mode 100644 src/views/extensions/sliders/SliderColors.js create mode 100644 src/views/extensions/sliders/SliderConnectUpper.js create mode 100644 src/views/extensions/sliders/SliderScalePips.js create mode 100644 src/views/extensions/sliders/SliderValues.js create mode 100644 src/views/extensions/sliders/SliderVertical.js create mode 100644 src/views/extensions/sliders/SliderVerticalLimit.js create mode 100644 src/views/extensions/sliders/SliderVerticalTooltips.js create mode 100644 src/views/extensions/sliders/SliderWithInput.js create mode 100644 src/views/extensions/sliders/SlidersBootstrap.js create mode 100644 src/views/extensions/sliders/index.js create mode 100644 src/views/extensions/sweet-alert/SweetAlertAnimations.js create mode 100644 src/views/extensions/sweet-alert/SweetAlertBasic.js create mode 100644 src/views/extensions/sweet-alert/SweetAlertCallback.js create mode 100644 src/views/extensions/sweet-alert/SweetAlertOptions.js create mode 100644 src/views/extensions/sweet-alert/SweetAlertPositions.js create mode 100644 src/views/extensions/sweet-alert/SweetAlertTypes.js create mode 100644 src/views/extensions/sweet-alert/index.js create mode 100644 src/views/extensions/swiper/3DEffect.js create mode 100644 src/views/extensions/swiper/CenteredSlidesStyle1.js create mode 100644 src/views/extensions/swiper/CenteredSlidesStyle2.js create mode 100644 src/views/extensions/swiper/SwiperAutoplay.js create mode 100644 src/views/extensions/swiper/SwiperCoverflow.js create mode 100644 src/views/extensions/swiper/SwiperDefault.js create mode 100644 src/views/extensions/swiper/SwiperFade.js create mode 100644 src/views/extensions/swiper/SwiperGallery.js create mode 100644 src/views/extensions/swiper/SwiperLazyload.js create mode 100644 src/views/extensions/swiper/SwiperMultiSlides.js create mode 100644 src/views/extensions/swiper/SwiperNavigation.js create mode 100644 src/views/extensions/swiper/SwiperPagination.js create mode 100644 src/views/extensions/swiper/SwiperProgress.js create mode 100644 src/views/extensions/swiper/SwiperResponsive.js create mode 100644 src/views/extensions/swiper/SwiperRows.js create mode 100644 src/views/extensions/swiper/SwiperVirtual.js create mode 100644 src/views/extensions/swiper/index.js create mode 100644 src/views/extensions/toastify/ToastPositions.js create mode 100644 src/views/extensions/toastify/ToastTypes.js create mode 100644 src/views/extensions/toastify/ToastifyOptions.js create mode 100644 src/views/extensions/toastify/ToastrAnimations.js create mode 100644 src/views/extensions/toastify/index.js create mode 100644 src/views/extensions/tour/index.js create mode 100644 src/views/pages/account-settings/GeneralTabContent.js create mode 100644 src/views/pages/account-settings/InfoTabContent.js create mode 100644 src/views/pages/account-settings/NotificationsTabContent.js create mode 100644 src/views/pages/account-settings/PasswordTabContent.js create mode 100644 src/views/pages/account-settings/SocialTabContent.js create mode 100644 src/views/pages/account-settings/Tabs.js create mode 100644 src/views/pages/account-settings/index.js create mode 100644 src/views/pages/authentication/ForgotPassword.js create mode 100644 src/views/pages/authentication/Login.js create mode 100644 src/views/pages/authentication/Register.js create mode 100644 src/views/pages/authentication/ResetPasswordV1.js create mode 100644 src/views/pages/faq/FaqContact.js create mode 100644 src/views/pages/faq/FaqFilter.js create mode 100644 src/views/pages/faq/Faqs.js create mode 100644 src/views/pages/faq/index.js create mode 100644 src/views/pages/misc/ComingSoon.js create mode 100644 src/views/pages/misc/Error.js create mode 100644 src/views/pages/misc/Maintenance.js create mode 100644 src/views/pages/misc/NotAuthorized.js create mode 100644 src/views/pages/profile/ProfileAbout.js create mode 100644 src/views/pages/profile/ProfileFriendsSuggestions.js create mode 100644 src/views/pages/profile/ProfileHeader.js create mode 100644 src/views/pages/profile/ProfileLatestPhotos.js create mode 100644 src/views/pages/profile/ProfilePolls.js create mode 100644 src/views/pages/profile/ProfilePosts.js create mode 100644 src/views/pages/profile/ProfileSuggestedPages.js create mode 100644 src/views/pages/profile/ProfileTwitterFeeds.js create mode 100644 src/views/pages/profile/index.js create mode 100644 src/views/tables/data-tables/advance/TableAdvSearch.js create mode 100644 src/views/tables/data-tables/advance/TableServerSide.js create mode 100644 src/views/tables/data-tables/advance/index.js create mode 100644 src/views/tables/data-tables/basic/AddNewModal.js create mode 100644 src/views/tables/data-tables/basic/TableExpandable.js create mode 100644 src/views/tables/data-tables/basic/TableMultilingual.js create mode 100644 src/views/tables/data-tables/basic/TableWithButtons.js create mode 100644 src/views/tables/data-tables/basic/TableZeroConfig.js create mode 100644 src/views/tables/data-tables/basic/index.js create mode 100644 src/views/tables/data-tables/data.js create mode 100644 src/views/tables/data-tables/store/actions/index.js create mode 100644 src/views/tables/data-tables/store/reducer/index.js create mode 100644 src/views/tables/reactstrap/TableBasic.js create mode 100644 src/views/tables/reactstrap/TableBordered.js create mode 100644 src/views/tables/reactstrap/TableBorderless.js create mode 100644 src/views/tables/reactstrap/TableContextual.js create mode 100644 src/views/tables/reactstrap/TableDark.js create mode 100644 src/views/tables/reactstrap/TableHover.js create mode 100644 src/views/tables/reactstrap/TableHoverAnimation.js create mode 100644 src/views/tables/reactstrap/TableResponsive.js create mode 100644 src/views/tables/reactstrap/TableSmall.js create mode 100644 src/views/tables/reactstrap/TableSourceCode.js create mode 100644 src/views/tables/reactstrap/TableStriped.js create mode 100644 src/views/tables/reactstrap/TableStripedDark.js create mode 100644 src/views/tables/reactstrap/TableTheadDark.js create mode 100644 src/views/tables/reactstrap/TableTheadLight.js create mode 100644 src/views/tables/reactstrap/index.js create mode 100644 src/views/ui-elements/cards/actions/index.js create mode 100644 src/views/ui-elements/cards/advance/CardAppDesign.js create mode 100644 src/views/ui-elements/cards/advance/CardBrowserState.js create mode 100644 src/views/ui-elements/cards/advance/CardBusiness.js create mode 100644 src/views/ui-elements/cards/advance/CardChat.js create mode 100644 src/views/ui-elements/cards/advance/CardCongratulations.js create mode 100644 src/views/ui-elements/cards/advance/CardEmployeesTask.js create mode 100644 src/views/ui-elements/cards/advance/CardJob.js create mode 100644 src/views/ui-elements/cards/advance/CardMedal.js create mode 100644 src/views/ui-elements/cards/advance/CardMeetup.js create mode 100644 src/views/ui-elements/cards/advance/CardPayment.js create mode 100644 src/views/ui-elements/cards/advance/CardProfile.js create mode 100644 src/views/ui-elements/cards/advance/CardTransactions.js create mode 100644 src/views/ui-elements/cards/advance/CardUserTimeline.js create mode 100644 src/views/ui-elements/cards/advance/index.js create mode 100644 src/views/ui-elements/cards/analytics/AvgSessions.js create mode 100644 src/views/ui-elements/cards/analytics/Customers.js create mode 100644 src/views/ui-elements/cards/analytics/Earnings.js create mode 100644 src/views/ui-elements/cards/analytics/GoalOverview.js create mode 100644 src/views/ui-elements/cards/analytics/ProductOrders.js create mode 100644 src/views/ui-elements/cards/analytics/Revenue.js create mode 100644 src/views/ui-elements/cards/analytics/RevenueReport.js create mode 100644 src/views/ui-elements/cards/analytics/Sales.js create mode 100644 src/views/ui-elements/cards/analytics/Sales2.js create mode 100644 src/views/ui-elements/cards/analytics/SessionByDevice.js create mode 100644 src/views/ui-elements/cards/analytics/SupportTracker.js create mode 100644 src/views/ui-elements/cards/analytics/index.js create mode 100644 src/views/ui-elements/cards/basic/CardColumns.js create mode 100644 src/views/ui-elements/cards/basic/CardContentTypes.js create mode 100644 src/views/ui-elements/cards/basic/CardDeck.js create mode 100644 src/views/ui-elements/cards/basic/CardGroup.js create mode 100644 src/views/ui-elements/cards/basic/CardHeaderFooter.js create mode 100644 src/views/ui-elements/cards/basic/CardImages.js create mode 100644 src/views/ui-elements/cards/basic/CardLayout.js create mode 100644 src/views/ui-elements/cards/basic/CardNavigation.js create mode 100644 src/views/ui-elements/cards/basic/CardStyleVariation.js create mode 100644 src/views/ui-elements/cards/basic/CardTextAlignment.js create mode 100644 src/views/ui-elements/cards/basic/CardTitles.js create mode 100644 src/views/ui-elements/cards/basic/index.js create mode 100644 src/views/ui-elements/cards/statistics/ActiveUsers.js create mode 100644 src/views/ui-elements/cards/statistics/Newsletter.js create mode 100644 src/views/ui-elements/cards/statistics/OrdersBarChart.js create mode 100644 src/views/ui-elements/cards/statistics/OrdersReceived.js create mode 100644 src/views/ui-elements/cards/statistics/ProfitLineChart.js create mode 100644 src/views/ui-elements/cards/statistics/QuaterlySales.js create mode 100644 src/views/ui-elements/cards/statistics/RevenueGenerated.js create mode 100644 src/views/ui-elements/cards/statistics/SiteTraffic.js create mode 100644 src/views/ui-elements/cards/statistics/StatsCard.js create mode 100644 src/views/ui-elements/cards/statistics/SubscribersGained.js create mode 100644 src/views/ui-elements/cards/statistics/index.js create mode 100644 src/views/ui-elements/colors/DefaultColors.js create mode 100644 src/views/ui-elements/colors/GradientColors.js create mode 100644 src/views/ui-elements/colors/index.js create mode 100644 src/views/ui-elements/icons/index.js create mode 100644 src/views/ui-elements/page-layouts/BoxedLayout.js create mode 100644 src/views/ui-elements/page-layouts/CollapsedMenu.js create mode 100644 src/views/ui-elements/page-layouts/LayoutBlank.js create mode 100644 src/views/ui-elements/page-layouts/LayoutEmpty.js create mode 100644 src/views/ui-elements/page-layouts/WithoutMenu.js create mode 100644 src/views/ui-elements/typography/BlockquoteDefault.js create mode 100644 src/views/ui-elements/typography/BlockquoteStyling.js create mode 100644 src/views/ui-elements/typography/BlockquotesAvatar.js create mode 100644 src/views/ui-elements/typography/CustomizingHeadings.js create mode 100644 src/views/ui-elements/typography/DescriptionList.js create mode 100644 src/views/ui-elements/typography/DescriptionListText.js create mode 100644 src/views/ui-elements/typography/DescriptionListVertical.js create mode 100644 src/views/ui-elements/typography/DisplayHeadings.js create mode 100644 src/views/ui-elements/typography/HTMLHeadings.js create mode 100644 src/views/ui-elements/typography/HeadingColors.js create mode 100644 src/views/ui-elements/typography/LightBoldHeadings.js create mode 100644 src/views/ui-elements/typography/ListIcons.js create mode 100644 src/views/ui-elements/typography/ListInline.js create mode 100644 src/views/ui-elements/typography/ListOrdered.js create mode 100644 src/views/ui-elements/typography/ListUnordered.js create mode 100644 src/views/ui-elements/typography/ListUnstyled.js create mode 100644 src/views/ui-elements/typography/NamingSource.js create mode 100644 src/views/ui-elements/typography/index.js create mode 100644 yarn.lock diff --git a/.env b/.env new file mode 100644 index 0000000..9aa7d4d --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +SKIP_PREFLIGHT_CHECK=true +REACT_APP_BASENAME= "" +REACT_APP_BASE_URL = 'https://stagingapi.dexpro.io/api/v1/' diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..91f347b --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,82 @@ +module.exports = { + env: { + node: true, + es6: true, + browser: true + }, + + parserOptions: { + ecmaVersion: 6, + sourceType: 'module', + ecmaFeatures: { + jsx: true, + modules: true, + experimentalObjectRestSpread: true + } + }, + rules: { + 'no-console': 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + + // Best Practices + eqeqeq: 'error', + 'no-invalid-this': 'error', + 'no-return-assign': 'error', + 'no-unused-expressions': ['error', { allowTernary: true }], + 'no-useless-concat': 'error', + 'no-useless-return': 'error', + + // Variable + // 'init-declarations': 'error', + 'no-use-before-define': 'error', + + // Stylistic Issues + 'array-bracket-newline': ['error', { multiline: true, minItems: null }], + 'array-bracket-spacing': 'error', + 'brace-style': ['error', '1tbs', { allowSingleLine: true }], + 'block-spacing': 'error', + 'comma-dangle': 'error', + 'comma-spacing': 'error', + 'comma-style': 'error', + 'computed-property-spacing': 'error', + 'func-call-spacing': 'error', + 'implicit-arrow-linebreak': ['error', 'beside'], + // indent: ['error', 4], + 'keyword-spacing': 'error', + 'multiline-ternary': ['error', 'never'], + // 'no-lonely-if': 'error', + 'no-mixed-operators': 'error', + 'no-multiple-empty-lines': ['error', { max: 2, maxEOF: 1 }], + 'no-tabs': 'error', + 'no-unneeded-ternary': 'error', + 'no-whitespace-before-property': 'error', + 'nonblock-statement-body-position': 'error', + 'object-property-newline': ['error', { allowAllPropertiesOnSameLine: true }], + 'quote-props': ['error', 'as-needed'], + // quotes: ['error', 'prefer-single'], + semi: ['error', 'never'], + 'semi-spacing': 'error', + 'space-before-blocks': 'error', + // 'space-before-function-paren': 'error', + 'space-in-parens': 'error', + 'space-infix-ops': 'error', + 'space-unary-ops': 'error', + + // ES6 + 'arrow-spacing': 'error', + 'no-confusing-arrow': 'error', + 'no-duplicate-imports': 'error', + 'no-var': 'error', + 'object-shorthand': 'error', + 'prefer-const': 'error', + 'prefer-template': 'error' + } + + // rules: { + // 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + // 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + // semi: ['error', 'never'], + // 'max-len': 'off', + // camelcase: ['error', { properties: 'never', ignoreDestructuring: true, ignoreImports: true }] + // } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d29575 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/config-overrides.js b/config-overrides.js new file mode 100644 index 0000000..3aa63f7 --- /dev/null +++ b/config-overrides.js @@ -0,0 +1,38 @@ +const SassRuleRewire = require('react-app-rewire-sass-rule') +const path = require('path') +const rewireAliases = require('react-app-rewire-aliases') + +module.exports = function override(config, env) { + require('react-app-rewire-postcss')(config, { + plugins: loader => [require('postcss-rtl')()] + }) + + config = rewireAliases.aliasesOptions({ + '@src': path.resolve(__dirname, 'src'), + '@assets': path.resolve(__dirname, 'src/@core/assets'), + '@components': path.resolve(__dirname, 'src/@core/components'), + '@layouts': path.resolve(__dirname, 'src/@core/layouts'), + '@store': path.resolve(__dirname, 'src/redux'), + '@styles': path.resolve(__dirname, 'src/@core/scss'), + '@configs': path.resolve(__dirname, 'src/configs'), + '@utils': path.resolve(__dirname, 'src/utility/Utils'), + '@hooks': path.resolve(__dirname, 'src/utility/hooks') + })(config, env) + + config = new SassRuleRewire() + .withRuleOptions({ + test: /\.s[ac]ss$/i, + use: [ + { + loader: 'sass-loader', + options: { + sassOptions: { + includePaths: ['node_modules', 'src/assets'] + } + } + } + ] + }) + .rewire(config, env) + return config +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..500e3be --- /dev/null +++ b/package-lock.json @@ -0,0 +1,22227 @@ +{ + "name": "vuexy-react-admin-dashboard", + "version": "6.4.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/compat-data": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" + }, + "@babel/core": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", + "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.15.0", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", + "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "requires": { + "@babel/types": "^7.15.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", + "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", + "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-split-export-declaration": "^7.14.5" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", + "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "requires": { + "@babel/types": "^7.15.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", + "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", + "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", + "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "requires": { + "@babel/types": "^7.14.8" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" + }, + "@babel/helper-wrap-function": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helpers": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", + "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", + "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==" + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", + "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", + "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.12.1" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz", + "integrity": "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz", + "integrity": "sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", + "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", + "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz", + "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", + "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", + "requires": { + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.8", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "requires": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz", + "integrity": "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.15.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz", + "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz", + "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-jsx": "^7.14.5", + "@babel/types": "^7.14.9" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz", + "integrity": "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.14.5" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz", + "integrity": "sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz", + "integrity": "sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz", + "integrity": "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz", + "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.0.tgz", + "integrity": "sha512-WIIEazmngMEEHDaPTx0IZY48SaAmjVWe3TRSX7cmJXn0bEv9midFzAjxiruOWYIVf5iQ10vFx7ASDpgEO08L5w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-typescript": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", + "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.9", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.9", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.0", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.0", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "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/preset-react": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz", + "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-transform-react-display-name": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.5", + "@babel/plugin-transform-react-jsx-development": "^7.14.5", + "@babel/plugin-transform-react-pure-annotations": "^7.14.5" + } + }, + "@babel/preset-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz", + "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.12.1" + } + }, + "@babel/runtime": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", + "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "requires": { + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + } + } + }, + "@babel/runtime-corejs3": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz", + "integrity": "sha512-30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A==", + "requires": { + "core-js-pure": "^3.16.0", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + } + } + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", + "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.15.0", + "@babel/types": "^7.15.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@casl/ability": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@casl/ability/-/ability-5.2.2.tgz", + "integrity": "sha512-A0GTDWojP72Z4HSgS0pfbtGnhQWbquhn9luAr4Uc/HnqWWib0NvmpXC4//7gsiMUiVYCoFozQ+nG1oeZuhT7Jg==", + "requires": { + "@ucast/mongo2js": "^1.3.0" + } + }, + "@casl/react": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@casl/react/-/react-2.1.1.tgz", + "integrity": "sha512-DD0j40OZ+dcQopRdt1tsFaAZ79a1+HGCuMWvExdRcqrbjXFVnFi2kN26KMtwQuzL5FFiH4fmCADCxW3Xjxhs9A==" + }, + "@choojs/findup": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", + "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", + "requires": { + "commander": "^2.15.1" + } + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" + }, + "@csstools/normalize.css": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", + "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" + }, + "@emotion/babel-plugin": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz", + "integrity": "sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA==", + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/runtime": "^7.13.10", + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.5", + "@emotion/serialize": "^1.0.2", + "babel-plugin-macros": "^2.6.1", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "^4.0.3" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@emotion/cache": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.4.0.tgz", + "integrity": "sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==", + "requires": { + "@emotion/memoize": "^0.7.4", + "@emotion/sheet": "^1.0.0", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "stylis": "^4.0.3" + } + }, + "@emotion/css": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-11.1.3.tgz", + "integrity": "sha512-RSQP59qtCNTf5NWD6xM08xsQdCZmVYnX/panPYvB6LQAPKQB6GL49Njf0EMbS3CyDtrlWsBcmqBtysFvfWT3rA==", + "requires": { + "@emotion/babel-plugin": "^11.0.0", + "@emotion/cache": "^11.1.3", + "@emotion/serialize": "^1.0.0", + "@emotion/sheet": "^1.0.0", + "@emotion/utils": "^1.0.0" + } + }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "requires": { + "@emotion/memoize": "0.7.4" + }, + "dependencies": { + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + } + } + }, + "@emotion/memoize": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", + "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" + }, + "@emotion/react": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.4.1.tgz", + "integrity": "sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@emotion/cache": "^11.4.0", + "@emotion/serialize": "^1.0.2", + "@emotion/sheet": "^1.0.2", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.2.tgz", + "integrity": "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==", + "requires": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.2.tgz", + "integrity": "sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==" + }, + "@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@emotion/utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz", + "integrity": "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" + }, + "@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + } + } + }, + "@formatjs/intl-listformat": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-1.4.8.tgz", + "integrity": "sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==", + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-relativetimeformat": { + "version": "4.5.16", + "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.16.tgz", + "integrity": "sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==", + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-unified-numberformat": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz", + "integrity": "sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==", + "requires": { + "@formatjs/intl-utils": "^2.3.0" + } + }, + "@formatjs/intl-utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz", + "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==" + }, + "@formatjs/macro": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@formatjs/macro/-/macro-0.2.8.tgz", + "integrity": "sha512-5IBdn5+D8VGdi6Px0M/PidtqzHVrOj3dVJdV+YmWNRaWHdSvBd1wUd0gMcZnQXAxN+RzlGS/ddfOxFkjSlyQuA==" + }, + "@fullcalendar/common": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/common/-/common-5.7.2.tgz", + "integrity": "sha512-0EDKmZBvTUFLvnJ7n6Vo6xMaPVm0jpYq739aSjwFPPXKgbjKFTPbWvLkaDpjJf7YhVebVSOLHbUC1Ky5wXsKvQ==", + "requires": { + "tslib": "^2.0.3" + } + }, + "@fullcalendar/core": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-5.7.2.tgz", + "integrity": "sha512-4yKLUnAEDDIePw9WJuT2sSvLWGrDGBhp20cjBmyxnJ/6eNN1RCex/OjSu7qDNHvzey+ncjlVWsY41bvZwhpfvg==", + "requires": { + "@fullcalendar/common": "~5.7.2", + "preact": "^10.0.5", + "tslib": "^2.0.3" + } + }, + "@fullcalendar/daygrid": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-5.7.2.tgz", + "integrity": "sha512-YHxOv3sLDwBWhb9+JBwQ/25VOJ0/22B6msRijIPbmJt5bljqYCIENQ4OLQ5UxZlkDC0Q9CSBg84oBtZYfW+kEg==", + "requires": { + "@fullcalendar/common": "~5.7.2", + "tslib": "^2.0.3" + } + }, + "@fullcalendar/interaction": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-5.7.2.tgz", + "integrity": "sha512-fnDcwE++0tie6wNVl/ZqUjgOQEekkdmbWH9hmcwE65y2aYMBX4IHE95MjMWVRAy2edahfAmy4xucQs2T0HYYSw==", + "requires": { + "@fullcalendar/common": "~5.7.2", + "tslib": "^2.0.3" + } + }, + "@fullcalendar/list": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-5.7.2.tgz", + "integrity": "sha512-IV3SACoE02vheO3wEHjbaw1TGbjdjXHwD/+OtVOgoCNAxJVd0NI0d7kbIxVIniV2vrDPWkybCS1Abi2QANk3iQ==", + "requires": { + "@fullcalendar/common": "~5.7.2", + "tslib": "^2.0.3" + } + }, + "@fullcalendar/premium-common": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/premium-common/-/premium-common-5.7.2.tgz", + "integrity": "sha512-tehsHwFxxKftCZT8JoJ6t84AOOG+7NpV9kTF/ICQV9ZBDK0S4O2UHwEiGfCY4Iz/l3YW3RVUgrO6S+/p8pnFuw==", + "requires": { + "@fullcalendar/common": "~5.7.2", + "tslib": "^2.0.3" + } + }, + "@fullcalendar/react": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@fullcalendar/react/-/react-5.7.0.tgz", + "integrity": "sha512-9JdaN/pZXlUFyUe8H1NHIvEt5UVe2p/sctcfsQbKSPJ9NNTVmK+kk3qfUpOWEho6DYuFRLqYI+VwmeVM5mE8rA==", + "requires": { + "@fullcalendar/common": "~5.7.0", + "tslib": "^2.0.3" + } + }, + "@fullcalendar/scrollgrid": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/scrollgrid/-/scrollgrid-5.7.2.tgz", + "integrity": "sha512-cU0khf72kP7m1cpSYYWSFnLNii36VRlg6Kdix/2mr3BBX74bjFsJfWkWKneO/bZzJgIBvKYehQ/SYiZNC77xuA==", + "requires": { + "@fullcalendar/common": "~5.7.2", + "@fullcalendar/premium-common": "~5.7.2", + "tslib": "^2.0.3" + } + }, + "@fullcalendar/timegrid": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-5.7.2.tgz", + "integrity": "sha512-FRZRwVtlahljSILexvmhLg2LnFbJVCpeuzAIgdURmRoSDCCDuxoA6Z3l66a/QFp3LcFVbZbg7VjKibyvvB9b9A==", + "requires": { + "@fullcalendar/common": "~5.7.2", + "@fullcalendar/daygrid": "~5.7.2", + "tslib": "^2.0.3" + } + }, + "@fullcalendar/timeline": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/timeline/-/timeline-5.7.2.tgz", + "integrity": "sha512-n8FaVuGdIZVztNM8f20/TP0emTS1rfCKFZmXtm566t7u3oKEzDBmgHIHDRgNZafTX1qmCSCP7ANkgi1UKN7E8g==", + "requires": { + "@fullcalendar/common": "~5.7.2", + "@fullcalendar/premium-common": "~5.7.2", + "@fullcalendar/scrollgrid": "~5.7.2", + "tslib": "^2.0.3" + } + }, + "@gar/promisify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", + "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@hookform/resolvers": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-1.3.4.tgz", + "integrity": "sha512-K56VLSInXNIT/r14pkzRn1FJclqzGOWqpe3Bf0kz2Hf98ZOmRRFh4fhB7F3ofqCQ03CEQQkV44CTg7ql6nEvEg==" + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" + }, + "@hypnosphi/create-react-context": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz", + "integrity": "sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==", + "requires": { + "gud": "^1.0.0", + "warning": "^4.0.3" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "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==" + } + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/fs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", + "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", + "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", + "requires": { + "ansi-html": "^0.0.7", + "error-stack-parser": "^2.0.6", + "html-entities": "^1.2.1", + "native-url": "^0.2.6", + "schema-utils": "^2.6.5", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "@popperjs/core": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz", + "integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==" + }, + "@react-leaflet/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-1.1.0.tgz", + "integrity": "sha512-zFxMHgfjCi7khRVB7o7H8NoJl36NaezvfcaeEurVXx22lAGHFlTHiSuLOGA4tOiHj+Ep+Lo3uwUGJ3YM9BGkHg==" + }, + "@rollup/plugin-node-resolve": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", + "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==", + "requires": { + "@rollup/pluginutils": "^3.0.8", + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.14.2" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + } + } + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", + "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==", + "requires": { + "ejs": "^2.6.1", + "magic-string": "^0.25.0" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@transloadit/prettier-bytes": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", + "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==" + }, + "@types/babel__core": { + "version": "7.1.15", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz", + "integrity": "sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/eslint": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", + "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" + }, + "@types/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "requires": { + "@types/node": "*" + } + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/html-minifier-terser": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", + "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" + }, + "@types/invariant": { + "version": "2.2.35", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.35.tgz", + "integrity": "sha512-DxX1V9P8zdJPYQat1gHyY0xj3efl8gnMVjiM9iCY6y27lj+PoQWkgjt8jDqmovPqULkKVpKRg8J36iQiA+EtEg==" + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" + }, + "@types/lodash": { + "version": "4.14.172", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz", + "integrity": "sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw==" + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" + }, + "@types/node": { + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==" + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==" + }, + "@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "@types/react": { + "version": "17.0.19", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.19.tgz", + "integrity": "sha512-sX1HisdB1/ZESixMTGnMxH9TDe8Sk709734fEQZzCV/4lSu9kJCPbo2PbTRoZM+53Pp0P10hYVyReUueGwUi4A==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-YesPanU1+WCigC/Aj1Mga8UCOjHIfMNHZ3zzDsUY7lI8GlKnh/Kv2QwJOQ+jNQ36Ru7IfzSedlG14hppYaN13A==" + }, + "@types/sortablejs": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.10.7.tgz", + "integrity": "sha512-lGCwwgpj8zW/ZmaueoPVSP7nnc9t8VqVWXS+ASX3eoUUENmiazv0rlXyTRludXzuX9ALjPsMqBu85TgJNWbTOg==", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==" + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "@types/tapable": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==" + }, + "@types/uglify-js": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", + "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", + "requires": { + "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==" + } + } + }, + "@types/webpack": { + "version": "4.41.30", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.30.tgz", + "integrity": "sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA==", + "requires": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.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==" + } + } + }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", + "requires": { + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", + "requires": { + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", + "debug": "^4.3.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", + "requires": { + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" + } + }, + "@typescript-eslint/types": { + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==" + }, + "@typescript-eslint/typescript-estree": { + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", + "requires": { + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", + "requires": { + "@typescript-eslint/types": "4.30.0", + "eslint-visitor-keys": "^2.0.0" + } + }, + "@ucast/core": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@ucast/core/-/core-1.10.1.tgz", + "integrity": "sha512-sXKbvQiagjFh2JCpaHUa64P4UdJbOxYeC5xiZFn8y6iYdb0WkismduE+RmiJrIjw/eLDYmIEXiQeIYYowmkcAw==" + }, + "@ucast/js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@ucast/js/-/js-3.0.2.tgz", + "integrity": "sha512-zxNkdIPVvqJjHI7D/iK8Aai1+59yqU+N7bpHFodVmiTN7ukeNiGGpNmmSjQgsUw7eNcEBnPrZHNzp5UBxwmaPw==", + "requires": { + "@ucast/core": "^1.0.0" + } + }, + "@ucast/mongo": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@ucast/mongo/-/mongo-2.4.2.tgz", + "integrity": "sha512-/zH1TdBJlYGKKD+Wh0oyD+aBvDSWrwHcD8b4tUL9UgHLhzHtkEnMVFuxbw3SRIRsAa01wmy06+LWt+WoZdj1Bw==", + "requires": { + "@ucast/core": "^1.4.1" + } + }, + "@ucast/mongo2js": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@ucast/mongo2js/-/mongo2js-1.3.3.tgz", + "integrity": "sha512-sBPtMUYg+hRnYeVYKL+ATm8FaRPdlU9PijMhGYKgsPGjV9J4Ks41ytIjGayvKUnBOEhiCaKUUnY4qPeifdqATw==", + "requires": { + "@ucast/core": "^1.6.1", + "@ucast/js": "^3.0.0", + "@ucast/mongo": "^2.4.0" + } + }, + "@uppy/aws-s3": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@uppy/aws-s3/-/aws-s3-1.8.0.tgz", + "integrity": "sha512-8fSHgoNcnZoFk6PyciRzGXj00Uhv+cXIgweuZXnRAJ8NB1ZLiY+R39aKzESG4wrgjbWklaohQtUpPdcGbvMoyg==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/utils": "^3.6.2", + "@uppy/xhr-upload": "^1.7.5", + "cuid": "^2.1.1", + "qs-stringify": "^1.1.0", + "url-parse": "^1.4.7" + } + }, + "@uppy/aws-s3-multipart": { + "version": "1.8.18", + "resolved": "https://registry.npmjs.org/@uppy/aws-s3-multipart/-/aws-s3-multipart-1.8.18.tgz", + "integrity": "sha512-m+IJSsDF253igTlQb2vgCTetqd+qgNIBX48i8HGnLj4rBfRd4FjpBpcV7DgfAn7QVOfrQOgOJoz9cGtXdaZ3lA==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/utils": "^3.6.2" + } + }, + "@uppy/companion-client": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-1.10.2.tgz", + "integrity": "sha512-5RmsNF9UBvUqmqQz48SoiLvkpGmvQTgwNM4bJX8xwVozv/6goRpFrsMJGLwqFcHS/9xj6STKOqrM582g8exVwQ==", + "requires": { + "@uppy/utils": "^3.6.2", + "namespace-emitter": "^2.0.1", + "qs-stringify": "^1.1.0", + "url-parse": "^1.4.7" + } + }, + "@uppy/core": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/@uppy/core/-/core-1.20.1.tgz", + "integrity": "sha512-Z0yGixSNOSMgT/2aLylXQaEBB6X32RqGLQUgDJDK08jI0ZcMha5glNhD2RU1Gs9noQOAR/f7QwBssSnYJUNRfg==", + "requires": { + "@transloadit/prettier-bytes": "0.0.7", + "@uppy/store-default": "^1.2.7", + "@uppy/utils": "^3.6.2", + "cuid": "^2.1.1", + "lodash.throttle": "^4.1.1", + "mime-match": "^1.0.2", + "namespace-emitter": "^2.0.1", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/dashboard": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@uppy/dashboard/-/dashboard-1.21.1.tgz", + "integrity": "sha512-psMwBVxxhAZxYkRds4e//+Sx3zkFYRnYpt4jaF4hmwpL9SehlyhQKwaB/scZz/O4yshmgTN8Sri0mYK5FSh5SQ==", + "requires": { + "@transloadit/prettier-bytes": "0.0.7", + "@uppy/informer": "^1.6.6", + "@uppy/provider-views": "^1.12.3", + "@uppy/status-bar": "^1.9.6", + "@uppy/thumbnail-generator": "^1.7.11", + "@uppy/utils": "^3.6.2", + "classnames": "^2.2.6", + "cuid": "^2.1.1", + "is-shallow-equal": "^1.0.1", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "memoize-one": "^5.0.4", + "preact": "8.2.9", + "resize-observer-polyfill": "^1.5.0" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/drag-drop": { + "version": "1.4.31", + "resolved": "https://registry.npmjs.org/@uppy/drag-drop/-/drag-drop-1.4.31.tgz", + "integrity": "sha512-a9/WKOdAhz9mfFYI9JJNEGLP3TI8RQChndpFkjlxbsD82x2WHSB1TyWTslMdSCK6Ed3pV5IYyBVqDGsTqgveYg==", + "requires": { + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/dropbox": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@uppy/dropbox/-/dropbox-1.5.2.tgz", + "integrity": "sha512-DSuLUozHsg72qLzlZ1b1qZ9L9gdKFdtgkd2PURpOAJPRHHNchCQDdkBSPS8aHNAuErDKFxg71DcO3CIzbZ054A==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/provider-views": "^1.12.3", + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/facebook": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@uppy/facebook/-/facebook-1.2.2.tgz", + "integrity": "sha512-DoOQJjhy4y4DRK5iKLU9ayub4ao7cAdBd0lOsGTjyFtWzdnK9RcisZ7FDlXe2QK4ekdiFFdnBE3mOYTgYzw3gg==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/provider-views": "^1.12.3", + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/file-input": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@uppy/file-input/-/file-input-1.5.2.tgz", + "integrity": "sha512-EI7IROt2qyGm3EoGDmb4UiWNe/P8YsGAcoCZZqFlTLkBlK7Yen5yxzQ4+KH7jWZYM6BynYnHl18aMdRcDWf/UA==", + "requires": { + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/form": { + "version": "1.3.31", + "resolved": "https://registry.npmjs.org/@uppy/form/-/form-1.3.31.tgz", + "integrity": "sha512-FyhJSJgdYDkLAuMqYo1d7f469PbbU3wrLbyoSDtZTEDBUXeE7b4g3ygqrFhlZsxbpwGvO/ygg2/8z0Dlvt7dBQ==", + "requires": { + "@uppy/utils": "^3.6.2", + "get-form-data": "^2.0.0" + } + }, + "@uppy/golden-retriever": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@uppy/golden-retriever/-/golden-retriever-1.4.2.tgz", + "integrity": "sha512-beMRrXGZ/qdLlKW5vQN8TuXFNoeGdFnBnriKxDHMYGXEo+fKTLTqXDeFgPYqXa337H7sb1StdzCnb8YDYyDPnQ==", + "requires": { + "@transloadit/prettier-bytes": "0.0.7", + "@uppy/utils": "^3.6.2", + "lodash.throttle": "^4.1.1" + } + }, + "@uppy/google-drive": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@uppy/google-drive/-/google-drive-1.7.2.tgz", + "integrity": "sha512-29w2e36gX4394ly5t+JMhg4WVr2vpo7a46PLHKZlNwbiPKrEqBUyLy/seCxHUH+6qNtrHFIWQoLTwrlMCEOi3w==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/provider-views": "^1.12.3", + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/informer": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/@uppy/informer/-/informer-1.6.6.tgz", + "integrity": "sha512-9rZoAqNrKQN/HINnGg8rGnKEliLgc+9/tQQ0f9QcBgRIu/rnbBCTwS+qnGGdjYBdEJTSbHx+U7X9ufjrrjB+CA==", + "requires": { + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/instagram": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@uppy/instagram/-/instagram-1.5.2.tgz", + "integrity": "sha512-hfBfO3P++sI5LNvtpHb6h5Ow/nOu2LgPeIQZ2xaeeQXjDg+wt8oToF25z+LSwXi69QxCh3mPpWNIGbq/N96Cfw==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/provider-views": "^1.12.3", + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/onedrive": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@uppy/onedrive/-/onedrive-1.2.2.tgz", + "integrity": "sha512-o1k2/2Sh4BwxzB0c5iSheTCotoSZXsnIdNDEsnO8WJiSclnody3XUuh+D6O5UeQxCFCFS13KJ6RebLGN8t/srQ==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/provider-views": "^1.12.3", + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/progress-bar": { + "version": "1.3.30", + "resolved": "https://registry.npmjs.org/@uppy/progress-bar/-/progress-bar-1.3.30.tgz", + "integrity": "sha512-MAn20wBMzKc1p9M/Mot4+bV/707EO/DVgoFcvoP8rmA5oZOGMINpvFGR+rUtWQoBFMvKtvs/Wkp8mcR22rCMrw==", + "requires": { + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/provider-views": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/@uppy/provider-views/-/provider-views-1.12.3.tgz", + "integrity": "sha512-r2kra3IftmGLeKMEgZbmQM1qXixulWUUzydgpHcZqJOpeNIjJcpspJruYRctrVqaLz/8asw87V4KxDk0U4xGzw==", + "requires": { + "@uppy/utils": "^3.6.2", + "classnames": "^2.2.6", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/react": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/@uppy/react/-/react-1.10.8.tgz", + "integrity": "sha512-FO6PThrYZaEGZd7G3YooHHKsxhZqF6/Euy+jI8CLhROf78Kg0Gr3dURhwaH902NgPrA5Yfa6xRSC1d4etwMktg==", + "requires": { + "@uppy/dashboard": "^1.12.8", + "@uppy/drag-drop": "^1.4.19", + "@uppy/progress-bar": "^1.3.19", + "@uppy/status-bar": "^1.7.6", + "@uppy/utils": "^3.2.3", + "prop-types": "^15.6.1" + } + }, + "@uppy/redux-dev-tools": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/@uppy/redux-dev-tools/-/redux-dev-tools-1.3.9.tgz", + "integrity": "sha512-OVugq1AbIZ89nRifl5suv7AiC2uE5Ot4QbaTgoS8l0DwMMRpYKYAOc904Wj9F9cTZhaUBXEmTqKlZgL9NVK3FQ==" + }, + "@uppy/screen-capture": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@uppy/screen-capture/-/screen-capture-1.1.0.tgz", + "integrity": "sha512-x3LmskHdkSeE+RCUDve+jsxiD9D0MVGk1PivZjnyouTz81QrWtkEOikuJc9hyddTsDUiisxdaOVCj3eJwDWcVQ==", + "requires": { + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/status-bar": { + "version": "1.9.6", + "resolved": "https://registry.npmjs.org/@uppy/status-bar/-/status-bar-1.9.6.tgz", + "integrity": "sha512-U/KPs5SwZ5d4hJFiCNAdriGHSk1Uhrl+iQmpJS8hoM+8r8rPfwScdua2/ehLuH69Ymwp6k7DpK2DU7UG2XZ+ag==", + "requires": { + "@transloadit/prettier-bytes": "0.0.7", + "@uppy/utils": "^3.6.2", + "classnames": "^2.2.6", + "lodash.throttle": "^4.1.1", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/store-default": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-1.2.7.tgz", + "integrity": "sha512-58IG9yk/i/kYQ9uEwAwMFl1H2V3syOoODrYoFfVHlxaqv+9MkXBg2tHE2gk40iaAIxcCErcPxZkBOvkqzO1SQA==" + }, + "@uppy/store-redux": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@uppy/store-redux/-/store-redux-1.2.8.tgz", + "integrity": "sha512-9lPPQf8lyADjrjNXe7u8j+Pn2MeIlUXANT8vHXy2WnbYX+WL/r7gqNUd8kiKoMksX1E+gA6VH5rmj6ysL9xVvg==", + "requires": { + "cuid": "^2.1.1" + } + }, + "@uppy/thumbnail-generator": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@uppy/thumbnail-generator/-/thumbnail-generator-1.7.11.tgz", + "integrity": "sha512-qo9ZD8ByDMM6gIJ4JPN0V/dWlruYMhmYifhUvDUu0qhPAOTJAqh2hLQ+dlmUXTns8RnDorCXScreICSQ09FuLQ==", + "requires": { + "@uppy/utils": "^3.6.2", + "exifr": "^6.0.0", + "math-log2": "^1.0.1" + } + }, + "@uppy/transloadit": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@uppy/transloadit/-/transloadit-1.7.0.tgz", + "integrity": "sha512-vQOQ+LNLAvkbiD8Zf6TJW4QeYawkADnHwFEj7XiI9npkzC8Lbt3XOLSTibj1vmICVgk277TsqnX3MUhK6+cX+A==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/provider-views": "^1.12.3", + "@uppy/tus": "^1.9.2", + "@uppy/utils": "^3.6.2", + "component-emitter": "^1.2.1", + "socket.io-client": "~2.2.0", + "url-parse": "^1.4.7" + } + }, + "@uppy/tus": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@uppy/tus/-/tus-1.9.2.tgz", + "integrity": "sha512-ejaczrrh6w514XGd3kiDD1PJ8tIgmnV50fuyRwsybDj8HQheKAEu6GsJjxcnctP8NcSx4HNDhazVLPj6+A4p9Q==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/utils": "^3.6.2", + "tus-js-client": "^2.1.1" + } + }, + "@uppy/url": { + "version": "1.5.23", + "resolved": "https://registry.npmjs.org/@uppy/url/-/url-1.5.23.tgz", + "integrity": "sha512-pRmRccuJv2Ad57jPgYckbvozeUhkMouBv2du9+BW9Sr7E5aJPbujwejVOzDcRion7TEH6YvxX1xZoWrXZ/IYOQ==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/utils": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-3.6.2.tgz", + "integrity": "sha512-wGTZma7eywIojfuE1vXlT0fxPSpmCRMkfgFWYc+6TL2FfGqWInmePoB+yal6/M2AnjeKHz6XYMhIpZkjOxFvcw==", + "requires": { + "abortcontroller-polyfill": "^1.4.0", + "lodash.throttle": "^4.1.1" + } + }, + "@uppy/webcam": { + "version": "1.8.13", + "resolved": "https://registry.npmjs.org/@uppy/webcam/-/webcam-1.8.13.tgz", + "integrity": "sha512-DN9hPe9u9FRerGXTl4TgTMOYy2aMCXCK5Nu7FgMf7T+OT5qJmQcQ6ty4rEVlDTWdm45zmIpV1OG/dUb+iLcCjQ==", + "requires": { + "@uppy/utils": "^3.6.2", + "preact": "8.2.9" + }, + "dependencies": { + "preact": { + "version": "8.2.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.9.tgz", + "integrity": "sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA==" + } + } + }, + "@uppy/xhr-upload": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-1.7.5.tgz", + "integrity": "sha512-Itnc9j9k/PemcmT5KrZ1BEw3pTc6WJg0yyyOcE+hLO8Hjv60Fm7c/I2ZknarOroIjT1WiTSyuxTBPp+9UGkxNA==", + "requires": { + "@uppy/companion-client": "^1.10.2", + "@uppy/utils": "^3.6.2", + "cuid": "^2.1.1" + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "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==" + }, + "@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==" + }, + "@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==" + }, + "@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==", + "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==" + }, + "@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==", + "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==" + }, + "@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==", + "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==", + "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==", + "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==" + }, + "@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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==" + }, + "@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==" + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "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 + }, + "abortcontroller-polyfill": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" + }, + "adjust-sourcemap-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", + "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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==" + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "animate.css": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz", + "integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==" + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "apexcharts": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.23.0.tgz", + "integrity": "sha512-1mV6qouuopvYR6UFSXi/Ge4jRMe//zyAN3aK05mAs4Iuet8mA0w31Q6OU6syD77bawt9p3YKNOmNF7OO2u9w0g==", + "requires": { + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "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==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "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==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "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-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-includes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "array.prototype.flatmap": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", + "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "function-bind": "^1.1.1" + } + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "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": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "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=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "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=" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "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==" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "availity-reactstrap-validation-safe": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/availity-reactstrap-validation-safe/-/availity-reactstrap-validation-safe-2.6.1.tgz", + "integrity": "sha512-+vvE4fh848vRgQO+j1v3SSO4b3aHKkBpY/bBI3lgl85YaqnAVTUe7xt07cJsjM8Xv1YBEn4NChsqUR35HWE8RQ==", + "requires": { + "babel-runtime": "^6.26.0", + "classnames": "^2.2.6", + "lodash": "^4.17.10", + "moment": "^2.22.2", + "prop-types": "^15.6.2" + } + }, + "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.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "axe-core": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz", + "integrity": "sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==" + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "requires": { + "follow-redirects": "^1.10.0" + } + }, + "axios-mock-adapter": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.19.0.tgz", + "integrity": "sha512-D+0U4LNPr7WroiBDvWilzTMYPYTuZlbo6BI8YHZtj7wYQS8NkARlP9KBt8IWWHTQJ0q/8oZ0ClPBtKCCkx8cQg==", + "requires": { + "fast-deep-equal": "^3.1.3", + "is-buffer": "^2.0.3" + } + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + } + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==", + "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": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "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==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.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==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + } + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz", + "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==" + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, + "babel-plugin-react-intl": { + "version": "5.1.18", + "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-5.1.18.tgz", + "integrity": "sha512-tzzZoGDNQOiHmGFh+NPQJDpC10RbKlfw1CBVfALulqRa6UGkAv5eMs9sirxjhD3HryHPbYZ4x5FNdbzOyG2GJw==", + "requires": { + "@babel/core": "^7.7.2", + "@babel/helper-plugin-utils": "^7.0.0", + "@types/babel__core": "^7.1.3", + "@types/schema-utils": "^1.0.0", + "fs-extra": "^8.1.0", + "intl-messageformat-parser": "^3.6.4", + "schema-utils": "^2.2.0" + } + }, + "babel-plugin-styled-components": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.13.2.tgz", + "integrity": "sha512-Vb1R3d4g+MUfPQPVDMCGjm3cDocJEUTR7Xq7QS95JWWeksN1wdFRYpD2kulDgI3Huuaf1CZd+NK4KQmqUFh5dA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-module-imports": "^7.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11" + } + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz", + "integrity": "sha512-itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg==", + "requires": { + "@babel/core": "7.12.3", + "@babel/plugin-proposal-class-properties": "7.12.1", + "@babel/plugin-proposal-decorators": "7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1", + "@babel/plugin-proposal-numeric-separator": "7.12.1", + "@babel/plugin-proposal-optional-chaining": "7.12.1", + "@babel/plugin-transform-flow-strip-types": "7.12.1", + "@babel/plugin-transform-react-display-name": "7.12.1", + "@babel/plugin-transform-runtime": "7.12.1", + "@babel/preset-env": "7.12.1", + "@babel/preset-react": "7.12.1", + "@babel/preset-typescript": "7.12.1", + "@babel/runtime": "7.12.1", + "babel-plugin-macros": "2.8.0", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", + "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.1", + "@babel/parser": "^7.12.3", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz", + "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz", + "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", + "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz", + "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==", + "requires": { + "@babel/compat-data": "^7.12.1", + "@babel/helper-compilation-targets": "^7.12.1", + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@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.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.1", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.1", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.1", + "core-js-compat": "^3.6.2", + "semver": "^5.5.0" + } + }, + "@babel/preset-react": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz", + "integrity": "sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-react-display-name": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.1", + "@babel/plugin-transform-react-jsx-development": "^7.12.1", + "@babel/plugin-transform-react-jsx-self": "^7.12.1", + "@babel/plugin-transform-react-jsx-source": "^7.12.1", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" + } + }, + "@babel/runtime": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz", + "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "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=", + "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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "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" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, + "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==" + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "bootstrap": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.2.tgz", + "integrity": "sha512-vlGn0bcySYl/iV+BGA544JkkZP5LB3jsmkeKLFQakCOwCM3AOk7VkldBz4jrzSe+Z0Ezn99NVXa1o45cQY4R6A==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "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==", + "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==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "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==", + "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==" + } + } + }, + "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==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.16.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", + "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "requires": { + "caniuse-lite": "^1.0.30001251", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.811", + "escalade": "^3.1.1", + "node-releases": "^1.1.75" + } + }, + "bs-stepper": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/bs-stepper/-/bs-stepper-1.7.0.tgz", + "integrity": "sha512-+DX7UKKgw2GI6ucsSCRd19VHYrxf/8znRCLs1lQVVLxz+h7EqgIOxoHcJ0/QTaaNoR9Cwg78ydo6hXIasyd3LA==" + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" + }, + "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=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "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" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + }, + "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 + } + } + }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" + }, + "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==", + "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.30001252", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz", + "integrity": "sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==" + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "requires": { + "rsvp": "^4.8.4" + } + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "cfb": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz", + "integrity": "sha512-sXMvHsKCICVR3Naq+J556K+ExBo9n50iKl6LGarlnvuA2035uMlGA/qVrc0wQtow5P1vJEw9UyrKLCbtIKz+TQ==", + "requires": { + "adler-32": "~1.2.0", + "crc-32": "~1.2.0", + "printj": "~1.1.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "requires": { + "color-name": "^1.0.0" + } + }, + "check-types": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", + "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "chroma-js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.1.0.tgz", + "integrity": "sha512-uiRdh4ZZy+UTPSrAdp8hqEdVb1EllLtTHOt5TMaOjJUvi+O54/83Fc5K2ld1P+TJX+dw5B+8/sCgzI6eaur/lg==", + "requires": { + "cross-env": "^6.0.3" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "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==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" + }, + "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==", + "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=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "requires": { + "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==" + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cleave.js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/cleave.js/-/cleave.js-1.6.0.tgz", + "integrity": "sha512-ivqesy3j5hQVG3gywPfwKPbi/7ZSftY/UNp5uphnqjr25yI2CP8FS2ODQPzuLXXnNLi29e2+PgPkkiKUXLs/Nw==" + }, + "clipboard": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", + "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", + "optional": true, + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.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" + } + }, + "clsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "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 + }, + "codepage": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz", + "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=", + "requires": { + "commander": "~2.14.1", + "exit-on-epipe": "~1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" + } + } + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "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==", + "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=" + }, + "color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", + "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==" + }, + "combine-errors": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/combine-errors/-/combine-errors-3.0.3.tgz", + "integrity": "sha1-9N9nQAg+VwOjGBEQwrEFUfAD2oY=", + "requires": { + "custom-error-instance": "2.1.1", + "lodash.uniqby": "4.5.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "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==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "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==" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", + "requires": { + "arity-n": "^1.0.4" + } + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "confusing-browser-globals": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "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=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "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" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "core-js-compat": { + "version": "3.16.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.4.tgz", + "integrity": "sha512-IzCSomxRdahCYb6G3HiN6pl3JCiM0NMunRcNa1pIeC7g17Vd6Ue3AT9anQiENPIm/svThUVer1pIbLMDERIsFw==", + "requires": { + "browserslist": "^4.16.8", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "core-js-pure": { + "version": "3.16.4", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.4.tgz", + "integrity": "sha512-bY1K3/1Jy9D8Jd12eoeVahNXHLfHFb4TXWI8SQ4y8bImR9qDPmGITBAfmcffTkgUvbJn87r8dILOTWW5kZzkgA==" + }, + "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=" + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", + "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "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==", + "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==", + "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-env": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz", + "integrity": "sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==", + "requires": { + "cross-spawn": "^7.0.0" + } + }, + "cross-fetch": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", + "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", + "requires": { + "node-fetch": "2.6.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "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==", + "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" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.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==" + } + } + }, + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" + }, + "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=" + }, + "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==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz", + "integrity": "sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==", + "requires": { + "camelcase": "^6.0.0", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^2.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.3", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.1", + "semver": "^7.3.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "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==" + }, + "css-to-react-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz", + "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==", + "requires": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "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==", + "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==" + } + } + }, + "css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "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.3", + "postcss-unique-selectors": "^4.0.1" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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=" + }, + "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=" + }, + "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==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==" + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + }, + "cuid": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/cuid/-/cuid-2.1.8.tgz", + "integrity": "sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==" + }, + "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" + } + }, + "custom-error-instance": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/custom-error-instance/-/custom-error-instance-2.1.1.tgz", + "integrity": "sha1-PPY5FIemYppiR+sMoM4ACBt+Nho=" + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "requires": { + "internmap": "^1.0.0" + } + }, + "d3-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz", + "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==" + }, + "d3-format": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz", + "integrity": "sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==" + }, + "d3-interpolate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz", + "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==", + "requires": { + "d3-color": "1 - 2" + } + }, + "d3-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", + "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" + }, + "d3-scale": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz", + "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==", + "requires": { + "d3-array": "^2.3.0", + "d3-format": "1 - 2", + "d3-interpolate": "1.2.0 - 2", + "d3-time": "^2.1.1", + "d3-time-format": "2 - 3" + } + }, + "d3-shape": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-2.1.0.tgz", + "integrity": "sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==", + "requires": { + "d3-path": "1 - 2" + } + }, + "d3-time": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz", + "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==", + "requires": { + "d3-array": "2" + } + }, + "d3-time-format": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz", + "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==", + "requires": { + "d3-time": "1 - 2" + } + }, + "damerau-levenshtein": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz", + "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==" + }, + "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" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" + }, + "decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" + }, + "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=" + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "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=" + } + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-it/-/detect-it-4.0.1.tgz", + "integrity": "sha512-dg5YBTJYvogK1+dA2mBUDKzOWfYZtHVba89SyZUhc4+e3i2tzgjANFg5lDRCd3UOtRcw00vUTMK8LELcMdicug==" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-passive-events": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-passive-events/-/detect-passive-events-2.0.3.tgz", + "integrity": "sha512-QN/1X65Axis6a9D8qg8Py9cwY/fkWAmAH/edTbmLMcv4m5dboLJ7LcAi8CfaCON2tjk904KwKX/HTdsHC6yeRg==", + "requires": { + "detect-it": "^4.0.1" + } + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + } + } + }, + "dom7": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz", + "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", + "requires": { + "ssr-window": "^3.0.0-alpha.1" + } + }, + "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==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "requires": { + "domelementtype": "^2.2.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + } + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "draft-js": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.11.7.tgz", + "integrity": "sha512-ne7yFfN4sEL82QPQEn80xnADR8/Q6ALVworbC5UOSzOvjffmYfFsr3xSZtxbIirti14R7Y33EZC5rivpLgIbsg==", + "requires": { + "fbjs": "^2.0.0", + "immutable": "~3.7.4", + "object-assign": "^4.1.1" + } + }, + "draftjs-to-html": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/draftjs-to-html/-/draftjs-to-html-0.9.1.tgz", + "integrity": "sha512-fFstE6+IayaVFBEvaFt/wN8vdj8FsTRzij7dy7LI9QIwf5LgfHFi9zSpvCg+feJ2tbYVqHxUkjcibwpsTpgFVQ==" + }, + "draftjs-utils": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/draftjs-utils/-/draftjs-utils-0.10.2.tgz", + "integrity": "sha512-EstHqr3R3JVcilJrBaO/A+01GvwwKmC7e4TCjC7S94ZeMh4IVmf60OuQXtHHpwItK8C2JCi3iljgN5KHkJboUg==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "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" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + }, + "electron-to-chromium": { + "version": "1.3.822", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.822.tgz", + "integrity": "sha512-k7jG5oYYHxF4jx6PcqwHX3JVME/OjzolqOZiIogi9xtsfsmTjTdie4x88OakYFPEa8euciTgCCzvVNwvmjHb1Q==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "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==", + "requires": { + "once": "^1.4.0" + } + }, + "engine.io-client": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.3.3.tgz", + "integrity": "sha512-PXIgpzb1brtBzh8Q6vCjzCMeu4nfEPmaDm+L3Qb2sVHwLkxC1qRiBMSjOB0NJNjZ0hbPNUKQa+s8J2XxLOIEeQ==", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.6.3", + "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "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==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.18.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", + "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.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==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "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=" + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + } + } + }, + "globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-config-react-app": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz", + "integrity": "sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==", + "requires": { + "confusing-browser-globals": "^1.0.10" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-module-utils": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz", + "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==", + "requires": { + "debug": "^3.2.7", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.9.1.tgz", + "integrity": "sha512-ncUBL9lbhrcOlM5p6xQJT2c0z9co/FlP0mXdva6FrkvtzOoN7wdc8ioASonEpcWffOxnJPFPI8N0sHCavE6NAg==", + "requires": { + "lodash": "^4.17.15", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz", + "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==", + "requires": { + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.6.2", + "find-up": "^2.0.0", + "has": "^1.0.3", + "is-core-module": "^2.6.0", + "minimatch": "^3.0.4", + "object.values": "^1.1.4", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.11.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-plugin-jest": { + "version": "24.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz", + "integrity": "sha512-8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg==", + "requires": { + "@typescript-eslint/experimental-utils": "^4.0.1" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", + "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", + "requires": { + "@babel/runtime": "^7.11.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^3.1.0", + "language-tags": "^1.0.5" + }, + "dependencies": { + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + } + } + }, + "eslint-plugin-react": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.1.tgz", + "integrity": "sha512-P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug==", + "requires": { + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", + "doctrine": "^2.1.0", + "estraverse": "^5.2.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.4", + "object.fromentries": "^2.0.4", + "object.values": "^1.1.4", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.5" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + }, + "resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", + "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==" + }, + "eslint-plugin-testing-library": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz", + "integrity": "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==", + "requires": { + "@typescript-eslint/experimental-utils": "^3.10.1" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", + "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/types": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", + "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==" + }, + "@typescript-eslint/typescript-estree": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", + "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", + "requires": { + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/visitor-keys": "3.10.1", + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", + "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "eslint-webpack-plugin": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz", + "integrity": "sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw==", + "requires": { + "@types/eslint": "^7.2.6", + "arrify": "^2.0.1", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "requires": { + "original": "^1.0.0" + } + }, + "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==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "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=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exifr": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/exifr/-/exifr-6.3.0.tgz", + "integrity": "sha512-NCSOP15py+4QyvD90etFN0QOVj12ygVE8kfEDG8GDc+SXf9YAOxua2x5kGp6WvxbGjufA5C3r/1ZKHOpHbEWFg==" + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "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==", + "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=", + "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=", + "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=" + } + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + } + } + }, + "ext": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz", + "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==", + "requires": { + "type": "^2.5.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" + } + } + }, + "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=", + "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==", + "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==", + "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=", + "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=", + "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==", + "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==", + "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==", + "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.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastq": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", + "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "fbjs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-2.0.0.tgz", + "integrity": "sha512-8XA8ny9ifxrAWlyhAbexXcs3rRMtxWcs3M0lctLfB49jRDHiaxj+Mo0XxbwE7nKZYzgCFoq64FS+WFd4IycPPQ==", + "requires": { + "core-js": "^3.6.4", + "cross-fetch": "^3.0.4", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "3.16.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz", + "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==" + } + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz", + "integrity": "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "file-saver": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", + "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==" + }, + "filesize": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", + "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==" + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "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==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatpickr": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.3.tgz", + "integrity": "sha512-007VucCkqNOMMb9ggRLNuJowwaJcyOh4sKAFcdGfahfGc7JQbf94zSzjdBq/wVyHWUEs5o3+idhFZ0wbZMRmVQ==" + }, + "flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" + }, + "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==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", + "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "requires": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "requires": { + "is-extendable": "^0.1.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==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "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=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.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==", + "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=", + "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=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "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" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "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==" + }, + "get-form-data": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-form-data/-/get-form-data-2.0.0.tgz", + "integrity": "sha512-YUpw0aTWeGliifqMYrTohe/YdqVmKLmaNwuscd2WlRNGfba57JHGuuvvv2c6LiZdFys285POVWANTh6SqcwFag==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "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-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "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.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "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.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "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==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "globule": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz", + "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "optional": true, + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "optional": true + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "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.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "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" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "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=", + "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=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "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==", + "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==", + "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==" + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "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==" + }, + "history": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz", + "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==", + "requires": { + "@babel/runtime": "^7.7.6" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + } + } + }, + "html-to-draftjs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/html-to-draftjs/-/html-to-draftjs-1.5.0.tgz", + "integrity": "sha512-kggLXBNciKDwKf+KYsuE+V5gw4dZ7nHyGMX9m0wy7urzWjKGWyNFetmArRLvRV0VrxKN70WylFsJvMTJx02OBQ==" + }, + "html-webpack-plugin": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", + "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "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==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "requires": { + "is-extendable": "^0.1.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==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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" + } + }, + "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=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "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=" + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + }, + "immer": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", + "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==" + }, + "immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.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=", + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "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==", + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "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==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==" + }, + "intl-format-cache": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-4.3.1.tgz", + "integrity": "sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==" + }, + "intl-locales-supported": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/intl-locales-supported/-/intl-locales-supported-1.8.12.tgz", + "integrity": "sha512-FJPl7p1LYO/C+LpwlDcvVpq7AeFTdFgwnq1JjdNYKjb51xkIxssXRR8LaA0fJFogjwRRztqw1ahgSJMSZsSFdw==" + }, + "intl-messageformat": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-7.8.4.tgz", + "integrity": "sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==", + "requires": { + "intl-format-cache": "^4.2.21", + "intl-messageformat-parser": "^3.6.4" + } + }, + "intl-messageformat-parser": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz", + "integrity": "sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==", + "requires": { + "@formatjs/intl-unified-numberformat": "^3.2.0" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "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=" + }, + "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=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "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==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "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=", + "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-core-module": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", + "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "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==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "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=" + }, + "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==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-shallow-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shallow-equal/-/is-shallow-equal-1.0.1.tgz", + "integrity": "sha512-lq5RvK+85Hs5J3p4oA4256M1FEffzmI533ikeDHvJd42nouRRx5wBzt36JuviiGe5dIPyHON/d0/Up+PBo6XkQ==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "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==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "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 + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.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==" + }, + "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==", + "requires": { + "semver": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.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==" + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz", + "integrity": "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==", + "requires": { + "@jest/core": "^26.6.0", + "import-local": "^3.0.2", + "jest-cli": "^26.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "jest-circus": { + "version": "26.6.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-26.6.0.tgz", + "integrity": "sha512-L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng==", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.0", + "@jest/test-result": "^26.6.0", + "@jest/types": "^26.6.0", + "@types/babel__traverse": "^7.0.4", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^26.6.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.0", + "jest-matcher-utils": "^26.6.0", + "jest-message-util": "^26.6.0", + "jest-runner": "^26.6.0", + "jest-runtime": "^26.6.0", + "jest-snapshot": "^26.6.0", + "jest-util": "^26.6.0", + "pretty-format": "^26.6.0", + "stack-utils": "^2.0.2", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" + }, + "jest-resolve": { + "version": "26.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz", + "integrity": "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==", + "requires": { + "@jest/types": "^26.6.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.0", + "read-pkg-up": "^7.0.1", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watch-typeahead": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz", + "integrity": "sha512-ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg==", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^26.0.0", + "jest-watcher": "^26.3.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "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==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "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==" + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "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 + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==" + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "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==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "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==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "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 + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "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" + } + }, + "jsx-ast-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", + "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", + "requires": { + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "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==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==" + }, + "language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "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==", + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "leaflet": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.6.0.tgz", + "integrity": "sha512-CPkhyqWUKZKFJ6K8umN5/D2wrJ2+/8UIpXppY7QDnUZW5bZL5+SEI2J7GBpwh4LIupOKqbNSQXgqmrEJopHVNQ==" + }, + "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==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "requires": { + "uc.micro": "^1.0.1" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash._baseiteratee": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash._baseiteratee/-/lodash._baseiteratee-4.7.0.tgz", + "integrity": "sha1-NKm1VDVycnw9sueO2uPA6eZr0QI=", + "requires": { + "lodash._stringtopath": "~4.8.0" + } + }, + "lodash._basetostring": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz", + "integrity": "sha1-kyfJ3FFYhmt/pLnUL0Y45XZt2d8=" + }, + "lodash._baseuniq": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz", + "integrity": "sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg=", + "requires": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "lodash._createset": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz", + "integrity": "sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" + }, + "lodash._stringtopath": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/lodash._stringtopath/-/lodash._stringtopath-4.8.0.tgz", + "integrity": "sha1-lBvPDmQmbl/B1m/tCmlZVExXaCQ=", + "requires": { + "lodash._basetostring": "~4.12.0" + } + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "lodash.orderby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.orderby/-/lodash.orderby-4.6.0.tgz", + "integrity": "sha1-5pfwTOXXhSL1TZM4syuBozk+TrM=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "lodash.uniqby": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.5.0.tgz", + "integrity": "sha1-o6F7v2LutiQPSRhG6XwcTipeHiE=", + "requires": { + "lodash._baseiteratee": "~4.7.0", + "lodash._baseuniq": "~4.6.0" + } + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" + }, + "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==", + "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" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "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==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "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=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "math-log2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", + "integrity": "sha1-+4lBvl9evol55xjmJzsXjlhpRWU=" + }, + "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==", + "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==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "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=", + "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" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "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" + } + }, + "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" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "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==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + }, + "mime-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", + "integrity": "sha1-P4fDHprxpf1IX7nbE0Qosju7e6g=", + "requires": { + "wildcard": "^1.1.0" + } + }, + "mime-types": { + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "requires": { + "mime-db": "1.49.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mini-create-react-context": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", + "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", + "requires": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + } + }, + "mini-css-extract-plugin": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz", + "integrity": "sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA==", + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "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==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "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==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.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==" + }, + "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=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "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==" + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "requires": { + "yallist": "^4.0.0" + } + }, + "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==", + "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==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "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==", + "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==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "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" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + }, + "namespace-emitter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", + "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, + "nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" + }, + "nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "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" + } + }, + "native-url": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", + "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", + "requires": { + "querystring": "^0.2.0" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + }, + "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": { + "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" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "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" + } + }, + "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" + } + } + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "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==", + "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=" + } + } + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + }, + "node-notifier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "node-releases": { + "version": "1.1.75", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", + "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + }, + "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-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": "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "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==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "nouislider": { + "version": "14.6.2", + "resolved": "https://registry.npmjs.org/nouislider/-/nouislider-14.6.2.tgz", + "integrity": "sha512-/lJeqJBghNAZS3P2VYrHzm1RM6YJPvvC/1wNpGaHBRX+05wpzUDafrW/ohAYp4kjKhRH8+BJ0vkorCHiMmgTMQ==" + }, + "nouislider-react": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nouislider-react/-/nouislider-react-3.3.8.tgz", + "integrity": "sha512-Le0kUs29iaUEdaO3cdZcc7EXteFNpXVuasxz4F8Z520PUI17sJJAoggiScPu+Nz6vMx0o9SgK0v8bMXcePF20A==", + "requires": { + "nouislider": "^14.5.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + } + } + }, + "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==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "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 + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "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=" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "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=", + "requires": { + "is-descriptor": "^0.1.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==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", + "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" + } + }, + "object.fromentries": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", + "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", + "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + } + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", + "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", + "requires": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "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-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "requires": { + "retry": "^0.12.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==" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "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==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "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==" + }, + "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=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "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" + } + }, + "perfect-scrollbar": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.2.tgz", + "integrity": "sha512-McHAinFkyzKbBZrFtb4MT2mxkehp15KvOX/UrjB8C5EZZXHTHgyETo5IGFYtHRTI2Pb2bsV0OE0YnkjT9Cw3aw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "requires": { + "node-modules-regexp": "^1.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==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.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==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "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=" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.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==" + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-browser-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz", + "integrity": "sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==", + "requires": { + "postcss": "^7" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "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": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-flexbugs-fixes": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", + "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", + "requires": { + "postcss": "^7.0.26" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "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==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "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==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "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": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "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": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "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": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==", + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz", + "integrity": "sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ==", + "requires": { + "@csstools/normalize.css": "^10.1.0", + "browserslist": "^4.6.2", + "postcss": "^7.0.17", + "postcss-browser-comments": "^3.0.0", + "sanitize.css": "^10.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "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": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "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==" + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "requires": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.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==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-rtl": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/postcss-rtl/-/postcss-rtl-1.5.0.tgz", + "integrity": "sha512-7uQeaMBhAlnu7xgytvTocojFKp08W4FND/xE/ajj/J6ABOGhdDF1mLGzaRrC5/u/Sr71BEUi13xgvs2j8U16AA==", + "requires": { + "rtlcss": "^2.4.0" + } + }, + "postcss-safe-parser": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz", + "integrity": "sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==", + "requires": { + "postcss": "^8.1.0" + }, + "dependencies": { + "nanoid": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==" + }, + "postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + } + } + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.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==" + }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "preact": { + "version": "10.5.14", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.5.14.tgz", + "integrity": "sha512-KojoltCrshZ099ksUZ2OQKfbH66uquFoxHSbnwKbTJHeQNvx42EmC7wQVWNuDt6vC5s3nudRHFtKbpY4ijKlaQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + } + } + }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + }, + "prismjs": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.19.0.tgz", + "integrity": "sha512-IVFtbW9mCWm9eOIaEkNyo2Vl4NnEifis2GQ7/MLRG5TQe6t+4Sj9J5QWI9i3v+SS43uZBlCAOn+zYTVYQcPXJw==", + "requires": { + "clipboard": "^2.0.0" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "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==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "proper-lockfile": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-2.0.1.tgz", + "integrity": "sha1-FZ+wYZPTIAP0s2kd0uwaY0qoDR0=", + "requires": { + "graceful-fs": "^4.1.2", + "retry": "^0.10.0" + }, + "dependencies": { + "retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" + } + } + }, + "property-expr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.4.tgz", + "integrity": "sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg==" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "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==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "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.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "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==", + "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==", + "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==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "qs-stringify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/qs-stringify/-/qs-stringify-1.2.1.tgz", + "integrity": "sha512-2N5xGLGZUxpgAYq1fD1LmBSCbxQVsXYt5JU0nU3FuPWO8PlCnKNFQwXkZgyB6mrTdg7IbexX4wxIR403dJw9pw==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "raf-schd": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-4.0.3.tgz", + "integrity": "sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "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==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } + } + }, + "react": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.1.tgz", + "integrity": "sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-apexcharts": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.3.6.tgz", + "integrity": "sha512-ahpMOnuw1ZdD3/fkk9MYRLpqYQ66cZz72+he1R00HaT1VcSjfYc9editQDhE2jGRDuxubmaxVcO3z4FtAk5N0w==", + "requires": { + "prop-types": "^15.5.7" + } + }, + "react-app-polyfill": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz", + "integrity": "sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA==", + "requires": { + "core-js": "^3.6.5", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "whatwg-fetch": "^3.4.1" + }, + "dependencies": { + "core-js": { + "version": "3.16.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz", + "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==" + }, + "promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "requires": { + "asap": "~2.0.6" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + } + } + }, + "react-app-rewire-aliases": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/react-app-rewire-aliases/-/react-app-rewire-aliases-0.2.0.tgz", + "integrity": "sha1-71/8AJnuwFJ5lJ+rjUmDwVVqHB4=", + "dev": true + }, + "react-app-rewire-postcss": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/react-app-rewire-postcss/-/react-app-rewire-postcss-3.0.2.tgz", + "integrity": "sha512-sGjIIzQ4sQE8r2ZeSCokf+hKLxOr5i8J0iAlg0kxwXRdy6bDrPa345EMdYPPzUZQxnZgZIsFL+QyMWtJHulEDg==", + "dev": true, + "requires": { + "postcss-loader": "^3.0.0" + } + }, + "react-app-rewire-sass-rule": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-app-rewire-sass-rule/-/react-app-rewire-sass-rule-2.2.1.tgz", + "integrity": "sha512-vvm8MO2UD31WAaon3EpqI0CWTBCJNzHKTYRWLf4jjXpZyiPql2XUI+Gfd8mFnIcA4Str98Xrtd5VxCzF4X0j0Q==", + "dev": true, + "requires": { + "node-sass": "^4.9.0", + "sass-loader": "^7.0.3" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "sass-loader": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", + "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.0.1", + "neo-async": "^2.5.0", + "pify": "^4.0.1", + "semver": "^6.3.0" + } + } + } + }, + "react-app-rewired": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.1.8.tgz", + "integrity": "sha512-wjXPdKPLscA7mn0I1de1NHrbfWdXz4S1ladaGgHVKdn1hTgKK5N6EdGIJM0KrS6bKnJBj7WuqJroDTsPKKr66Q==", + "dev": true, + "requires": { + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "react-chartjs-2": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-2.9.0.tgz", + "integrity": "sha512-IYwqUUnQRAJ9SNA978vxulHJTcUFTJk2LDVfbAyk0TnJFZZG7+6U/2flsE4MCw6WCbBjTTypy8T82Ch7XrPtRw==", + "requires": { + "lodash": "^4.17.4", + "prop-types": "^15.5.8" + } + }, + "react-contexify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/react-contexify/-/react-contexify-5.0.0.tgz", + "integrity": "sha512-2FIp7lxJ6dtfGr8EZ4uVV5p5TQjd0n2h/JU7PrejNIMiCeZWvSVPFh4lj1ZvjXosglBvP7q5JQQ8yUCdSaMSaw==", + "requires": { + "clsx": "^1.1.1" + } + }, + "react-copy-to-clipboard": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.2.tgz", + "integrity": "sha512-/2t5mLMMPuN5GmdXo6TebFa8IoFxZ+KTDDqYhcDm0PhkgEzSxVvIX26G20s1EB02A4h2UZgwtfymZ3lGJm0OLg==", + "requires": { + "copy-to-clipboard": "^3", + "prop-types": "^15.5.8" + } + }, + "react-country-flag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/react-country-flag/-/react-country-flag-2.0.1.tgz", + "integrity": "sha512-cZQp+MTQUfSkI++ypDJU6PNgNU2K6Z/9htO4ct4HzvWAs19DoMbnvhzyK31lkBnW1vfx9OkMwskxuaYbEcFjLw==" + }, + "react-data-table-component": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/react-data-table-component/-/react-data-table-component-6.11.2.tgz", + "integrity": "sha512-xoaTVTX4svgY3norL707GSUZJ5Q0FRZ1g2QY5oI5soiNtGMor9yGTXjnMq6mDmL9A4a7lmA+4xntoEEMJMcIvA==", + "requires": { + "deepmerge": "^4.2.2", + "lodash.orderby": "^4.6.0", + "shortid": "^2.2.15" + } + }, + "react-dev-utils": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz", + "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==", + "requires": { + "@babel/code-frame": "7.10.4", + "address": "1.1.2", + "browserslist": "4.14.2", + "chalk": "2.4.2", + "cross-spawn": "7.0.3", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "2.0.0", + "filesize": "6.1.0", + "find-up": "4.1.0", + "fork-ts-checker-webpack-plugin": "4.1.6", + "global-modules": "2.0.0", + "globby": "11.0.1", + "gzip-size": "5.1.1", + "immer": "8.0.1", + "is-root": "2.1.0", + "loader-utils": "2.0.0", + "open": "^7.0.2", + "pkg-up": "3.1.0", + "prompts": "2.4.0", + "react-error-overlay": "^6.0.9", + "recursive-readdir": "2.2.2", + "shell-quote": "1.7.2", + "strip-ansi": "6.0.0", + "text-table": "0.2.0" + }, + "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==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "browserslist": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", + "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==", + "requires": { + "caniuse-lite": "^1.0.30001125", + "electron-to-chromium": "^1.3.564", + "escalade": "^3.0.2", + "node-releases": "^1.1.61" + } + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + }, + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.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==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + } + } + } + } + }, + "react-dom": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.1.tgz", + "integrity": "sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.1" + } + }, + "react-draft-wysiwyg": { + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/react-draft-wysiwyg/-/react-draft-wysiwyg-1.14.5.tgz", + "integrity": "sha512-utbJEs91757QXYoBwKRb/4kB3JdswLlj0heUiAeXs/OxZAUISJXxLMFLBIixRlIcUnNkwxOsMikRshDMtWIS3g==", + "requires": { + "classnames": "^2.2.6", + "draftjs-utils": "^0.10.2", + "html-to-draftjs": "^1.5.0", + "linkify-it": "^2.2.0", + "prop-types": "^15.7.2" + } + }, + "react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" + }, + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, + "react-feather": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/react-feather/-/react-feather-2.0.9.tgz", + "integrity": "sha512-yMfCGRkZdXwIs23Zw/zIWCJO3m3tlaUvtHiXlW+3FH7cIT6fiK1iJ7RJWugXq7Fso8ZaQyUm92/GOOHXvkiVUw==", + "requires": { + "prop-types": "^15.7.2" + } + }, + "react-flatpickr": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/react-flatpickr/-/react-flatpickr-3.9.1.tgz", + "integrity": "sha512-g3FdnrYfFWOj/cWuPwHhYigpchu8GwAJvUzxUrba20dhrAdW1+dwAQxE+3aGe6eFYhYlTosVYTP8XAefnn5kxg==", + "requires": { + "flatpickr": "^4.5.7", + "prop-types": "^15.5.10" + } + }, + "react-hook-form": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-6.15.1.tgz", + "integrity": "sha512-bL0LQuQ3OlM3JYfbacKtBPLOHhmgYz8Lj6ivMrvu2M6e1wnt4sbGRtPEPYCc/8z3WDbjrMwfAfLX92OsB65pFA==" + }, + "react-input-autosize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-3.0.0.tgz", + "integrity": "sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg==", + "requires": { + "prop-types": "^15.5.8" + } + }, + "react-intl": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-3.11.0.tgz", + "integrity": "sha512-W5kc9uCkNRjw4ijZ9cBts5VDtK2DkILKZ1WpqmvVLHZ6EIHMFZkhFs6LQJurN+2msdROfB59gc5K1z8kM0u6/w==", + "requires": { + "@formatjs/intl-listformat": "^1.3.7", + "@formatjs/intl-relativetimeformat": "^4.5.7", + "@formatjs/intl-unified-numberformat": "^3.0.4", + "@formatjs/intl-utils": "^2.0.4", + "@formatjs/macro": "^0.2.6", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/invariant": "^2.2.31", + "hoist-non-react-statics": "^3.3.1", + "intl-format-cache": "^4.2.19", + "intl-locales-supported": "^1.8.4", + "intl-messageformat": "^7.8.2", + "intl-messageformat-parser": "^3.6.2", + "shallow-equal": "^1.2.1" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-leaflet": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-3.1.0.tgz", + "integrity": "sha512-kdZS8NYbYFPmkQr7zSDR2gkKGFeWvkxqoqcmZEckzHL4d5c85dJ2gbbqhaPDpmWWgaRw9O29uA/77qpKmK4mTQ==", + "requires": { + "@react-leaflet/core": "^1.0.2" + } + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-paginate": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/react-paginate/-/react-paginate-7.0.0.tgz", + "integrity": "sha512-mzPwHGJfSs79JBGX2V0v/FfQp3yWdz0XRrB9JvsUbJdsxqCt4osk1O669+K8VPQ0Lh9v0lJsnLLoJwnsgdJFng==", + "requires": { + "prop-types": "^15.6.1" + } + }, + "react-perfect-scrollbar": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-perfect-scrollbar/-/react-perfect-scrollbar-1.5.5.tgz", + "integrity": "sha512-EDJxB57iGF1d3bhMtO9YKTYEutiSEM2RdQRA3bm9fNxG5W5oR7nFtmMaCzsWwW72VMuRufpyLkcgdm2D2gejSQ==", + "requires": { + "perfect-scrollbar": "^1.5.0", + "prop-types": "^15.6.1" + } + }, + "react-player": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/react-player/-/react-player-2.6.2.tgz", + "integrity": "sha512-Wi9DynNSVgddKxac5OzsH0Upk6VRYssvLLGgCRw6vsjzqMX6S5N26WDRNYnLaHykxFNtpPSDc53fXDe52hMaCg==", + "requires": { + "deepmerge": "^4.0.0", + "load-script": "^1.0.0", + "memoize-one": "^5.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.0.1" + } + }, + "react-popper": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.11.tgz", + "integrity": "sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==", + "requires": { + "@babel/runtime": "^7.1.2", + "@hypnosphi/create-react-context": "^0.3.1", + "deep-equal": "^1.1.1", + "popper.js": "^1.14.4", + "prop-types": "^15.6.1", + "typed-styles": "^0.0.7", + "warning": "^4.0.2" + } + }, + "react-rating": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/react-rating/-/react-rating-2.0.5.tgz", + "integrity": "sha512-uldxgLCe5bzqGX7V+7/bPgQQj2Kok6eiMgTMxjKOhfhnQkFLDlc4TjMlp7gaJFAHWdbiOnqpiShI7z8as6oWtg==", + "requires": { + "@types/lodash": "^4.14.105", + "@types/react": "^16.0.40" + }, + "dependencies": { + "@types/react": { + "version": "16.14.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.14.tgz", + "integrity": "sha512-uwIWDYW8LznHzEMJl7ag9St1RsK0gw/xaFZ5+uI1ZM1HndwUgmPH3/wQkSb87GkOVg7shUxnpNW8DcN0AzvG5Q==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + } + } + }, + "react-redux": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.2.tgz", + "integrity": "sha512-8+CQ1EvIVFkYL/vu6Olo7JFLWop1qRUeb46sGtIMDCSpgwPQq8fPLpirIB0iTqFe9XYEFPHssdX8/UwN6pAkEA==", + "requires": { + "@babel/runtime": "^7.12.1", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^16.13.1" + } + }, + "react-refresh": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", + "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" + }, + "react-resize-detector": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-5.2.0.tgz", + "integrity": "sha512-PQAc03J2eyhvaiWgEdQ8+bKbbyGJzLEr70KuivBd1IEmP/iewNakLUMkxm6MWnDqsRPty85pioyg8MvGb0qC8A==", + "requires": { + "lodash": "^4.17.20", + "prop-types": "^15.7.2", + "raf-schd": "^4.0.2", + "resize-observer-polyfill": "^1.5.1" + } + }, + "react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + } + } + }, + "react-router-dom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + } + } + }, + "react-scripts": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.2.tgz", + "integrity": "sha512-okaWNaGDGtnXyM2CLMUl8gYZnAubgxEulC40FYjsxn5bbj+G/mDINdy24wHz4Vypb/LWtIe8rdBU78k/74v8Mw==", + "requires": { + "@babel/core": "7.12.3", + "@pmmmwh/react-refresh-webpack-plugin": "0.4.3", + "@svgr/webpack": "5.5.0", + "@typescript-eslint/eslint-plugin": "^4.5.0", + "@typescript-eslint/parser": "^4.5.0", + "babel-eslint": "^10.1.0", + "babel-jest": "^26.6.0", + "babel-loader": "8.1.0", + "babel-plugin-named-asset-import": "^0.3.7", + "babel-preset-react-app": "^10.0.0", + "bfj": "^7.0.2", + "camelcase": "^6.1.0", + "case-sensitive-paths-webpack-plugin": "2.3.0", + "css-loader": "4.3.0", + "dotenv": "8.2.0", + "dotenv-expand": "5.1.0", + "eslint": "^7.11.0", + "eslint-config-react-app": "^6.0.0", + "eslint-plugin-flowtype": "^5.2.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-jest": "^24.1.0", + "eslint-plugin-jsx-a11y": "^6.3.1", + "eslint-plugin-react": "^7.21.5", + "eslint-plugin-react-hooks": "^4.2.0", + "eslint-plugin-testing-library": "^3.9.2", + "eslint-webpack-plugin": "^2.1.0", + "file-loader": "6.1.1", + "fs-extra": "^9.0.1", + "fsevents": "^2.1.3", + "html-webpack-plugin": "4.5.0", + "identity-obj-proxy": "3.0.0", + "jest": "26.6.0", + "jest-circus": "26.6.0", + "jest-resolve": "26.6.0", + "jest-watch-typeahead": "0.6.1", + "mini-css-extract-plugin": "0.11.3", + "optimize-css-assets-webpack-plugin": "5.0.4", + "pnp-webpack-plugin": "1.6.4", + "postcss-flexbugs-fixes": "4.2.1", + "postcss-loader": "3.0.0", + "postcss-normalize": "8.0.1", + "postcss-preset-env": "6.7.0", + "postcss-safe-parser": "5.0.2", + "prompts": "2.4.0", + "react-app-polyfill": "^2.0.0", + "react-dev-utils": "^11.0.2", + "react-refresh": "^0.8.3", + "resolve": "1.18.1", + "resolve-url-loader": "^3.1.2", + "sass-loader": "^10.0.5", + "semver": "7.3.2", + "style-loader": "1.3.0", + "terser-webpack-plugin": "4.2.3", + "ts-pnp": "1.2.0", + "url-loader": "4.1.1", + "webpack": "4.44.2", + "webpack-dev-server": "3.11.0", + "webpack-manifest-plugin": "2.2.0", + "workbox-webpack-plugin": "5.1.4" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", + "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.1", + "@babel/parser": "^7.12.3", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "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" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "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==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^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==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.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==", + "requires": { + "yallist": "^3.0.2" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "sass-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz", + "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==", + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "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=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "webpack": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "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.3.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.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "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==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "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==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.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==" + } + } + }, + "react-scroll-up": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/react-scroll-up/-/react-scroll-up-1.3.7.tgz", + "integrity": "sha512-STijjW7R/cc2+6GswZzcBb73sQgtQP5IZnSIeJlKGb2I1WDyc1bl5dbHuPeklDY0OAf3opV2DUHXDYhItZe/cw==", + "requires": { + "detect-passive-events": "^2.0.2", + "object-assign": "^4.0.1", + "prop-types": "^15.5.8", + "tween-functions": "^1.1.0" + } + }, + "react-select": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-4.0.2.tgz", + "integrity": "sha512-BiihrRpRIBBvNqofNZIBpo08Kw8DBHb/kgpIDW4bxgkttk50Sxf0alEIKobns3U7UJXk/CA4rsFUueQEg9Pm5A==", + "requires": { + "@babel/runtime": "^7.4.4", + "@emotion/cache": "^11.0.0", + "@emotion/css": "^11.0.0", + "@emotion/react": "^11.1.1", + "memoize-one": "^5.0.0", + "prop-types": "^15.6.0", + "react-input-autosize": "^3.0.0", + "react-transition-group": "^4.3.0" + } + }, + "react-shepherd": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/react-shepherd/-/react-shepherd-3.3.0.tgz", + "integrity": "sha512-w9ulB7ILt+uNJpRQmLsdBZSS600UkquDcToOsWGg2xv52FgcbMkGAIFtHAx7beXha/Pu6FFHy0SM67ZqUGWAxA==", + "requires": { + "shepherd.js": "^8.0.0" + } + }, + "react-slidedown": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/react-slidedown/-/react-slidedown-2.4.5.tgz", + "integrity": "sha512-zFDhgqQ1ZLfRr+rQA7p+13OTT/+zUR/+3v3JnwrnXPM8R+1KHhuTNseYHU8jYN3QfxjJXtqve0rgbWCBiFkpiw==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "react-smooth": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-1.0.6.tgz", + "integrity": "sha512-B2vL4trGpNSMSOzFiAul9kFAsxTukL9Wyy9EXtkQy3GJr6sZqW9e1nShdVOJ3hRYamPZ94O17r3Q0bjSw3UYtg==", + "requires": { + "lodash": "~4.17.4", + "prop-types": "^15.6.0", + "raf": "^3.4.0", + "react-transition-group": "^2.5.0" + }, + "dependencies": { + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + } + } + }, + "react-sortablejs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/react-sortablejs/-/react-sortablejs-6.0.0.tgz", + "integrity": "sha512-vzi+TWOnofcYg+dYnC/Iz/ZZkBGG76uM6KaLwuAqBk0349JQxIy3PZizbK0TJdLlK6NnLt4CiEyyQXSSnVYvEw==", + "requires": { + "classnames": "^2.2.6", + "tiny-invariant": "^1.1.0" + } + }, + "react-toastify": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-7.0.3.tgz", + "integrity": "sha512-cxZ5rfurC8LzcZQMTYc8RHIkQTs+BFur18Pzk6Loz6uS8OXUWm6nXVlH/wqglz4Z7UAE8xxcF5mRjfE13487uQ==", + "requires": { + "clsx": "^1.1.1" + } + }, + "react-transition-group": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", + "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "reactstrap": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-8.6.0.tgz", + "integrity": "sha512-03/UMbLPR6MhVStVUfCLuKh8xh4JOtNVkRxDB9/uHixN+cEQPOpSYa0K69YyK1/2YdZBs2qS6y0cQkK8NQKBHA==", + "requires": { + "@babel/runtime": "^7.2.0", + "classnames": "^2.2.3", + "prop-types": "^15.5.8", + "react-popper": "^1.3.6", + "react-transition-group": "^2.3.1" + }, + "dependencies": { + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + } + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "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==", + "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" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "recharts": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.0.4.tgz", + "integrity": "sha512-XwFRhyOW6APMKvrCqN8e1IPHAQi7lmrOqp48LKi40NFI8WjFWHgTaTfwBBMsGCnTJSezJEEd/41L3bo/tfevkw==", + "requires": { + "classnames": "^2.2.5", + "d3-interpolate": "^2.0.1", + "d3-scale": "^3.2.3", + "d3-shape": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.19", + "react-resize-detector": "^5.2.0", + "react-smooth": "^1.0.6", + "recharts-scale": "^0.4.2", + "reduce-css-calc": "^2.1.7" + } + }, + "recharts-scale": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", + "requires": { + "decimal.js-light": "^2.4.1" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "requires": { + "minimatch": "3.0.4" + } + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "requires": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.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==" + } + } + }, + "redux": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, + "redux-debounced": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/redux-debounced/-/redux-debounced-0.5.0.tgz", + "integrity": "sha512-O2anhB0A6yQZH19uLETFtajcUQLcyiJcgC0hHSoFr5T3hWGtt0C5s6KNnb2RX51MwCh5VCl9ehZTv91F/rsZww==" + }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "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==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "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==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "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==" + }, + "regjsparser": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "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=" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "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=" + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "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" + }, + "dependencies": { + "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" + } + }, + "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 + }, + "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" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "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==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "requires": { + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "resolve-url-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz", + "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==", + "requires": { + "adjust-sourcemap-loader": "3.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.36", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "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==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", + "requires": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + } + }, + "rollup-plugin-babel": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", + "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-terser": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", + "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", + "requires": { + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" + }, + "dependencies": { + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" + } + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + }, + "rtlcss": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-2.6.2.tgz", + "integrity": "sha512-06LFAr+GAPo+BvaynsXRfoYTJvSaWRyOhURCQ7aeI1MKph9meM222F+Zkt3bDamyHHJuGi3VPtiRkpyswmQbGA==", + "requires": { + "@choojs/findup": "^0.2.1", + "chalk": "^2.4.2", + "mkdirp": "^0.5.1", + "postcss": "^6.0.23", + "strip-json-comments": "^2.0.0" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "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==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "requires": { + "is-extendable": "^0.1.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==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "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=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "sanitize.css": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz", + "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==" + }, + "sass": { + "version": "1.26.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.8.tgz", + "integrity": "sha512-yvtzyrKLGiXQu7H12ekXqsfoGT/aTKeMDyVzCB675k1HYuaj0py63i8Uf4SI9CHXj6apDhpfwbUr3gGOjdpu2Q==", + "requires": { + "chokidar": ">=2.0.0 <4.0.0" + } + }, + "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" + }, + "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 + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "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" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "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": { + "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" + } + }, + "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" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "screenfull": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.0.2.tgz", + "integrity": "sha512-cCF2b+L/mnEiORLN5xSAz6H3t18i2oHh9BA8+CQlAh5DRw2+NFAGQJOSYbcGw8B2k04g/lVvFcfZ83b3ysH5UQ==" + }, + "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" + } + } + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "optional": true + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "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==", + "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=", + "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=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "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" + } + }, + "shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "optional": true + }, + "shepherd.js": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/shepherd.js/-/shepherd.js-8.3.1.tgz", + "integrity": "sha512-IhxZNhnK2m/pNTXudNfYrcwvcZNWkeYngQbQee8nC3xJ2GjeIatGqivhdZAMZ+LeogZvKMakB931d/V534uhrw==", + "requires": { + "@popperjs/core": "^2.9.2", + "deepmerge": "^4.2.2", + "smoothscroll-polyfill": "^0.4.4" + } + }, + "shortid": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", + "requires": { + "nanoid": "^2.1.0" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "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==" + } + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "smoothscroll-polyfill": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", + "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "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==", + "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=", + "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=", + "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=" + } + } + }, + "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==", + "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=", + "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==", + "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==", + "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==", + "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==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io-client": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.2.0.tgz", + "integrity": "sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "engine.io-client": "~3.3.1", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "socket.io-parser": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "requires": { + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "sockjs": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sortablejs": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.12.0.tgz", + "integrity": "sha512-bPn57rCjBRlt2sC24RBsu40wZsmLkSo2XeqG8k6DC1zru5eObQUIPPZAQG7W2SJ8FZQYq+BEJmvuw1Zxb3chqg==" + }, + "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==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" + }, + "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==", + "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==", + "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==" + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "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==" + }, + "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==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", + "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "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==", + "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=" + }, + "ssf": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz", + "integrity": "sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==", + "requires": { + "frac": "~1.1.2" + } + }, + "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" + } + }, + "ssr-window": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", + "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "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=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "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==", + "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==", + "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==", + "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==" + }, + "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=" + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string.prototype.matchall": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", + "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.3.1", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + } + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "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" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "style-loader": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", + "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.0" + } + }, + "styled-components": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.1.1.tgz", + "integrity": "sha512-1ps8ZAYu2Husx+Vz8D+MvXwEwvMwFv+hqqUwhNlDN5ybg6A+3xyW1ECrAgywhvXapNfXiz79jJyU0x22z0FFTg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.4.5", + "@emotion/is-prop-valid": "^0.8.8", + "@emotion/stylis": "^0.8.4", + "@emotion/unitless": "^0.7.4", + "babel-plugin-styled-components": ">= 1", + "css-to-react-native": "^3.0.0", + "hoist-non-react-statics": "^3.0.0", + "shallowequal": "^1.1.0", + "supports-color": "^5.5.0" + } + }, + "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==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "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==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "stylis": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz", + "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "requires": { + "has-flag": "^4.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==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "requires": { + "svg.js": "^2.0.1" + } + }, + "svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha1-iqmUawqOJ4V6XEChDrpAkeVpHxI=", + "requires": { + "svg.js": ">=2.3.x" + } + }, + "svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha1-kQCOFROJ3ZIwd5/L5uLJo2LRwgM=", + "requires": { + "svg.js": "^2.2.5" + } + }, + "svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + }, + "svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "requires": { + "svg.js": "^2.4.0" + } + }, + "svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "requires": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "dependencies": { + "svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "requires": { + "svg.js": "^2.2.5" + } + } + } + }, + "svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "requires": { + "svg.js": "^2.6.5" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "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" + } + }, + "sweetalert2": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.14.0.tgz", + "integrity": "sha512-EBUh4k9qyRRsttm9X9j7WUhLExetvTJpcbp1VTMJCpuI2UwHLesXMIw9M+UeuqBywv0UjNMR5PKH7Qnv65m8rw==" + }, + "sweetalert2-react-content": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sweetalert2-react-content/-/sweetalert2-react-content-3.0.1.tgz", + "integrity": "sha512-VBybIRTIzY2bTkUddcp2wMJ3mp3gfGGX6+BfW2dDrEv6bXM2WtzJpFkM2imFpcPhpkOIf2/J8gLxEu0jBZq0DQ==" + }, + "swiper": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-6.0.4.tgz", + "integrity": "sha512-D+DBxgg81+uocgsvhmdzrpr4GHzhAt2yImArqzunrC80y7+/yCEAq/EJw1VASD+CBFNacF4F8FEIqJMLyDFM0g==", + "requires": { + "dom7": "^3.0.0-alpha.7", + "ssr-window": "^3.0.0-alpha.4" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + }, + "tempy": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", + "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", + "requires": { + "temp-dir": "^1.0.0", + "type-fest": "^0.3.1", + "unique-string": "^1.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "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==" + } + } + }, + "terser-webpack-plugin": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", + "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "requires": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.5.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.4", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^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==", + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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==", + "requires": { + "find-up": "^4.0.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "terser": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", + "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "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=" + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "optional": true + }, + "tiny-invariant": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", + "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "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=" + }, + "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=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "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==", + "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": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "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" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" + }, + "tsconfig-paths": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz", + "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "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" + } + }, + "tus-js-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tus-js-client/-/tus-js-client-2.3.0.tgz", + "integrity": "sha512-I4cSwm6N5qxqCmBqenvutwSHe9ntf81lLrtf6BmLpG2v4wTl89atCQKqGgqvkodE6Lx+iKIjMbaXmfvStTg01g==", + "requires": { + "buffer-from": "^0.1.1", + "combine-errors": "^3.0.3", + "is-stream": "^2.0.0", + "js-base64": "^2.6.1", + "lodash.throttle": "^4.1.1", + "proper-lockfile": "^2.0.1", + "url-parse": "^1.4.3" + }, + "dependencies": { + "buffer-from": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz", + "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + } + } + }, + "tween-functions": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz", + "integrity": "sha1-GuOlDnxguz3vd06scHrLynO7w/8=" + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-styles": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", + "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "ua-parser-js": { + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==" + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "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==" + }, + "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==", + "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==" + }, + "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==" + }, + "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==", + "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=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "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==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "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=", + "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=", + "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=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "uppy": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/uppy/-/uppy-1.21.2.tgz", + "integrity": "sha512-4qkdvtMiVysDjb3p+BoEA9G8wVjXg8Hs2F3IiPzWOArbIfKB2pJf8QhdNgg9o6RuKZeq4wx2ynzk+KP1h6nEtQ==", + "requires": { + "@uppy/aws-s3": "^1.7.0", + "@uppy/aws-s3-multipart": "^1.8.6", + "@uppy/companion-client": "^1.5.4", + "@uppy/core": "^1.13.2", + "@uppy/dashboard": "^1.12.8", + "@uppy/drag-drop": "^1.4.19", + "@uppy/dropbox": "^1.4.16", + "@uppy/facebook": "^1.1.16", + "@uppy/file-input": "^1.4.17", + "@uppy/form": "^1.3.20", + "@uppy/golden-retriever": "^1.3.19", + "@uppy/google-drive": "^1.5.16", + "@uppy/informer": "^1.5.11", + "@uppy/instagram": "^1.4.16", + "@uppy/onedrive": "^1.1.16", + "@uppy/progress-bar": "^1.3.19", + "@uppy/provider-views": "^1.7.7", + "@uppy/redux-dev-tools": "^1.3.5", + "@uppy/screen-capture": "^1.0.8", + "@uppy/status-bar": "^1.7.6", + "@uppy/store-default": "^1.2.4", + "@uppy/store-redux": "^1.2.4", + "@uppy/thumbnail-generator": "^1.6.7", + "@uppy/transloadit": "^1.6.11", + "@uppy/tus": "^1.7.7", + "@uppy/url": "^1.5.11", + "@uppy/webcam": "^1.7.0", + "@uppy/xhr-upload": "^1.6.4" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "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=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + } + } + }, + "url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "requires": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "url-parse": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "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=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, + "v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "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==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "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==" + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.x" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "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==", + "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=", + "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==", + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": 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=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "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" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "optional": 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=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "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=", + "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=", + "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=", + "optional": true, + "requires": { + "binary-extensions": "^1.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==", + "optional": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "optional": 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=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "optional": 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" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "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=", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webpack": { + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "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": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "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" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "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==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "requires": { + "is-extendable": "^0.1.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==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "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==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "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==", + "requires": { + "yallist": "^3.0.2" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "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==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.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=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" + } + } + }, + "webpack-dev-server": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.20", + "sockjs-client": "1.4.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "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=", + "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==" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "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" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "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==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "requires": { + "is-extendable": "^0.1.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==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "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=", + "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=", + "requires": { + "is-extglob": "^2.1.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==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + }, + "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=", + "requires": { + "binary-extensions": "^1.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==" + }, + "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=" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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" + } + }, + "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==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "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==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-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==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.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=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "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==", + "requires": { + "has-flag": "^3.0.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=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "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==", + "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==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "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" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "webpack-manifest-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz", + "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==", + "requires": { + "fs-extra": "^7.0.0", + "lodash": ">=3.5 <5", + "object.entries": "^1.1.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "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==" + } + } + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "requires": { + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "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" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "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": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "wildcard": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", + "integrity": "sha1-pwIEUwhNjNLv5wup02liY94XEKU=" + }, + "wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" + }, + "wnumb": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/wnumb/-/wnumb-1.2.0.tgz", + "integrity": "sha512-eYut5K/dW7usfk/Mwm6nxBNoTPp/uP7PlXld+hhg7lDtHLdHFnNclywGYM9BRC7Ohd4JhwuHg+vmOUGfd3NhVA==" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "workbox-background-sync": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz", + "integrity": "sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-broadcast-update": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz", + "integrity": "sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-build": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz", + "integrity": "sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==", + "requires": { + "@babel/core": "^7.8.4", + "@babel/preset-env": "^7.8.4", + "@babel/runtime": "^7.8.4", + "@hapi/joi": "^15.1.0", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-replace": "^2.3.1", + "@surma/rollup-plugin-off-main-thread": "^1.1.1", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.6", + "lodash.template": "^4.5.0", + "pretty-bytes": "^5.3.0", + "rollup": "^1.31.1", + "rollup-plugin-babel": "^4.3.3", + "rollup-plugin-terser": "^5.3.1", + "source-map": "^0.7.3", + "source-map-url": "^0.4.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "tempy": "^0.3.0", + "upath": "^1.2.0", + "workbox-background-sync": "^5.1.4", + "workbox-broadcast-update": "^5.1.4", + "workbox-cacheable-response": "^5.1.4", + "workbox-core": "^5.1.4", + "workbox-expiration": "^5.1.4", + "workbox-google-analytics": "^5.1.4", + "workbox-navigation-preload": "^5.1.4", + "workbox-precaching": "^5.1.4", + "workbox-range-requests": "^5.1.4", + "workbox-routing": "^5.1.4", + "workbox-strategies": "^5.1.4", + "workbox-streams": "^5.1.4", + "workbox-sw": "^5.1.4", + "workbox-window": "^5.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "workbox-cacheable-response": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz", + "integrity": "sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-core": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz", + "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==" + }, + "workbox-expiration": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz", + "integrity": "sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-google-analytics": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz", + "integrity": "sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==", + "requires": { + "workbox-background-sync": "^5.1.4", + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4", + "workbox-strategies": "^5.1.4" + } + }, + "workbox-navigation-preload": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz", + "integrity": "sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-precaching": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz", + "integrity": "sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-range-requests": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz", + "integrity": "sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-routing": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz", + "integrity": "sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-strategies": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz", + "integrity": "sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==", + "requires": { + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4" + } + }, + "workbox-streams": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz", + "integrity": "sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==", + "requires": { + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4" + } + }, + "workbox-sw": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz", + "integrity": "sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==" + }, + "workbox-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ==", + "requires": { + "@babel/runtime": "^7.5.5", + "fast-json-stable-stringify": "^2.0.0", + "source-map-url": "^0.4.0", + "upath": "^1.1.2", + "webpack-sources": "^1.3.0", + "workbox-build": "^5.1.4" + } + }, + "workbox-window": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz", + "integrity": "sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "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==", + "requires": { + "errno": "~0.1.7" + } + }, + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "requires": { + "microevent.ts": "~0.1.1" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", + "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==" + }, + "xlsx": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.2.tgz", + "integrity": "sha512-XTqOy7YpCUtGbvCYaCh1t1RsZ/y8cSCbZCOYtqqZ4/EmHkyv+/ghxmCvvR8yc4Tn5fhny+3j7voKwJaRlffNKA==", + "requires": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.14.0", + "commander": "~2.17.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "ssf": "~0.10.3", + "wmf": "~1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + } + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xmlhttprequest-ssl": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", + "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } + } + }, + "yarn": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.21.1.tgz", + "integrity": "sha512-dQgmJv676X/NQczpbiDtc2hsE/pppGDJAzwlRiADMTvFzYbdxPj2WO4PcNyriSt2c4jsCMpt8UFRKHUozt21GQ==" + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "yup": { + "version": "0.32.8", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.8.tgz", + "integrity": "sha512-SZulv5FIZ9d5H99EN5tRCRPXL0eyoYxWIP1AacCrjC9d4DfP13J1dROdKGfpfRHT3eQB6/ikBl5jG21smAfCkA==", + "requires": { + "@babel/runtime": "^7.10.5", + "@types/lodash": "^4.14.165", + "lodash": "^4.17.20", + "lodash-es": "^4.17.11", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5809f7a --- /dev/null +++ b/package.json @@ -0,0 +1,121 @@ +{ + "name": "vuexy-react-admin-dashboard", + "version": "6.4.0", + "private": true, + "dependencies": { + "@casl/ability": "5.2.2", + "@casl/react": "2.1.1", + "@fullcalendar/core": "5.7.2", + "@fullcalendar/daygrid": "5.7.2", + "@fullcalendar/interaction": "5.7.2", + "@fullcalendar/list": "5.7.2", + "@fullcalendar/react": "5.7.0", + "@fullcalendar/timegrid": "5.7.2", + "@fullcalendar/timeline": "5.7.2", + "@hookform/resolvers": "1.3.4", + "@uppy/react": "1.10.8", + "animate.css": "4.1.1", + "apexcharts": "3.23.0", + "availity-reactstrap-validation-safe": "2.6.1", + "axios": "0.21.1", + "axios-mock-adapter": "1.19.0", + "babel-plugin-react-intl": "5.1.18", + "bootstrap": "4.5.2", + "bs-stepper": "1.7.0", + "chart.js": "2.9.4", + "chroma-js": "2.1.0", + "classnames": "2.2.6", + "cleave.js": "1.6.0", + "draft-js": "0.11.7", + "draftjs-to-html": "0.9.1", + "file-saver": "2.0.2", + "flatpickr": "4.6.3", + "history": "5.0.0", + "html-to-draftjs": "1.5.0", + "intl-messageformat": "7.8.4", + "jquery": "3.5.1", + "jsonwebtoken": "8.5.1", + "leaflet": "1.6.0", + "moment": "2.29.1", + "nouislider": "14.6.2", + "nouislider-react": "3.3.8", + "postcss-rtl": "1.5.0", + "prismjs": "1.19.0", + "prop-types": "15.7.2", + "react": "17.0.1", + "react-apexcharts": "1.3.6", + "react-chartjs-2": "2.9.0", + "react-contexify": "5.0.0", + "react-copy-to-clipboard": "5.0.2", + "react-country-flag": "2.0.1", + "react-data-table-component": "6.11.2", + "react-dom": "17.0.1", + "react-draft-wysiwyg": "1.14.5", + "react-feather": "~2.0.3", + "react-flatpickr": "3.9.1", + "react-hook-form": "6.15.1", + "react-intl": "3.11.0", + "react-leaflet": "3.1.0", + "react-paginate": "7.0.0", + "react-perfect-scrollbar": "1.5.5", + "react-player": "2.6.2", + "react-rating": "2.0.5", + "react-redux": "7.2.2", + "react-router-dom": "5.2.0", + "react-scripts": "4.0.2", + "react-scroll-up": "1.3.7", + "react-select": "4.0.2", + "react-shepherd": "3.3.0", + "react-slidedown": "2.4.5", + "react-sortablejs": "6.0.0", + "react-toastify": "7.0.3", + "react-treeview": "^0.4.7", + "reactstrap": "8.6.0", + "recharts": "2.0.4", + "redux": "4.0.5", + "redux-debounced": "0.5.0", + "redux-thunk": "2.3.0", + "sass": "1.26.8", + "screenfull": "5.0.2", + "sortablejs": "1.12.0", + "styled-components": "5.1.1", + "sweetalert2": "10.14.0", + "sweetalert2-react-content": "3.0.1", + "swiper": "6.0.4", + "uppy": "1.21.2", + "webpack": "4.43.0", + "wnumb": "1.2.0", + "xlsx": "0.16.2", + "yarn": "1.21.1", + "yup": "0.32.8" + }, + "scripts": { + "start": "react-app-rewired start", + "build": "react-app-rewired build", + "test": "react-app-rewired test", + "eject": "react-app-rewired eject", + "lint": "eslint src/**/*.js src/**/*.jsx", + "lint:fix": "eslint src/**/*.js --fix" + }, + "eslintConfig": { + "extends": "react-app" + }, + "devDependencies": { + "@types/sortablejs": "^1.10.6", + "eslint": "^7.8.0", + "eslint-plugin-import": "^2.22.0", + "eslint-plugin-react": "^7.20.6", + "node-sass": "^4.13.1", + "react-app-rewire-aliases": "^0.2.0", + "react-app-rewire-postcss": "^3.0.2", + "react-app-rewire-sass-rule": "^2.1.1", + "react-app-rewired": "^2.1.6", + "sass-loader": "^8.0.2" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "homepage": "" +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 zcma);c{J4h9>;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= z!sii`1giyH7EKL_+Wi0ab<)&E_0KD!3Rp2^HNB*K2@PHCs4PWSA32*-^7d{9nH2_E zmC{C*N*)(vEF1_aMamw2A{ZH5aIDqiabnFdJ|y0%aS|64E$`s2ccV~3lR!u<){eS` z#^Mx6o(iP1Ix%4dv`t@!&Za-K@mTm#vadc{0aWDV*_%EiGK7qMC_(`exc>-$Gb9~W!w_^{*pYRm~G zBN{nA;cm^w$VWg1O^^<6vY`1XCD|s_zv*g*5&V#wv&s#h$xlUilPe4U@I&UXZbL z0)%9Uj&@yd03n;!7do+bfixH^FeZ-Ema}s;DQX2gY+7g0s(9;`8GyvPY1*vxiF&|w z>!vA~GA<~JUqH}d;DfBSi^IT*#lrzXl$fNpq0_T1tA+`A$1?(gLb?e#0>UELvljtQ zK+*74m0jn&)5yk8mLBv;=@}c{t0ztT<v;Avck$S6D`Z)^c0(jiwKhQsn|LDRY&w(Fmi91I7H6S;b0XM{e zXp0~(T@k_r-!jkLwd1_Vre^v$G4|kh4}=Gi?$AaJ)3I+^m|Zyj#*?Kp@w(lQdJZf4 z#|IJW5z+S^e9@(6hW6N~{pj8|NO*>1)E=%?nNUAkmv~OY&ZV;m-%?pQ_11)hAr0oAwILrlsGawpxx4D43J&K=n+p3WLnlDsQ$b(9+4 z?mO^hmV^F8MV{4Lx>(Q=aHhQ1){0d*(e&s%G=i5rq3;t{JC zmgbn5Nkl)t@fPH$v;af26lyhH!k+#}_&aBK4baYPbZy$5aFx4}ka&qxl z$=Rh$W;U)>-=S-0=?7FH9dUAd2(q#4TCAHky!$^~;Dz^j|8_wuKc*YzfdAht@Q&ror?91Dm!N03=4=O!a)I*0q~p0g$Fm$pmr$ zb;wD;STDIi$@M%y1>p&_>%?UP($15gou_ue1u0!4(%81;qcIW8NyxFEvXpiJ|H4wz z*mFT(qVx1FKufG11hByuX%lPk4t#WZ{>8ka2efjY`~;AL6vWyQKpJun2nRiZYDij$ zP>4jQXPaP$UC$yIVgGa)jDV;F0l^n(V=HMRB5)20V7&r$jmk{UUIe zVjKroK}JAbD>B`2cwNQ&GDLx8{pg`7hbA~grk|W6LgiZ`8y`{Iq0i>t!3p2}MS6S+ zO_ruKyAElt)rdS>CtF7j{&6rP-#c=7evGMt7B6`7HG|-(WL`bDUAjyn+k$mx$CH;q2Dz4x;cPP$hW=`pFfLO)!jaCL@V2+F)So3}vg|%O*^T1j>C2lx zsURO-zIJC$^$g2byVbRIo^w>UxK}74^TqUiRR#7s_X$e)$6iYG1(PcW7un-va-S&u zHk9-6Zn&>T==A)lM^D~bk{&rFzCi35>UR!ZjQkdSiNX*-;l4z9j*7|q`TBl~Au`5& z+c)*8?#-tgUR$Zd%Q3bs96w6k7q@#tUn`5rj+r@_sAVVLqco|6O{ILX&U-&-cbVa3 zY?ngHR@%l{;`ri%H*0EhBWrGjv!LE4db?HEWb5mu*t@{kv|XwK8?npOshmzf=vZA@ zVSN9sL~!sn?r(AK)Q7Jk2(|M67Uy3I{eRy z_l&Y@A>;vjkWN5I2xvFFTLX0i+`{qz7C_@bo`ZUzDugfq4+>a3?1v%)O+YTd6@Ul7 zAfLfm=nhZ`)P~&v90$&UcF+yXm9sq!qCx3^9gzIcO|Y(js^Fj)Rvq>nQAHI92ap=P z10A4@prk+AGWCb`2)dQYFuR$|H6iDE8p}9a?#nV2}LBCoCf(Xi2@szia7#gY>b|l!-U`c}@ zLdhvQjc!BdLJvYvzzzngnw51yRYCqh4}$oRCy-z|v3Hc*d|?^Wj=l~18*E~*cR_kU z{XsxM1i{V*4GujHQ3DBpl2w4FgFR48Nma@HPgnyKoIEY-MqmMeY=I<%oG~l!f<+FN z1ZY^;10j4M4#HYXP zw5eJpA_y(>uLQ~OucgxDLuf}fVs272FaMxhn4xnDGIyLXnw>Xsd^J8XhcWIwIoQ9} z%FoSJTAGW(SRGwJwb=@pY7r$uQRK3Zd~XbxU)ts!4XsJrCycrWSI?e!IqwqIR8+Jh zlRjZ`UO1I!BtJR_2~7AbkbSm%XQqxEPkz6BTGWx8e}nQ=w7bZ|eVP4?*Tb!$(R)iC z9)&%bS*u(lXqzitAN)Oo=&Ytn>%Hzjc<5liuPi>zC_nw;Z0AE3Y$Jao_Q90R-gl~5 z_xAb2J%eArrC1CN4G$}-zVvCqF1;H;abAu6G*+PDHSYFx@Tdbfox*uEd3}BUyYY-l zTfEsOqsi#f9^FoLO;ChK<554qkri&Av~SIM*{fEYRE?vH7pTAOmu2pz3X?Wn*!ROX ztd54huAk&mFBemMooL33RV-*1f0Q3_(7hl$<#*|WF9P!;r;4_+X~k~uKEqdzZ$5Al zV63XN@)j$FN#cCD;ek1R#l zv%pGrhB~KWgoCj%GT?%{@@o(AJGt*PG#l3i>lhmb_twKH^EYvacVY-6bsCl5*^~L0 zonm@lk2UvvTKr2RS%}T>^~EYqdL1q4nD%0n&Xqr^cK^`J5W;lRRB^R-O8b&HENO||mo0xaD+S=I8RTlIfVgqN@SXDr2&-)we--K7w= zJVU8?Z+7k9dy;s;^gDkQa`0nz6N{T?(A&Iz)2!DEecLyRa&FI!id#5Z7B*O2=PsR0 zEvc|8{NS^)!d)MDX(97Xw}m&kEO@5jqRaDZ!+%`wYOI<23q|&js`&o4xvjP7D_xv@ z5hEwpsp{HezI9!~6O{~)lLR@oF7?J7i>1|5a~UuoN=q&6N}EJPV_GD`&M*v8Y`^2j zKII*d_@Fi$+i*YEW+Hbzn{iQk~yP z>7N{S4)r*!NwQ`(qcN#8SRQsNK6>{)X12nbF`*7#ecO7I)Q$uZsV+xS4E7aUn+U(K baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..5e9846d --- /dev/null +++ b/public/index.html @@ -0,0 +1,42 @@ + + + + + + + + + + + + + Vuexy - React Admin Dashboard Template + + +
+ + + diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..1f2f141 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,15 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/src/@core/assets/data/locales/de.json b/src/@core/assets/data/locales/de.json new file mode 100644 index 0000000..cf027f3 --- /dev/null +++ b/src/@core/assets/data/locales/de.json @@ -0,0 +1,181 @@ +{ + "Dashboards": "Instrumententafel", + "Analytics": "Analytics", + "eCommerce": "eCommerce", + "Apps": "Apps", + "Email": "Email", + "Chat": "Plaudern", + "Todo": "Machen", + "Calendar": "Kalandar", + "Ecommerce": "E-Commerce", + "Shop": "Geschäft", + "Wish List": "Wunschzettel", + "Details": "Einzelheiten", + "Checkout": "Auschecken", + "User": "Benutzerin", + "List": "Liste", + "View": "Aussicht", + "Edit": "Bearbeiten", + "Starter Kit": "Starter Kit", + "1 Column": "1 Spalte", + "2 Columns": "2 Spalten", + "Fixed Navbar": "Feste Navigationsleiste", + "Floating Navbar": "Schwimmende Navigationsleiste", + "Fixed Layout": "Festes Layout", + "Static Layout": "Statisches Layout", + "Dark Layout": "Dunkles Layout", + "Light Layout": "Helles Layout", + "Content": "Inhalt", + "Grid": "Gitter", + "Typography": "Typografie", + "Text Utilities": "Textdienstprogramme", + "Syntax Highlighter": "Syntax Textmarker", + "Helper Classes": "Hilfsklassen", + "Colors": "Farben", + "Icons": "Icons", + "Feather": "Feder", + "UI Elements": "UI-Elemente", + "Card": "Karte", + "Basic": "Basic", + "Advance": "Voraus", + "Statistics": "Statistiken", + "Actions": "Kartenaktionen", + "Table": "Tabelle", + "Reactstrap Tables": "Reactstrap Tabelles", + "React Tables": "React Tabelles", + "DataTable": "Datentabelle", + "Advanced": "Fortgeschrittene", + "Mail Template": "Mail-Vorlage", + "Page Layouts": "Seitenlayouts", + "Collapsed Menu": "Reduziertes Menü", + "Layout Boxed": "Layout Boxed", + "Without Menu": "Ohne Menü", + "Layout Empty": "Layout leer", + "Layout Blank": "Layout leer", + "Components": "Komponenten", + "Alerts": "Warnungen", + "Buttons": "Tasten", + "Breadcrumbs": "Semmelbrösel", + "Carousel": "Karussell", + "Collapse": "Zusammenbruch", + "Dropdowns": "Dropdowns", + "List Group": "Listengruppe", + "Modals": "Modals", + "Pagination": "Seitennummerierung", + "Navs Component": "Navs-Komponente", + "Navbar": "Navbar", + "Tabs Component": "Registerkarten-Komponente", + "Pills Component": "Pillenkomponente", + "Tooltips": "Tooltips", + "Popovers": "Popovers", + "Badges": "Abzeichen", + "Pill Badges": "Pillenabzeichen", + "Progress": "Fortschritt", + "Media Objects": "Medienobjekte", + "Spinner": "Spinner", + "Toasts": "Toast", + "Timeline": "Zeitleiste", + "Extra Components": "Zusätzliche Komponenten", + "Avatar": "Benutzerbild", + "Chips": "Chips", + "Divider": "Teiler", + "Wizard": "Magier", + "Forms & Tables": "Formulare und Tabellen", + "Form Elements": "Formularelemente", + "Select": "Wählen", + "Switch": "Schalter", + "Checkbox": "Kontrollkästchen", + "Radio": "Radio", + "Input": "Eingang", + "Input Groups": "Eingabegruppen", + "Number Input": "Zahleneingabe", + "Textarea": "Textarea", + "Date & Time Picker": "Datums- und Uhrzeitauswahl", + "Input Mask": "Eingabemaske", + "Form Layout": "Formularlayout", + "Form Wizard": "Formzauberer", + "Form Validation": "Formularvalidierung", + "React Hook Form": "React Hook Form", + "Pages": "Seiten", + "Authentication": "Authentifizierung", + "Login v1": "Einloggen v1", + "Login v2": "Einloggen v2", + "Register v1": "Registrieren v1", + "Register v2": "Registrieren v2", + "Forgot Password v1": "Passwort vergessen v1", + "Forgot Password v2": "Passwort vergessen v2", + "Reset Password v1": "Passwort zurücksetzen v1", + "Reset Password v2": "Passwort zurücksetzen v2", + "Coming Soon": "Demnächst", + "Error": "Error", + "Not Authorized": "Nicht berechtigt", + "Maintenance": "Instandhaltung", + "Profile": "Profil", + "Account Settings": "Account Einstellungen", + "Tree": "Baum", + "Miscellaneous": "Sonstiges", + "FAQ": "FAQ", + "Knowledge Base": "Wissensbasis", + "Search": "Suche", + "Invoice": "Rechnung", + "Charts & Maps": "Karten & Pläne", + "Charts": "Diagramme", + "Apex": "Apex", + "ChartJS": "ChartJS", + "Recharts": "Recharts", + "Leaflet Maps": "Leaflet Maps", + "Extensions": "Erweiterungen", + "Sweet Alert": "Süßer Alarm", + "Toastr": "Toastr", + "Sliders": "Schieberegler", + "File Uploader": "Datei-Uploader", + "Editor": "Editor", + "Drag & Drop": "Ziehen und loslassen", + "Tour": "Tour", + "Auto Complete": "Automatisch vervollständigen", + "Clipboard": "Zwischenablage", + "React Player": "Reagieren Player", + "Context Menu": "Kontextmenü", + "Swiper": "Swiper", + "I18n": "I18n", + "React Paginate": "Paginieren reagieren", + "Export": "Export", + "Import": "Importieren", + "Export Selected": "Ausgewählte exportieren", + "Access Control": "Zugangskontrolle", + "Others": "Andere", + "Menu Levels": "Menüebenen", + "Second Level": "zweites Level", + "Second Level 2.1": "zweites Level 2.1", + "Second Level 2.2": "zweites Level 2.2", + "Third Level": "Drittes Level", + "Third Level 3.1": "Drittes Level 3.1", + "Third Level 3.2": "Drittes Level 2.2", + "Disabled Menu": "Deaktiviertes Menü", + "Documentation": "Dokumentation", + "Raise Support": "Unterstützung erhöhen", + "Change Log": "Änderungsprotokoll", + "text": "Kuchen Sesam Snaps Cupcake Lebkuchen dänisch Ich liebe Lebkuchen. Apfelkuchen Jujubes Chupa Chups Muffin Halvah Lutscher. Schokoladenkuchen-Haferkuchen-Tiramisumarzipanzuckerpflaume. Donut süße Torte Haferkuchen Dragée Obstkuchen Zuckerwatte Zitronentropfen.", + "Pricing": "Preisgestaltung", + "Blog": "Blog", + "Detail": "Einzelheiten", + "Form Repeater": "Form Repeater", + "Preview": "Vorschau", + "Add": "Hinzufügen", + "Ratings": "Bewertungen", + "show": "show", + "entries": "einträge", + "search": "suche", + "Prev": "Zurück", + "Next": "Nächster", + "BlockUI": "BlockUI", + "Reactstrap": "Reactstrap", + "Welcome": "Herzlich willkommen", + "Reset Password": "Passwort zurücksetzen", + "Verify Email": "E-Mail bestätigen", + "Deactivate Account": "Benutzerkonto deaktivieren", + "Promotional": "Werbung", + "Apps & Pages": "Apps & Seiten", + "User Interface": "Benutzeroberfläche", + "Misc": "Sonstiges" +} diff --git a/src/@core/assets/data/locales/en.json b/src/@core/assets/data/locales/en.json new file mode 100644 index 0000000..8846860 --- /dev/null +++ b/src/@core/assets/data/locales/en.json @@ -0,0 +1,179 @@ +{ + "Dashboards": "Dashboards", + "Analytics": "Analytics", + "Apps": "Apps", + "eCommerce": "eCommerce", + "Email": "Email", + "Chat": "Chat", + "Todo": "Todo", + "Calendar": "Calendar", + "Ecommerce": "Ecommerce", + "Shop": "Shop", + "Wish List": "Wish List", + "Details": "Details", + "Checkout": "Checkout", + "User": "User", + "List": "List", + "View": "View", + "Edit": "Edit", + "Starter Kit": "Starter Kit", + "1 Column": "1 Column", + "2 Columns": "2 Columns", + "Fixed Navbar": "Fixed Navbar", + "Floating Navbar": "Floating Navbar", + "Fixed Layout": "Fixed Layout", + "Static Layout": "Static Layout", + "Dark Layout": "Dark Layout", + "Light Layout": "Light Layout", + "UI Elements": "UI Elements", + "Content": "Content", + "Grid": "Grid", + "Typography": "Typography", + "Text Utilities": "Text Utilities", + "Syntax Highlighter": "Syntax Highlighter", + "Colors": "Colors", + "Icons": "Icons", + "Feather": "Feather", + "Card": "Card", + "Basic": "Basic", + "Advance": "Advance", + "Statistics": "Statistics", + "Actions": "Actions", + "Table": "Table", + "Reactstrap Tables": "Reactstrap Tables", + "React Tables": "React Tables", + "DataTable": "DataTable", + "Advanced": "Advanced", + "Mail Template": "Mail Template", + "Page Layouts": "Page Layouts", + "Collapsed Menu": "Collapsed Menu", + "Layout Boxed": "Layout Boxed", + "Without Menu": "Without Menu", + "Layout Empty": "Layout Empty", + "Layout Blank": "Layout Blank", + "Components": "Components", + "Alerts": "Alerts", + "Buttons": "Buttons", + "Breadcrumbs": "Breadcrumbs", + "Carousel": "Carousel", + "Collapse": "Collapse", + "Dropdowns": "Dropdowns", + "List Group": "List Group", + "Modals": "Modals", + "Pagination": "Pagination", + "Navs Component": "Navs Component", + "Navbar": "Navbar", + "Tabs Component": "Tabs Component", + "Pills Component": "Pills Component", + "Tooltips": "Tooltips", + "Popovers": "Popovers", + "Badges": "Badges", + "Pill Badges": "Pill Badges", + "Progress": "Progress", + "Media Objects": "Media Objects", + "Spinner": "Spinner", + "Toasts": "Toasts", + "Timeline": "Timeline", + "Extra Components": "Extra Components", + "Avatar": "Avatar", + "Chips": "Chips", + "Divider": "Divider", + "Wizard": "Wizard", + "Forms & Tables": "Forms & Tables", + "Form Elements": "Form Elements", + "Select": "Select", + "Switch": "Switch", + "Checkbox": "Checkbox", + "Radio": "Radio", + "Input": "Input", + "Input Groups": "Input Groups", + "Number Input": "Number Input", + "Textarea": "Textarea", + "Date & Time Picker": "Date & Time Picker", + "Input Mask": "Input Mask", + "Form Layout": "Form Layout", + "Form Wizard": "Form Wizard", + "React Hook Form": "React Hook Form", + "Form Validation": "Form Validation", + "Pages": "Pages", + "Authentication": "Authentication", + "Login v1": "Login v1", + "Login v2": "Login v2", + "Register v1": "Register v1", + "Register v2": "Register v2", + "Forgot Password v1": "Forgot Password v1", + "Forgot Password v2": "Forgot Password v2", + "Reset Password v1": "Reset Password v1", + "Reset Password v2": "Reset Password v2", + "Miscellaneous": "Miscellaneous", + "Coming Soon": "Coming Soon", + "Error": "Error", + "Not Authorized": "Not Authorized", + "Maintenance": "Maintenance", + "Extensions": "Extensions", + "Profile": "Profile", + "Account Settings": "Account Settings", + "FAQ": "FAQ", + "Knowledge Base": "Knowledge Base", + "Search": "Search", + "Invoice": "Invoice", + "Charts & Maps": "Charts & Maps", + "Charts": "Charts", + "Apex": "Apex", + "ChartJS": "ChartJS", + "Recharts": "Recharts", + "Leaflet Maps": "Leaflet Maps", + "Sweet Alert": "Sweet Alert", + "Toastr": "Toastr", + "Sliders": "Sliders", + "File Uploader": "File Uploader", + "Editor": "Editor", + "Drag & Drop": "Drag & Drop", + "Tour": "Tour", + "Auto Complete": "Auto Complete", + "Clipboard": "Clipboard", + "React Player": "React Player", + "Swiper": "Swiper", + "Context Menu": "Context Menu", + "Tree": "Tree", + "I18n": "I18n", + "React Paginate": "React Paginate", + "Export": "Export", + "Import": "Import", + "Export Selected": "Export Selected", + "Access Control": "Access Control", + "Others": "Others", + "Menu Levels": "Menu Levels", + "Second Level": "Second Level", + "Second Level 2.1": "Second Level 2.1", + "Second Level 2.2": "Second Level 2.2", + "Third Level 3.1": "Third Level 3.1", + "Third Level 3.2": "Third Level 3.2", + "Disabled Menu": "Disabled Menu", + "Documentation": "Documentation", + "Raise Support": "Raise Support", + "Change Log": "Change Log", + "text": "Cake sesame snaps cupcake gingerbread danish I love gingerbread. Apple pie pie jujubes chupa chups muffin halvah lollipop. Chocolate cake oat cake tiramisu marzipan sugar plum. Donut sweet pie oat cake dragée fruitcake cotton candy lemon drops.", + "Pricing": "Pricing", + "Blog": "Blog", + "Detail": "Detail", + "Form Repeater": "Form Repeater", + "Preview": "Preview", + "Add": "Add", + "Ratings": "Ratings", + "show": "show", + "entries": "entries", + "search": "search", + "Prev": "Prev", + "Next": "Next", + "BlockUI": "BlockUI", + "Reactstrap": "Reactstrap", + "Welcome": "Welcome", + "Reset Password": "Reset Password", + "Verify Email": "Verify Email", + "Deactivate Account": "Deactivate Account", + "Promotional": "Promotional", + "Apps & Pages": "Apps & Pages", + "User Interface": "User Interface", + "Misc": "Misc" +} diff --git a/src/@core/assets/data/locales/fr.json b/src/@core/assets/data/locales/fr.json new file mode 100644 index 0000000..9ea5581 --- /dev/null +++ b/src/@core/assets/data/locales/fr.json @@ -0,0 +1,180 @@ +{ + "Dashboards": "Tableau de bord", + "Analytics": "Analytique", + "Apps": "applications", + "eCommerce": "commerce électronique", + "Email": "Email", + "Chat": "Bavarder", + "Todo": "Faire", + "Calendar": "Calandre", + "Ecommerce": "Commerce électronique", + "Shop": "Boutique", + "Wish List": "Liste de souhaits", + "Details": "Détails", + "User": "Utilisatrice", + "List": "liste", + "View": "Vue", + "Edit": "modifier", + "Checkout": "Check-out", + "Starter Kit": "Kit de démarrage", + "1 Column": "1 colonne", + "2 Columns": "2 colonnes", + "Fixed Navbar": "Barre de navigation fixe", + "Floating Navbar": "Barre de navigation flottante", + "Fixed Layout": "Mise en page fixe", + "Static Layout": "Disposition statique", + "Dark Layout": "Mise en page sombre", + "Light Layout": "Mise en lumière", + "UI Elements": "Éléments d'interface utilisateur", + "Content": "Contenu", + "Grid": "la grille", + "Typography": "Typographie", + "Text Utilities": "Utilitaires de texte", + "Syntax Highlighter": "Surligneur de syntaxe", + "Colors": "Couleurs", + "Icons": "Les icônes", + "Feather": "Plume", + "Card": "Carte", + "Basic": "De base", + "Advance": "Avance", + "Statistics": "Statistiques", + "Actions": "Actions de carte", + "Table": "Table", + "Reactstrap Tables": "Tables de réactstrap", + "React Tables": "Tables de réaction", + "DataTable": "DataTable", + "Advanced": "Avancé", + "Mail Template": "Modèle de courrier", + "Page Layouts": "Mises en page", + "Collapsed Menu": "Menu réduit", + "Layout Boxed": "Disposition encadrée", + "Without Menu": "Sans menu", + "Layout Empty": "Disposition vide", + "Layout Blank": "Mise en page vierge", + "Components": "Composants", + "Alerts": "Les alertes", + "Buttons": "Boutons", + "Breadcrumbs": "Chapelure", + "Carousel": "Carrousel", + "Collapse": "Effondrer", + "Dropdowns": "Des listes déroulantes", + "List Group": "Groupe de liste", + "Modals": "Modaux", + "Pagination": "Pagination", + "Navs Component": "Composante navs", + "Navbar": "Barre de navigation", + "Tabs Component": "Composant Onglets", + "Pills Component": "Composant pilules", + "Tooltips": "Info-bulles", + "Popovers": "popovers", + "Badges": "Insignes", + "Pill Badges": "Insignes de pilule", + "Progress": "Le progrès", + "Media Objects": "Objets multimédia", + "Spinner": "Fileur", + "Toasts": "Toasts", + "Timeline": "Chronologie", + "Extra Components": "Composants Extra", + "Avatar": "Avatar", + "Chips": "chips", + "Divider": "Diviseur", + "Wizard": "sorcier", + "Form Elements": "Éléments de formulaire", + "Forms & Tables": "Formulaires et tableaux", + "Select": "Sélectionner", + "Switch": "Commutateur", + "Checkbox": "Case à cocher", + "Radio": "Radio", + "Input": "Contribution", + "Input Groups": "Groupes d'entrée", + "Number Input": "Nombre d'entrée", + "Textarea": "Textarea", + "Date & Time Picker": "Sélecteur de date et heure", + "Input Mask": "Masque de saisie", + "Form Layout": "Disposition du formulaire", + "Form Wizard": "Assistant de formulaire", + "Form Validation": "Validation de formulaire", + "React Hook Form": "React Hook Form", + "Pages": "Des pages", + "Authentication": "Authentification", + "Login v1": "S'identifier v1", + "Login v2": "S'identifier v2", + "Register v1": "S'inscrire v1", + "Register v2": "S'inscrire v2", + "Forgot Password v1": "Mot de passe oublié v1", + "Forgot Password v2": "Mot de passe oublié v2", + "Reset Password v1": "réinitialiser le mot de passe v1", + "Reset Password v2": "réinitialiser le mot de passe v2", + "Coming Soon": "Arrive bientôt", + "Error": "Erreur", + "Not Authorized": "Pas autorisé", + "Maintenance": "Entretien", + "Profile": "Profil", + "Account Settings": "Paramètres du compte", + "FAQ": "FAQ", + "Knowledge Base": "Base de connaissances", + "Search": "Chercher", + "Invoice": "Facture d'achat", + "Charts & Maps": "Graphiques et cartes", + "Charts": "Graphiques", + "Apex": "Sommet", + "ChartJS": "ChartJS", + "Recharts": "Recharts", + "Leaflet Maps": "Leaflet Maps", + "Extensions": "Les extensions", + "Sweet Alert": "Douce alerte", + "Toastr": "Toastr", + "Sliders": "Curseurs", + "File Uploader": "Chargeur de fichiers", + "Editor": "éditeur", + "Swiper": "Swiper", + "Tree": "Arbre", + "Drag & Drop": "Drag & Drop", + "Tour": "Tour", + "Auto Complete": "+Terminé automatiquement", + "Clipboard": "Presse-papiers", + "React Player": "Réagir multimédia", + "Context Menu": "Menu contextuel", + "Miscellaneous": "Divers", + "I18n": "I18n", + "React Paginate": "Réagir Paginer", + "Export": "Exportation", + "Import": "Importation", + "Export Selected": "Exporter la sélection", + "Access Control": "Contrôle d'accès", + "Others": "Autres", + "Menu Levels": "Niveaux de menu", + "Second Level": "Deuxième niveau", + "Second Level 2.1": "Deuxième niveau 2.1", + "Second Level 2.2": "Deuxième niveau 2.2", + "Third Level": "Troisième niveau", + "Third Level 3.1": "Troisième niveau 3.1", + "Third Level 3.2": "Troisième niveau 3.2", + "Disabled Menu": "Menu désactivé", + "Documentation": "Documentation", + "Raise Support": "Augmenter le soutien", + "Change Log": "Changer le journal", + "text": "Gâteau au sésame s'enclenche petit pain au pain d'épices danois J'adore le pain d'épices. Tarte aux pommes jujubes chupa chups muffin halvah lollipop. Gateau au chocolat gateau d 'avoine tiramisu prune sucre. Donut tarte sucrée gâteau à l'avoine dragée gouttes de fruits gâteau au citron en barbe à papa.", + "Pricing": "Tarification", + "Blog": "Blog", + "Detail": "Détails", + "Form Repeater": "Répétiteur de formulaire", + "Preview": "Aperçu", + "Add": "Ajouter", + "Ratings": "Évaluations", + "show": "spectacle", + "entries": "entrées", + "search": "chercher", + "Prev": "Précédente", + "Next": "Prochain", + "BlockUI": "BlockUI", + "Reactstrap": "Reactstrap", + "Welcome": "Welcome", + "Reset Password": "Réinitialiser le mot de passe", + "Verify Email": "Vérifier l'e-mail", + "Deactivate Account": "Désactiver le compte", + "Promotional": "Promotionnel", + "Apps & Pages": "Applications et pages", + "User Interface": "Interface utilisateur", + "Misc": "Divers" +} diff --git a/src/@core/assets/data/locales/pt.json b/src/@core/assets/data/locales/pt.json new file mode 100644 index 0000000..d8a8a96 --- /dev/null +++ b/src/@core/assets/data/locales/pt.json @@ -0,0 +1,181 @@ +{ + "Dashboards": "painel de controle", + "Analytics": "Analytics", + "eCommerce": "comércio eletrônico", + "Apps": "Apps", + "Email": "O email", + "Chat": "Bate-papo", + "Todo": "Façam", + "Calendar": "Calendário", + "Ecommerce": "Comércio eletrônico", + "Shop": "fazer compras", + "Wish List": "Lista de Desejos", + "Details": "Detalhes", + "Checkout": "Confira", + "User": "Do utilizador", + "List": "Lista", + "View": "Visão", + "Edit": "Editar", + "Starter Kit": "Kit iniciante", + "1 Column": "1 coluna", + "2 Columns": "2 colunas", + "Fixed Navbar": "Navbar fixa", + "Floating Navbar": "Navbar flutuante", + "Fixed Layout": "Layout fixo", + "Static Layout": "Layout estático", + "Dark Layout": "Layout escuro", + "Light Layout": "Layout de luz", + "Content": "Conteúdo", + "Grid": "Grade", + "Typography": "Tipografia", + "Text Utilities": "Utilitários de texto", + "Syntax Highlighter": "Marcador de sintaxe", + "Helper Classes": "Classes Auxiliares", + "Colors": "Cores", + "Icons": "Ícones", + "Feather": "Pena", + "UI Elements": "Elementos da interface do usuário", + "Card": "Cartão", + "Basic": "Basic", + "Advance": "Avançar", + "Statistics": "Estatisticas", + "Actions": "Ações do Cartão", + "Table": "Tabela", + "Reactstrap Tables": "Mesa Reactstrap", + "React Tables": "Mesa React", + "DataTable": "Tabela de dados", + "Advanced": "Avançado", + "Mail Template": "Modelo de Correio", + "Page Layouts": "Layouts de página", + "Collapsed Menu": "Menu recolhido", + "Layout Boxed": "Layout em caixa", + "Without Menu": "Sem Menu", + "Layout Empty": "Layout vazio", + "Layout Blank": "Layout em branco", + "Components": "Componentes", + "Alerts": "Alertas", + "Buttons": "Botões", + "Breadcrumbs": "Pão ralado", + "Carousel": "Carrossel", + "Collapse": "Colapso", + "Dropdowns": "Dropdowns", + "List Group": "Grupo de listas", + "Modals": "Modais", + "Pagination": "Paginação", + "Navs Component": "Componente Navs", + "Navbar": "Navbar", + "Tabs Component": "Componente de guias", + "Pills Component": "Componente de comprimidos", + "Tooltips": "Dicas de ferramentas", + "Popovers": "Popovers", + "Badges": "Distintivos", + "Pill Badges": "Emblemas de pílula", + "Progress": "Progresso", + "Media Objects": "Objetos de Mídia", + "Spinner": "Girador", + "Toasts": "Torradas", + "Timeline": "Linha do tempo", + "Extra Components": "Componentes extras", + "Avatar": "Avatar", + "Chips": "Salgadinhos", + "Divider": "Divisor", + "Wizard": "Mago", + "Form Elements": "Elementos do formulário", + "Forms & Tables": "Formulários e tabelas", + "Select": "Selecione", + "Switch": "Interruptor", + "Checkbox": "Caixa de seleção", + "Radio": "Rádio", + "Input": "Entrada", + "Input Groups": "Grupos de entrada", + "Number Input": "Entrada numérica", + "Textarea": "Textarea", + "Date & Time Picker": "Selecionador de data e hora", + "Input Mask": "Máscara de entrada", + "Form Layout": "Layout do formulário", + "Form Wizard": "Assistente de Formulário", + "Form Validation": "Validação de Formulário", + "React Hook Form": "React Hook Form", + "Pages": "Páginas", + "Authentication": "Autenticação", + "Login v1": "Conecte-se v1", + "Login v2": "Conecte-se v2", + "Register v1": "Registro v1", + "Register v2": "Registro v2", + "Forgot Password v1": "Esqueceu a senha v1", + "Forgot Password v2": "Esqueceu a senha v2", + "Reset Password v1": "Redefinir senha v1", + "Reset Password v2": "Redefinir senha v2", + "Coming Soon": "Em breve", + "Error": "Erro", + "Not Authorized": "Não autorizado", + "Maintenance": "Manutenção", + "Profile": "Perfil", + "FAQ": "Perguntas frequentes", + "Knowledge Base": "Base de Conhecimento", + "Search": "Procurar", + "Account Settings": "Configurações da conta", + "Invoice": "Fatura", + "Swiper": "Swiper", + "Miscellaneous": "Diversas", + "Charts & Maps": "Gráficos e Mapas", + "Charts": "Gráficos", + "Apex": "Ápice", + "ChartJS": "ChartJS", + "Recharts": "Recharts", + "Leaflet Maps": "Leaflet Maps", + "Extensions": "Extensões", + "Sweet Alert": "Alerta Doce", + "Toastr": "Toastr", + "Sliders": "Sliders", + "File Uploader": "Uploader de arquivos", + "Editor": "Editor", + "Tree": "árvore", + "Drag & Drop": "Arraste e solte", + "Tour": "Tour", + "Auto Complete": "Autocompletar", + "Clipboard": "Prancheta", + "React Player": "Reagir de mídia", + "Context Menu": "Menu contextual", + "I18n": "I18n", + "React Paginate": "React Paginate", + "Export": "Exportação", + "Import": "Importar", + "Export Selected": "Exportar selecionado", + "Access Control": "Controle de acesso", + "Others": "Outras", + "Menu Levels": "Níveis de Menu", + "Second Level": "Segundo nível", + "Second Level 2.1": "Segundo nível 2.1", + "Second Level 2.2": "Segundo nível 2.2", + "Third Level": "Terceiro nivel", + "Third Level 3.1": "Terceiro nivel 3.1", + "Third Level 3.2": "Terceiro nivel 3.2", + "Disabled Menu": "Menu desativado", + "Documentation": "Documentação", + "Raise Support": "Levantar Suporte", + "Change Log": "Log de alterações", + "text": "O sésamo do bolo agarra dinamarquês do pão-de-espécie do queque eu amo o pão-de-espécie. Torta de torta de maçã jujuba chupa chups muffin halvah pirulito. Ameixa do açúcar do maçapão do tiramisu do bolo da aveia do bolo de chocolate. Bolo de aveia de torta doce donut dragée fruitcake algodão doce gotas de limão.", + "Pricing": "Preços", + "Blog": "Blog", + "Detail": "Detalhes", + "Form Repeater": "Repetidor de formulários", + "Preview": "Pré-visualização", + "Add": "Adicionar", + "Ratings": "Avaliações", + "show": "mostrar", + "entries": "entradas", + "search": "procurar", + "Prev": "Anterior", + "Next": "Próximo", + "BlockUI": "BlockUI", + "Reactstrap": "Reactstrap", + "Welcome": "Bem-vinda", + "Reset Password": "Redefinir senha", + "Verify Email": "Verificar e-mail", + "Deactivate Account": "Desativar conta", + "Promotional": "Promocional", + "Apps & Pages": "Aplicativos e páginas", + "User Interface": "Interface de usuário", + "Misc": "Misc" +} diff --git a/src/@core/assets/fonts/feather/fonts/feather.eot b/src/@core/assets/fonts/feather/fonts/feather.eot new file mode 100644 index 0000000000000000000000000000000000000000..58371d908585297e19aae091f772f66c9d9d590d GIT binary patch literal 62084 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 literal 0 HcmV?d00001 diff --git a/src/@core/assets/fonts/feather/fonts/feather.svg b/src/@core/assets/fonts/feather/fonts/feather.svg new file mode 100644 index 0000000..4be5505 --- /dev/null +++ b/src/@core/assets/fonts/feather/fonts/feather.svg @@ -0,0 +1,849 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/@core/assets/fonts/feather/fonts/feather.ttf b/src/@core/assets/fonts/feather/fonts/feather.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0b33dac7826e8cfc7ee0337f00078bd9aea7f5c6 GIT binary patch literal 61920 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

cpn7P<>?JF|ZS3*!lYlI>4O8@Yv2jr$ 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

+ ) +} + +export default AppCollapse + +// ** PropTypes +AppCollapse.propTypes = { + data: Proptypes.array.isRequired, + accordion: Proptypes.bool, + type: Proptypes.oneOf(['shadow', 'border', 'margin']), + active: Proptypes.oneOfType([Proptypes.array, Proptypes.number]), + titleKey: Proptypes.string, + contentKey: Proptypes.string, + className: Proptypes.string +} + +// ** Default Props +AppCollapse.defaultProps = { + active: [], + toggle: 'click' +} diff --git a/src/@core/components/autocomplete/autocomplete.scss b/src/@core/components/autocomplete/autocomplete.scss new file mode 100644 index 0000000..64395bf --- /dev/null +++ b/src/@core/components/autocomplete/autocomplete.scss @@ -0,0 +1,85 @@ +// Component: Autocomplete +// ======================================================================== + +@import '../../scss/base/bootstrap-extended/include'; +@import '../../scss/base/components/include'; + +$autocomplete-active-color: #f1f1f1; + +.autocomplete-container { + position: relative; + .autocomplete-search { + height: 100%; + width: 100%; + background-color: $white; + &:focus { + box-shadow: none; + } + } + .suggestions-list { + z-index: 998; + list-style: none; + padding-left: 0; + border-radius: 0.5rem; + max-height: 450px; + height: auto; + width: 100%; + position: absolute; + margin-top: 0.5rem; + list-style-type: none; + background-color: $white; + box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11), 0 5px 15px 0 rgba(0, 0, 0, 0.08); + .suggestion-item { + padding: 0.9rem 1rem; + color: $body-color; + line-height: 1 !important; + a { + color: $body-color; + } + &.suggestion-title { + font-size: 0.85rem; + color: $text-muted; + text-transform: uppercase; + letter-spacing: 0.6px; + margin-top: 0.75rem; + margin-bottom: 0; + } + &.active, + &:hover:not(.suggestion-title-wrapper):not(.no-result) { + background-color: $autocomplete-active-color; + color: $body-color; + } + + &:hover:not(.suggestion-title-wrapper):not(.no-result) { + cursor: pointer; + } + } + &.open-up { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.5rem; + } + } +} + +// Dark +.dark-layout { + .autocomplete-container { + .suggestions-list { + background-color: $theme-dark-card-bg; + .suggestion-item { + color: $theme-dark-body-color !important; + &.suggestion-title-wrapper { + color: $theme-dark-text-muted-color; + } + &:not(.suggestion-title-wrapper) { + &.active, + &:hover { + background-color: $theme-dark-body-bg !important; + } + } + } + } + } +} diff --git a/src/@core/components/autocomplete/index.js b/src/@core/components/autocomplete/index.js new file mode 100644 index 0000000..0ec1e8a --- /dev/null +++ b/src/@core/components/autocomplete/index.js @@ -0,0 +1,354 @@ +// ** React Imports +import { Fragment, useEffect, useState, useRef } from 'react' +import ReactDOM from 'react-dom' +import { useHistory } from 'react-router-dom' + +// ** Third Party Components +import PropTypes from 'prop-types' +import classnames from 'classnames' +import { AlertCircle } from 'react-feather' +import PerfectScrollbar from 'react-perfect-scrollbar' + +// ** Custom Hooks +import { useOnClickOutside } from '@hooks/useOnClickOutside' + +// ** Styles +import '@styles/base/bootstrap-extended/_include.scss' +import './autocomplete.scss' + +const Autocomplete = props => { + // ** Refs + const container = useRef(null) + const inputElRef = useRef(null) + const suggestionsListRef = useRef(null) + + // ** States + const [focused, setFocused] = useState(false) + const [activeSuggestion, setActiveSuggestion] = useState(0) + const [showSuggestions, setShowSuggestions] = useState(false) + const [userInput, setUserInput] = useState(props.value ? props.value : '') + + // ** Vars + const history = useHistory() + let filteredData = [] + + // ** Suggestion Item Click Event + const onSuggestionItemClick = (url, e) => { + setActiveSuggestion(0) + setShowSuggestions(false) + setUserInput(filteredData[activeSuggestion][props.filterKey]) + if (url !== undefined && url !== null) { + history.push(url) + } + + if (props.onSuggestionClick) { + props.onSuggestionClick(url, e) + } + } + + // ** Suggestion Hover Event + const onSuggestionItemHover = index => { + setActiveSuggestion(index) + } + + // ** Input On Change Event + const onChange = e => { + const userInput = e.currentTarget.value + setActiveSuggestion(0) + setShowSuggestions(true) + setUserInput(userInput) + if (e.target.value < 1) { + setShowSuggestions(false) + } + } + + // ** Input Click Event + const onInputClick = e => { + e.stopPropagation() + } + + // ** Input's Keydown Event + const onKeyDown = e => { + const filterKey = props.filterKey + const suggestionList = ReactDOM.findDOMNode(suggestionsListRef.current) + + // ** User pressed the up arrow + if (e.keyCode === 38 && activeSuggestion !== 0) { + setActiveSuggestion(activeSuggestion - 1) + + if (e.target.value.length > -1 && suggestionList !== null && activeSuggestion <= filteredData.length / 2) { + suggestionList.scrollTop = 0 + } + } else if (e.keyCode === 40 && activeSuggestion < filteredData.length - 1) { + // ** User pressed the down arrow + setActiveSuggestion(activeSuggestion + 1) + + if (e.target.value.length > -1 && suggestionList !== null && activeSuggestion >= filteredData.length / 2) { + suggestionList.scrollTop = suggestionList.scrollHeight + } + } else if (e.keyCode === 27) { + // ** User Pressed ESC + setShowSuggestions(false) + setUserInput('') + } else if (e.keyCode === 13 && showSuggestions) { + // ** User Pressed ENTER + onSuggestionItemClick(filteredData[activeSuggestion].link, e) + setUserInput(filteredData[activeSuggestion][filterKey]) + setShowSuggestions(false) + } else { + return + } + + // ** Custom Keydown Event + if (props.onKeyDown !== undefined && props.onKeyDown !== null) { + props.onKeyDown(e, userInput) + } + } + + // ** Function To Render Grouped Suggestions + const renderGroupedSuggestion = arr => { + const { filterKey, customRender } = props + + const renderSuggestion = (item, i) => { + if (!customRender) { + const suggestionURL = item.link !== undefined && item.link !== null ? item.link : null + return ( +
  • onSuggestionItemClick(suggestionURL, e)} + onMouseEnter={() => { + onSuggestionItemHover(filteredData.indexOf(item)) + }} + > + {item[filterKey]} +
  • + ) + } else if (customRender) { + return customRender( + item, + i, + filteredData, + activeSuggestion, + onSuggestionItemClick, + onSuggestionItemHover, + userInput + ) + } else { + return null + } + } + + return arr.map((item, i) => { + return renderSuggestion(item, i) + }) + } + + // ** Function To Render Ungrouped Suggestions + const renderUngroupedSuggestions = () => { + const { filterKey, suggestions, customRender, suggestionLimit } = props + + filteredData = [] + const sortSingleData = suggestions + .filter(i => { + const startCondition = i[filterKey].toLowerCase().startsWith(userInput.toLowerCase()), + includeCondition = i[filterKey].toLowerCase().includes(userInput.toLowerCase()) + if (startCondition) { + return startCondition + } else if (!startCondition && includeCondition) { + return includeCondition + } else { + return null + } + }) + .slice(0, suggestionLimit) + filteredData.push(...sortSingleData) + if (sortSingleData.length) { + return sortSingleData.map((suggestion, index) => { + const suggestionURL = suggestion.link !== undefined && suggestion.link !== null ? suggestion.link : null + if (!customRender) { + return ( +
  • onSuggestionItemClick(suggestionURL, e)} + onMouseEnter={() => onSuggestionItemHover(filteredData.indexOf(suggestion))} + > + {suggestion[filterKey]} +
  • + ) + } else if (customRender) { + return customRender( + suggestion, + index, + filteredData, + activeSuggestion, + onSuggestionItemClick, + onSuggestionItemHover, + userInput + ) + } else { + return null + } + }) + } else { + return ( +
  • + No Result +
  • + ) + } + } + + // ** Function To Render Suggestions + const renderSuggestions = () => { + const { filterKey, grouped, filterHeaderKey, suggestions } = props + + // ** Checks if suggestions are grouped or not. + if (grouped === undefined || grouped === null || !grouped) { + return renderUngroupedSuggestions() + } else { + filteredData = [] + return suggestions.map(suggestion => { + const sortData = suggestion.data + .filter(i => { + const startCondition = i[filterKey].toLowerCase().startsWith(userInput.toLowerCase()), + includeCondition = i[filterKey].toLowerCase().includes(userInput.toLowerCase()) + if (startCondition) { + return startCondition + } else if (!startCondition && includeCondition) { + return includeCondition + } else { + return null + } + }) + .slice(0, suggestion.searchLimit) + + filteredData.push(...sortData) + return ( + +
  • +
    {suggestion[filterHeaderKey]}
    +
  • + {sortData.length ? ( + renderGroupedSuggestion(sortData) + ) : ( +
  • + No Result +
  • + )} +
    + ) + }) + } + } + + //** ComponentDidMount + useEffect(() => { + if (props.defaultSuggestions && focused) { + setShowSuggestions(true) + } + }, [focused, props.defaultSuggestions]) + + //** ComponentDidUpdate + useEffect(() => { + const textInput = ReactDOM.findDOMNode(inputElRef.current) + + // ** For searchbar focus + if (textInput !== null && props.autoFocus) { + inputElRef.current.focus() + } + + // ** If user has passed default suggestions & focus then show default suggestions + if (props.defaultSuggestions && focused) { + setShowSuggestions(true) + } + + // ** Function to run on user passed Clear Input + if (props.clearInput) { + props.clearInput(userInput, setUserInput) + } + + // ** Function on Suggestions Shown + if (props.onSuggestionsShown && showSuggestions) { + props.onSuggestionsShown(userInput) + } + }, [setShowSuggestions, focused, userInput, showSuggestions, props]) + + // ** On External Click Close The Search & Call Passed Function + useOnClickOutside(container, () => { + setShowSuggestions(false) + if (props.externalClick) { + props.externalClick() + } + }) + + let suggestionsListComponent + + if (showSuggestions) { + suggestionsListComponent = ( + + {renderSuggestions()} + + ) + } + + return ( +
    + { + onChange(e) + if (props.onChange) { + props.onChange(e) + } + }} + onKeyDown={e => onKeyDown(e)} + value={userInput} + className={`autocomplete-search ${props.className ? props.className : ''}`} + placeholder={props.placeholder} + onClick={onInputClick} + ref={inputElRef} + onFocus={e => setFocused(true)} + autoFocus={props.autoFocus} + onBlur={e => { + if (props.onBlur) props.onBlur(e) + setFocused(false) + }} + /> + {suggestionsListComponent} +
    + ) +} + +export default Autocomplete + +// ** PropTypes +Autocomplete.propTypes = { + suggestions: PropTypes.array.isRequired, + filterKey: PropTypes.string.isRequired, + defaultValue: PropTypes.string, + wrapperClass: PropTypes.string, + filterHeaderKey: PropTypes.string, + placeholder: PropTypes.string, + suggestionLimit: PropTypes.number, + grouped: PropTypes.bool, + autoFocus: PropTypes.bool, + onKeyDown: PropTypes.func, + onChange: PropTypes.func, + onSuggestionsShown: PropTypes.func, + onSuggestionItemClick: PropTypes.func, + clearInput: PropTypes.func, + externalClick: PropTypes.func +} diff --git a/src/@core/components/avatar-group/index.js b/src/@core/components/avatar-group/index.js new file mode 100644 index 0000000..e445689 --- /dev/null +++ b/src/@core/components/avatar-group/index.js @@ -0,0 +1,65 @@ +// ** React Imports +import { Fragment } from 'react' + +// ** Third Party Components +import Proptypes from 'prop-types' +import classnames from 'classnames' +import { UncontrolledTooltip } from 'reactstrap' + +// ** Custom Components +import Avatar from '@components/avatar' + +const AvatarGroup = props => { + // ** Props + const { data, tag, className } = props + + // ** Conditional Tag + const Tag = tag ? tag : 'div' + + // ** Render Data + const renderData = () => { + return data.map((item, i) => { + const ItemTag = item.tag ? item.tag : 'div' + return ( + + {item.title ? ( + + {item.title} + + ) : null} + {!item.meta ? ( + + ) : null} + {item.meta ? {item.meta} : null} + + ) + }) + } + + return ( + + {renderData()} + + ) +} + +export default AvatarGroup + +// ** PropTypes +AvatarGroup.propTypes = { + data: Proptypes.array.isRequired, + tag: Proptypes.oneOfType([Proptypes.func, Proptypes.string]) +} diff --git a/src/@core/components/avatar/index.js b/src/@core/components/avatar/index.js new file mode 100644 index 0000000..e72b7e6 --- /dev/null +++ b/src/@core/components/avatar/index.js @@ -0,0 +1,155 @@ +// ** React Imports +import { forwardRef } from 'react' + +// ** Third Party Components +import Proptypes from 'prop-types' +import { Badge } from 'reactstrap' +import classnames from 'classnames' + +const Avatar = forwardRef((props, ref) => { + // ** Props + const { + color, + className, + imgClassName, + initials, + size, + badgeUp, + content, + icon, + badgeColor, + badgeText, + img, + imgHeight, + imgWidth, + status, + tag: Tag, + contentStyles, + ...rest + } = props + + // ** Function to extract initials from content + const getInitials = str => { + const results = [] + const wordArray = str.split(' ') + wordArray.forEach(e => { + results.push(e[0]) + }) + return results.join('') + } + + return ( + + {img === false || img === undefined ? ( + + {initials ? getInitials(content) : content} + + {icon ? icon : null} + {badgeUp ? ( + + {badgeText ? badgeText : '0'} + + ) : null} + + ) : ( + avatarImg + )} + {status ? ( + + ) : null} + + ) +}) + +export default Avatar + +// ** PropTypes +Avatar.propTypes = { + imgClassName: Proptypes.string, + className: Proptypes.string, + src: Proptypes.string, + tag: Proptypes.oneOfType([Proptypes.func, Proptypes.string]), + badgeUp: Proptypes.bool, + content: Proptypes.string, + icon: Proptypes.node, + contentStyles: Proptypes.object, + badgeText: Proptypes.string, + imgHeight: Proptypes.oneOfType([Proptypes.string, Proptypes.number]), + imgWidth: Proptypes.oneOfType([Proptypes.string, Proptypes.number]), + size: Proptypes.oneOf(['sm', 'lg', 'xl']), + status: Proptypes.oneOf(['online', 'offline', 'away', 'busy']), + badgeColor: Proptypes.oneOf([ + 'primary', + 'secondary', + 'success', + 'danger', + 'info', + 'warning', + 'dark', + 'light-primary', + 'light-secondary', + 'light-success', + 'light-danger', + 'light-info', + 'light-warning', + 'light-dark' + ]), + color: Proptypes.oneOf([ + 'primary', + 'secondary', + 'success', + 'danger', + 'info', + 'warning', + 'dark', + 'light-primary', + 'light-secondary', + 'light-success', + 'light-danger', + 'light-info', + 'light-warning', + 'light-dark' + ]), + initials(props) { + if (props['initials'] && props['content'] === undefined) { + return new Error('content prop is required with initials prop.') + } + if (props['initials'] && typeof props['content'] !== 'string') { + return new Error('content prop must be a string.') + } + if (typeof props['initials'] !== 'boolean' && props['initials'] !== undefined) { + return new Error('initials must be a boolean!') + } + } +} + +// ** Default Props +Avatar.defaultProps = { + tag: 'div' +} diff --git a/src/@core/components/breadcrumbs/index.js b/src/@core/components/breadcrumbs/index.js new file mode 100644 index 0000000..5a37bab --- /dev/null +++ b/src/@core/components/breadcrumbs/index.js @@ -0,0 +1,92 @@ +// ** React Imports +import { Link } from 'react-router-dom' + +// ** Third Party Components +import Proptypes from 'prop-types' +import { Grid, CheckSquare, MessageSquare, Mail, Calendar } from 'react-feather' +import { + Breadcrumb, + BreadcrumbItem, + UncontrolledButtonDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle +} from 'reactstrap' + +const BreadCrumbs = props => { + // ** Props + const { breadCrumbTitle, breadCrumbParent, breadCrumbParent2, breadCrumbParent3, breadCrumbActive } = props + + return ( +
    +
    +
    +
    + {breadCrumbTitle ?

    {breadCrumbTitle}

    : ''} +
    + + + Home + + + {breadCrumbParent} + + {breadCrumbParent2 ? ( + + {breadCrumbParent2} + + ) : ( + '' + )} + {breadCrumbParent3 ? ( + + {breadCrumbParent3} + + ) : ( + '' + )} + + {breadCrumbActive} + + +
    +
    +
    +
    +
    +
    + + + + + + + + Todo + + + + Chat + + + + Email + + + + Calendar + + + +
    +
    +
    + ) +} +export default BreadCrumbs + +// ** PropTypes +BreadCrumbs.propTypes = { + breadCrumbTitle: Proptypes.string.isRequired, + breadCrumbActive: Proptypes.string.isRequired +} diff --git a/src/@core/components/card-actions/index.js b/src/@core/components/card-actions/index.js new file mode 100644 index 0000000..8ab73b6 --- /dev/null +++ b/src/@core/components/card-actions/index.js @@ -0,0 +1,132 @@ +// ** React Imports +import { Fragment, useState, useEffect } from 'react' + +// ** Third Party Components +import PropTypes from 'prop-types' +import classnames from 'classnames' +import UiLoader from '@components/ui-loader' +import { ChevronDown, RotateCw, X } from 'react-feather' +import { Card, CardHeader, CardTitle, Collapse, Spinner } from 'reactstrap' + +const CardActions = props => { + // ** Props + const { title, actions, children, collapseIcon, reloadIcon, removeIcon, endReload } = props + + // ** States + const [reload, setReload] = useState(false) + const [collapse, setCollapse] = useState(true) + const [visibility, setVisibility] = useState(true) + + /** + ** If custom icon is defined then consider that else default icons + */ + const Icons = { + collapse: collapseIcon ? collapseIcon : ChevronDown, + remove: removeIcon ? removeIcon : X, + reload: reloadIcon ? reloadIcon : RotateCw + } + + // ** Action to call + const callAction = action => { + switch (action) { + case 'collapse': + return setCollapse(!collapse) + case 'remove': + return setVisibility(false) + case 'reload': + return setReload(true) + default: + } + } + + // ** Renders card actions + const renderIcons = () => { + /** + ** IF: user passes array of actions then loop through them & render all of the actions + ** ELSE: render single action + */ + + if (Array.isArray(actions)) { + return actions.map((action, i) => { + const Tag = Icons[action] + return ( + callAction(action)} + /> + ) + }) + } else { + const Tag = Icons[actions] + return callAction(actions)} /> + } + } + + // ** Ends reload + const removeReload = () => { + setReload(false) + } + + // ** If user passes endReload function call it. + useEffect(() => { + if (reload) { + endReload(removeReload) + } + }) + + // ** If user passes collapse action then return as Wrapper else return + const CollapseWrapper = actions === 'collapse' || actions.includes('collapse') ? Collapse : Fragment + + // ** If user passes reload action then return as Wrapper else return + const BlockUiWrapper = actions === 'reload' || actions.includes('reload') ? UiLoader : Fragment + + return ( + + + + {title} +
    {renderIcons()}
    +
    + + {children} + +
    +
    + ) +} + +export default CardActions + +// ** PropTypes +CardActions.propTypes = { + title: PropTypes.string.isRequired, + collapseIcon: PropTypes.any, + removeIcon: PropTypes.any, + reloadIcon: PropTypes.any, + actions: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).isRequired, + endReload(props) { + // ** User passes reload action and doesn't pass endReload then return Error + if ( + (props['actions'] === 'reload' && props['endReload'] === undefined) || + (props['actions'].includes('reload') && props['endReload'] === undefined) + ) { + return new Error('Please provide a function to end reload!') + } + } +} diff --git a/src/@core/components/card-snippet/index.js b/src/@core/components/card-snippet/index.js new file mode 100644 index 0000000..d00288f --- /dev/null +++ b/src/@core/components/card-snippet/index.js @@ -0,0 +1,51 @@ +// ** React Imports +import { Fragment, useState } from 'react' + +// ** Third Party Components +import PropTypes from 'prop-types' +import { Code } from 'react-feather' +import { Card, CardHeader, CardBody, CardTitle, Collapse } from 'reactstrap' + +const CardSnippet = props => { + // ** Props + const { title, children, noBody, code, iconCode } = props + + // ** State + const [isOpen, setIsOpen] = useState(false) + + // ** If user passes custom icon then render that else render default icon + const IconCode = iconCode ? iconCode : + + // ** To toggle collapse + const toggle = () => setIsOpen(!isOpen) + + // ** If user passes noBody then return else return + const Wrapper = noBody ? Fragment : CardBody + + return ( + + + {title} +
    + {IconCode} +
    +
    + {children} + + {code} + +
    + ) +} + +export default CardSnippet + +// ** PropTypes +CardSnippet.propTypes = { + className: PropTypes.string, + title: PropTypes.string.isRequired, + children: PropTypes.any, + code: PropTypes.node, + iconCode: PropTypes.node, + noBody: PropTypes.bool +} diff --git a/src/@core/components/customizer/index.js b/src/@core/components/customizer/index.js new file mode 100644 index 0000000..3893791 --- /dev/null +++ b/src/@core/components/customizer/index.js @@ -0,0 +1,357 @@ +// ** React Imports +import { useState } from 'react' + +// ** Third Party Components +import Select from 'react-select' +import classnames from 'classnames' +import { Settings, X } from 'react-feather' +import { CustomInput, FormGroup } from 'reactstrap' +import PerfectScrollbar from 'react-perfect-scrollbar' +import { selectThemeColors } from '@utils' + +// ** Styles +import '@styles/react/libs/react-select/_react-select.scss' + +const Customizer = props => { + // ** Props + const { + skin, + setSkin, + isRtl, + setIsRtl, + layout, + setLayout, + navbarType, + setNavbarType, + footerType, + setFooterType, + navbarColor, + setNavbarColor, + isHidden, + setIsHidden, + contentWidth, + setContentWidth, + menuCollapsed, + setMenuCollapsed, + transition, + setTransition + } = props + + // ** State + const [openCustomizer, setOpenCustomizer] = useState(false) + + // ** Toggles Customizer + const handleToggle = e => { + e.preventDefault() + setOpenCustomizer(!openCustomizer) + } + + // ** Render Layout Skin Options + const renderSkinsRadio = () => { + const skinsArr = [ + { + name: 'light', + label: 'Light', + checked: skin === 'light' + }, + { + name: 'bordered', + label: 'Bordered', + checked: skin === 'bordered' + }, + { + name: 'dark', + label: 'Dark', + checked: skin === 'dark' + }, + { + name: 'semi-dark', + label: 'Semi Dark', + checked: skin === 'semi-dark' + } + ] + + return skinsArr.map((radio, index) => { + const marginCondition = index !== skinsArr.length - 1 + + if (layout === 'HorizontalLayout' && radio.name === 'semi-dark') { + return null + } + + return ( + setSkin(radio.name)} + className={classnames({ 'mr-1': marginCondition })} + /> + ) + }) + } + + // ** Render Navbar Colors Options + const renderNavbarColors = () => { + const colorsArr = ['white', 'primary', 'secondary', 'success', 'danger', 'info', 'warning', 'dark'] + + return colorsArr.map(color => ( +
  • setNavbarColor(color)} + >
  • + )) + } + + // ** Render Navbar Type Options + const renderNavbarTypeRadio = () => { + const navbarTypeArr = [ + { + name: 'floating', + label: 'Floating', + checked: navbarType === 'floating' + }, + { + name: 'sticky', + label: 'Sticky', + checked: navbarType === 'sticky' + }, + { + name: 'static', + label: 'Static', + checked: navbarType === 'static' + }, + { + name: 'hidden', + label: 'Hidden', + checked: navbarType === 'hidden' + } + ] + + return navbarTypeArr.map((radio, index) => { + const marginCondition = index !== navbarTypeArr.length - 1 + + if (layout === 'HorizontalLayout' && radio.name === 'hidden') { + return null + } + + return ( + setNavbarType(radio.name)} + className={classnames({ 'mr-1': marginCondition })} + /> + ) + }) + } + + // ** Render Footer Type Options + const renderFooterTypeRadio = () => { + const footerTypeArr = [ + { + name: 'sticky', + label: 'Sticky', + checked: footerType === 'sticky' + }, + { + name: 'static', + label: 'Static', + checked: footerType === 'static' + }, + { + name: 'hidden', + label: 'Hidden', + checked: footerType === 'hidden' + } + ] + + return footerTypeArr.map((radio, index) => { + const marginCondition = index !== footerTypeArr.length - 1 + + return ( + setFooterType(radio.name)} + className={classnames({ 'mr-1': marginCondition })} + /> + ) + }) + } + + // ** Router Transition Options + const transitionOptions = [ + { value: 'fadeIn', label: 'Fade' }, + { value: 'fadeInLeft', label: 'Fade In Left' }, + { value: 'zoomIn', label: 'Zoom In' }, + { value: 'none', label: 'None' } + ] + + // ** Get Current Transition + const transitionValue = transitionOptions.find(i => i.value === transition) + + return ( +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + + ) +} + +export default AddActions diff --git a/src/views/apps/invoice/add/AddCard.js b/src/views/apps/invoice/add/AddCard.js new file mode 100644 index 0000000..8350cd0 --- /dev/null +++ b/src/views/apps/invoice/add/AddCard.js @@ -0,0 +1,477 @@ +// ** React Imports +import { Fragment, useState, useEffect } from 'react' + +// ** Custom Components +import Sidebar from '@components/sidebar' +import Repeater from '@components/repeater' + +// ** Third Party Components +import axios from 'axios' +import Flatpickr from 'react-flatpickr' +import { SlideDown } from 'react-slidedown' +import { X, Plus, Hash } from 'react-feather' +import Select, { components } from 'react-select' +import { selectThemeColors } from '@utils' +import { + Card, + CardBody, + CardText, + Row, + Col, + Form, + Input, + InputGroup, + InputGroupAddon, + InputGroupText, + FormGroup, + Label, + Button, + UncontrolledTooltip +} from 'reactstrap' + +// ** Styles +import 'react-slidedown/lib/slidedown.css' +import '@styles/react/libs/react-select/_react-select.scss' +import '@styles/react/libs/flatpickr/flatpickr.scss' +import '@styles/base/pages/app-invoice.scss' + +const AddCard = () => { + // ** States + const [count, setCount] = useState(1) + const [value, setValue] = useState({}) + const [open, setOpen] = useState(false) + const [clients, setClients] = useState(null) + const [selected, setSelected] = useState(null) + const [picker, setPicker] = useState(new Date()) + const [invoiceNumber, setInvoiceNumber] = useState(false) + const [dueDatepicker, setDueDatePicker] = useState(new Date()) + const [options, setOptions] = useState([ + { + value: 'add-new', + label: 'Add New Customer', + type: 'button', + color: 'flat-success' + } + ]) + + useEffect(() => { + // ** Get Clients + axios.get('/api/invoice/clients').then(response => { + const arr = options + response.data.map(item => arr.push({ value: item.name, label: item.name })) + setOptions([...arr]) + setClients(response.data) + }) + + // ** Get Invoices & Set Invoice Number + axios + .get('/apps/invoice/invoices', { + page: 1, + perPage: 10, + status: '', + q: '' + }) + .then(response => { + const lastInvoiceNumber = Math.max.apply( + Math, + response.data.allData.map(i => i.id) + ) + setInvoiceNumber(lastInvoiceNumber + 1) + }) + }, []) + + // ** Deletes form + const deleteForm = e => { + e.preventDefault() + e.target.closest('.repeater-wrapper').remove() + } + + // ** Function to toggle sidebar + const toggleSidebar = () => setOpen(!open) + + // ** Vars + const countryOptions = [ + { value: 'australia', label: 'Australia' }, + { value: 'canada', label: 'Canada' }, + { value: 'russia', label: 'Russia' }, + { value: 'saudi-arabia', label: 'Saudi Arabia' }, + { value: 'singapore', label: 'Singapore' }, + { value: 'sweden', label: 'Sweden' }, + { value: 'switzerland', label: 'Switzerland' }, + { value: 'united-kingdom', label: 'United Kingdom' }, + { value: 'united-arab-emirates', label: 'United Arab Emirates' }, + { value: 'united-states-of-america', label: 'United States of America' } + ] + + // ** Custom Options Component + const OptionComponent = ({ data, ...props }) => { + if (data.type === 'button') { + return ( + + ) + } else { + return {data.label} + } + } + + // ** Invoice To OnChange + const handleInvoiceToChange = data => { + setValue(data) + setSelected(clients.filter(i => i.name === data.value)[0]) + } + + const note = + 'It was a pleasure working with you and your team. We hope you will keep us in mind for future freelance projects. Thank You!' + + return ( + + + {/* Header */} + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    +
    +

    Office 149, 450 South Brand Brooklyn

    +

    San Diego County, CA 91905, USA

    +

    +1 (123) 456 7891, +44 (876) 543 2198

    +
    +
    +
    +

    Invoice

    + + + + + + + + +
    +
    + Date: + setPicker(date)} + className='form-control invoice-edit-input date-picker' + /> +
    +
    + Due Date: + setDueDatePicker(date)} + className='form-control invoice-edit-input due-date-picker' + /> +
    +
    +
    +
    + {/* /Header */} + +
    + + {/* Address and Contact */} + + + +
    Invoice To:
    +
    + {clients !== null ? ( + + + + + + + + + + + Cost + +
    + Discount: 0% + + 0% + + + 0% + + Tax 1 + Tax 2 +
    + + + Qty + + + + Price + $24.00 + + +
    + +
    + + + + ) + }} + + + + setCount(count + 1)}> + + Add Item + + + + + + {/* /Product Details */} + + {/* Invoice Total */} + + + +
    + + +
    + + +
    +
    +

    Subtotal:

    +

    $1800

    +
    +
    +

    Discount:

    +

    $28

    +
    +
    +

    Tax:

    +

    21%

    +
    +
    +
    +

    Total:

    +

    $1690

    +
    +
    + +
    +
    + {/* /Invoice Total */} + +
    + + {/* Invoice Note */} + + + + + + + + + + + {/* /Invoice Note */} + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + ) +} + +export default AddCard diff --git a/src/views/apps/invoice/add/index.js b/src/views/apps/invoice/add/index.js new file mode 100644 index 0000000..a034cc0 --- /dev/null +++ b/src/views/apps/invoice/add/index.js @@ -0,0 +1,27 @@ +// ** Invoice Add Components +import AddCard from './AddCard' +import AddActions from './AddActions' + +// ** Third Party Components +import { Row, Col } from 'reactstrap' + +// ** Styles +import '@styles/react/libs/flatpickr/flatpickr.scss' +import '@styles/base/pages/app-invoice.scss' + +const InvoiceAdd = () => { + return ( +
    + + + + + + + + +
    + ) +} + +export default InvoiceAdd diff --git a/src/views/apps/invoice/edit/EditActions.js b/src/views/apps/invoice/edit/EditActions.js new file mode 100644 index 0000000..bd23bdc --- /dev/null +++ b/src/views/apps/invoice/edit/EditActions.js @@ -0,0 +1,63 @@ +// ** React Imports +import { Fragment } from 'react' +import { Link } from 'react-router-dom' + +// ** Third Party Components +import { Card, CardBody, Button, Input, CustomInput, Label } from 'reactstrap' + +const EditActions = ({ setSendSidebarOpen, setAddPaymentOpen }) => { + return ( + + + + setSendSidebarOpen(true)}> + Send Invoice + + + Preview + + + Save + + setAddPaymentOpen(true)}> + Add Payment + + + +
    +
    +

    Accept payments via

    + + + + + + + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + ) +} + +export default EditActions diff --git a/src/views/apps/invoice/edit/EditCard.js b/src/views/apps/invoice/edit/EditCard.js new file mode 100644 index 0000000..05b0a6a --- /dev/null +++ b/src/views/apps/invoice/edit/EditCard.js @@ -0,0 +1,313 @@ +// ** React Imports +import { useState } from 'react' + +// ** Third Party Components +import { + Card, + CardBody, + CardText, + Row, + Col, + Input, + InputGroup, + InputGroupAddon, + InputGroupText, + UncontrolledTooltip, + FormGroup, + Label, + Button +} from 'reactstrap' +import Flatpickr from 'react-flatpickr' +import Repeater from '@components/repeater' +import { SlideDown } from 'react-slidedown' +import { X, Plus, Hash } from 'react-feather' + +// ** Styles +import 'react-slidedown/lib/slidedown.css' +import '@styles/react/libs/flatpickr/flatpickr.scss' +import '@styles/base/pages/app-invoice.scss' + +const InvoiceEditCard = ({ data }) => { + // ** States + const [count, setCount] = useState(1) + const [picker, setPicker] = useState(new Date(data.invoice.issuedDate)) + const [dueDatepicker, setDueDatePicker] = useState(new Date(data.invoice.dueDate)) + + // ** Deletes form + const deleteForm = e => { + e.preventDefault() + e.target.closest('.repeater-wrapper').remove() + } + + const note = + 'It was a pleasure working with you and your team. We hope you will keep us in mind for future freelance projects. Thank You!' + + return ( + + {/* Header */} + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    +
    +

    Office 149, 450 South Brand Brooklyn

    +

    San Diego County, CA 91905, USA

    +

    +1 (123) 456 7891, +44 (876) 543 2198

    +
    +
    +
    +

    Invoice

    + + + + + + + + +
    +
    + Date: + setPicker(date)} + className='form-control invoice-edit-input date-picker' + /> +
    +
    + Due Date: + setDueDatePicker(date)} + className='form-control invoice-edit-input due-date-picker' + /> +
    +
    +
    +
    + {/* /Header */} + +
    + + {/* Address and Contact */} + + + +
    Invoice To:
    +
    {data.invoice.client.name}
    + {data.invoice.client.company} + {data.invoice.client.address} + {data.invoice.client.contact} + {data.invoice.client.companyEmail} + + +
    Payment Details:
    + + + + + + + + + + + + + + + + + + + + + + + +
    Total Due: + {data.paymentDetails.totalDue} +
    Bank name:{data.paymentDetails.bankName}
    Country:{data.paymentDetails.country}
    IBAN:{data.paymentDetails.iban}
    SWIFT code:{data.paymentDetails.swiftCode}
    + +
    +
    + {/* /Address and Contact */} + + {/* Product Details */} + + + {i => { + const Tag = i === 0 ? 'div' : SlideDown + return ( + + + + + + Item + + + + + + + + + + Cost + +
    + Discount: 0% + + 0% + + + 0% + + Tax 1 + Tax 2 +
    + + + Qty + + + + Price + $24.00 + +
    +
    + +
    + +
    +
    + ) + }} +
    + + + + setCount(count + 1)}> + + Add Item + + + +
    + {/* /Product Details */} + + {/* Invoice Total */} + + + +
    + + +
    + + +
    +
    +

    Subtotal:

    +

    $1800

    +
    +
    +

    Discount:

    +

    $28

    +
    +
    +

    Tax:

    +

    21%

    +
    +
    +
    +

    Total:

    +

    $1690

    +
    +
    + +
    +
    + {/* /Invoice Total */} + +
    + + {/* Invoice Note */} + + + + + + + + + + + {/* /Invoice Note */} +
    + ) +} + +export default InvoiceEditCard diff --git a/src/views/apps/invoice/edit/index.js b/src/views/apps/invoice/edit/index.js new file mode 100644 index 0000000..35f4a8b --- /dev/null +++ b/src/views/apps/invoice/edit/index.js @@ -0,0 +1,58 @@ +// ** React Imports +import { useEffect, useState } from 'react' +import { useParams, Link } from 'react-router-dom' + +// ** Third Party Components +import axios from 'axios' +import { Alert, Row, Col } from 'reactstrap' + +// ** Invoice Edit Components +import EditCard from './EditCard' +import EditActions from './EditActions' +import SendInvoiceSidebar from '../shared-sidebar/SidebarSendInvoice' +import AddPaymentSidebar from '../shared-sidebar/SidebarAddPayment' + +const InvoiceEdit = () => { + // ** Vars + const { id } = useParams() + + // ** States + const [data, setData] = useState(null) + const [sendSidebarOpen, setSendSidebarOpen] = useState(false) + const [addPaymentOpen, setAddPaymentOpen] = useState(false) + + // ** Functions to toggle add & send sidebar + const toggleSendSidebar = () => setSendSidebarOpen(!sendSidebarOpen) + const toggleAddSidebar = () => setAddPaymentOpen(!addPaymentOpen) + + // ** Get invoice on mount based on id + useEffect(() => { + axios.get(`/api/invoice/invoices/${id}`).then(response => { + setData(response.data) + }) + }, []) + + return data !== null && data.invoice !== undefined ? ( +
    + + + + + + + + + + +
    + ) : ( + +

    Invoice not found

    +
    + Invoice with id: {id} doesn't exist. Check list of all invoices: Invoice List +
    +
    + ) +} + +export default InvoiceEdit diff --git a/src/views/apps/invoice/list/SearchFilter.js b/src/views/apps/invoice/list/SearchFilter.js new file mode 100644 index 0000000..d910f00 --- /dev/null +++ b/src/views/apps/invoice/list/SearchFilter.js @@ -0,0 +1,172 @@ +// ** React Imports +import { useState, useEffect } from 'react' +import { Link } from 'react-router-dom' + +// ** Table Columns +import { columns } from './columns' + +// ** Third Party Components +import ReactPaginate from 'react-paginate' +import { ChevronDown } from 'react-feather' +import DataTable from 'react-data-table-component' +import { Button, Label, Input, CustomInput, Row, Col, Card } from 'reactstrap' + +// ** Store & Actions +import { getData } from '../store/actions' +import { useDispatch, useSelector } from 'react-redux' + +// ** Styles +import '@styles/react/apps/app-invoice.scss' +import '@styles/react/libs/tables/react-dataTable-component.scss' + +const CustomHeader = ({ handleFilter, value, handleStatusValue, statusValue, handlePerPage, rowsPerPage }) => { + return ( +
    + + +

    Search Filter

    + + + + + + + + + +
    +
    + ) +} + +const SearchFilter = () => { + const dispatch = useDispatch() + const store = useSelector(state => state.invoice) + + const [value, setValue] = useState('') + const [currentPage, setCurrentPage] = useState(1) + const [statusValue, setStatusValue] = useState('') + const [rowsPerPage, setRowsPerPage] = useState(10) + + useEffect(() => { + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + status: statusValue, + q: value + }) + ) + }, [dispatch, store.data.length]) + + const handleFilter = val => { + setValue(val) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + status: statusValue, + q: val + }) + ) + } + + const handlePerPage = e => { + dispatch( + getData({ + page: currentPage, + perPage: parseInt(e.target.value), + status: statusValue, + q: value + }) + ) + setRowsPerPage(parseInt(e.target.value)) + } + + const handleStatusValue = e => { + setStatusValue(e.target.value) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + status: e.target.value, + q: value + }) + ) + } + + const handlePagination = page => { + dispatch( + getData({ + page: page.selected + 1, + perPage: rowsPerPage, + status: statusValue, + q: value + }) + ) + setCurrentPage(page.selected + 1) + } + + const CustomPagination = () => { + const count = Number((store.total / rowsPerPage).toFixed(0)) + + return ( + handlePagination(page)} + pageClassName={'page-item'} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + containerClassName={'pagination react-paginate justify-content-end p-1'} + /> + ) + } + + const dataToRender = () => { + const filters = { + status: statusValue, + q: value + } + + const isFiltered = Object.keys(filters).some(function (k) { + return filters[k].length > 0 + }) + + if (store.data.length > 0) { + return store.data + } else if (store.data.length === 0 && isFiltered) { + return [] + } else { + return store.allData.slice(0, rowsPerPage) + } + } + + return ( +
    + +
    + +
    +
    +
    + ) +} + +export default SearchFilter diff --git a/src/views/apps/invoice/list/Sidebar.js b/src/views/apps/invoice/list/Sidebar.js new file mode 100644 index 0000000..7188d91 --- /dev/null +++ b/src/views/apps/invoice/list/Sidebar.js @@ -0,0 +1,158 @@ +// ** React Import +import { useState } from 'react' + +// ** Custom Components +import Sidebar from '@components/sidebar' + +// ** Utils +import { isObjEmpty } from '@utils' + +// ** Third Party Components +import classnames from 'classnames' +import { useForm } from 'react-hook-form' +import { Button, FormGroup, Label, FormText, Form, Input } from 'reactstrap' + +// ** Store & Actions +// import { addUser } from '../store/action' +import { useDispatch } from 'react-redux' + +const SidebarNewUsers = ({ open, toggleSidebar }) => { + // ** States + const [role, setRole] = useState('subscriber') + const [plan, setPlan] = useState('basic') + + // ** Store Vars + const dispatch = useDispatch() + + // ** Vars + // const { register, errors, handleSubmit } = useForm() + + // ** Function to handle form submit + const onSubmit = values => { + if (isObjEmpty(errors)) { + toggleSidebar() + dispatch( + addUser({ + fullName: values['full-name'], + company: values.company, + role, + username: values.username, + country: values.country, + contact: values.contact, + email: values.email, + currentPlan: plan, + status: 'active', + avatar: '' + }) + ) + } + } + + return ( + +
    + + + + + + + + + + + + You can use letters, numbers & periods + + + + + + + + + + + + + + + + setRole(e.target.value)}> + + + + + + + + setPlan(e.target.value)}> + + + + + + + + + + +
    +
    + ) +} + +export default SidebarNewUsers diff --git a/src/views/apps/invoice/list/columns.js b/src/views/apps/invoice/list/columns.js new file mode 100644 index 0000000..317599d --- /dev/null +++ b/src/views/apps/invoice/list/columns.js @@ -0,0 +1,190 @@ +// ** React Imports +import { Fragment } from 'react' + +import { Link } from 'react-router-dom' + +// ** Custom Components +import Avatar from '@components/avatar' + +// ** Store & Actions +import { deleteInvoice } from '../store/actions' +import { store } from '@store/storeConfig/store' + +// ** Third Party Components +import { + Badge, + UncontrolledDropdown, + DropdownMenu, + DropdownToggle, + DropdownItem, + UncontrolledTooltip +} from 'reactstrap' +import { + Eye, + TrendingUp, + Send, + MoreVertical, + Download, + Edit, + Trash, + Copy, + CheckCircle, + Save, + ArrowDownCircle, + Info, + PieChart +} from 'react-feather' + +// ** Vars +const invoiceStatusObj = { + Sent: { color: 'light-secondary', icon: Send }, + Paid: { color: 'light-success', icon: CheckCircle }, + Draft: { color: 'light-primary', icon: Save }, + Downloaded: { color: 'light-info', icon: ArrowDownCircle }, + 'Past Due': { color: 'light-danger', icon: Info }, + 'Partial Payment': { color: 'light-warning', icon: PieChart } +} + +// ** renders client column +const renderClient = row => { + const stateNum = Math.floor(Math.random() * 6), + states = ['light-success', 'light-danger', 'light-warning', 'light-info', 'light-primary', 'light-secondary'], + color = states[stateNum] + + if (row.avatar.length) { + return + } else { + return + } +} + +// ** Table columns +export const columns = [ + { + name: '#', + minWidth: '107px', + selector: 'id', + cell: row => {`#${row.id}`} + }, + { + name: , + minWidth: '102px', + selector: 'invoiceStatus', + sortable: true, + cell: row => { + const color = invoiceStatusObj[row.invoiceStatus] ? invoiceStatusObj[row.invoiceStatus].color : 'primary', + Icon = invoiceStatusObj[row.invoiceStatus] ? invoiceStatusObj[row.invoiceStatus].icon : Edit + return ( + + } id={`av-tooltip-${row.id}`} /> + + {row.invoiceStatus} +
    + Balance: {row.balance} +
    + Due Date: {row.dueDate} +
    +
    + ) + } + }, + { + name: 'Client', + minWidth: '350px', + selector: 'client', + sortable: true, + cell: row => { + const name = row.client ? row.client.name : 'John Doe', + email = row.client ? row.client.companyEmail : 'johnDoe@email.com' + return ( +
    + {renderClient(row)} +
    +
    {name}
    + {email} +
    +
    + ) + } + }, + { + name: 'Total', + selector: 'total', + sortable: true, + minWidth: '150px', + cell: row => ${row.total || 0} + }, + { + name: 'Issued Date', + selector: 'dueDate', + sortable: true, + minWidth: '200px', + cell: row => row.dueDate + }, + { + name: 'Balance', + selector: 'balance', + sortable: true, + minWidth: '164px', + cell: row => { + return row.balance !== 0 ? ( + {row.balance} + ) : ( + + Paid + + ) + } + }, + { + name: 'Action', + minWidth: '110px', + selector: '', + sortable: true, + cell: row => ( +
    + + + Send Mail + + + + + + Preview Invoice + + + + + + + e.preventDefault()}> + + Download + + + + Edit + + { + e.preventDefault() + store.dispatch(deleteInvoice(row.id)) + }} + > + + Delete + + e.preventDefault()}> + + Duplicate + + + +
    + ) + } +] diff --git a/src/views/apps/invoice/list/index.js b/src/views/apps/invoice/list/index.js new file mode 100644 index 0000000..a7871d0 --- /dev/null +++ b/src/views/apps/invoice/list/index.js @@ -0,0 +1,221 @@ +// ** React Imports +import { useState, useEffect } from 'react' +import { Link } from 'react-router-dom' + +// ** Table Columns +import { columns } from './columns' + +// ** Third Party Components +import ReactPaginate from 'react-paginate' +import { ChevronDown } from 'react-feather' +import DataTable from 'react-data-table-component' +import { Button, Label, Input, CustomInput, Row, Col, Card } from 'reactstrap' + +// ** Store & Actions +import { getData } from '../store/actions' +import { useDispatch, useSelector } from 'react-redux' + +// ** Styles +import '@styles/react/apps/app-invoice.scss' +import '@styles/react/libs/tables/react-dataTable-component.scss' + +const CustomHeader = ({ handleFilter, value, handleStatusValue, statusValue, handlePerPage, rowsPerPage }) => { + return ( +
    + + +
    + + + + + + +
    + + Add Record + + + +
    + + handleFilter(e.target.value)} + placeholder='Search Invoice' + /> +
    + + + + + + + + + + +
    +
    + ) +} + +const InvoiceList = () => { + const dispatch = useDispatch() + const store = useSelector(state => state.invoice) + + const [value, setValue] = useState('') + const [currentPage, setCurrentPage] = useState(1) + const [statusValue, setStatusValue] = useState('') + const [rowsPerPage, setRowsPerPage] = useState(10) + + useEffect(() => { + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + status: statusValue, + q: value + }) + ) + }, [dispatch, store.data.length]) + + const handleFilter = val => { + setValue(val) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + status: statusValue, + q: val + }) + ) + } + + const handlePerPage = e => { + dispatch( + getData({ + page: currentPage, + perPage: parseInt(e.target.value), + status: statusValue, + q: value + }) + ) + setRowsPerPage(parseInt(e.target.value)) + } + + const handleStatusValue = e => { + setStatusValue(e.target.value) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + status: e.target.value, + q: value + }) + ) + } + + const handlePagination = page => { + dispatch( + getData({ + page: page.selected + 1, + perPage: rowsPerPage, + status: statusValue, + q: value + }) + ) + setCurrentPage(page.selected + 1) + } + + const CustomPagination = () => { + const count = Number((store.total / rowsPerPage).toFixed(0)) + + return ( + handlePagination(page)} + pageClassName={'page-item'} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + containerClassName={'pagination react-paginate justify-content-end p-1'} + /> + ) + } + + const dataToRender = () => { + const filters = { + status: statusValue, + q: value + } + + const isFiltered = Object.keys(filters).some(function (k) { + return filters[k].length > 0 + }) + + if (store.data.length > 0) { + return store.data + } else if (store.data.length === 0 && isFiltered) { + return [] + } else { + return store.allData.slice(0, rowsPerPage) + } + } + + return ( +
    + +
    + } + className='react-dataTable' + defaultSortField='invoiceId' + paginationDefaultPage={currentPage} + paginationComponent={CustomPagination} + data={dataToRender()} + subHeaderComponent={ + + } + /> +
    +
    +
    + ) +} + +export default InvoiceList diff --git a/src/views/apps/invoice/preview/PreviewActions.js b/src/views/apps/invoice/preview/PreviewActions.js new file mode 100644 index 0000000..e219637 --- /dev/null +++ b/src/views/apps/invoice/preview/PreviewActions.js @@ -0,0 +1,39 @@ +// ** React Imports +import { Link } from 'react-router-dom' + +// ** Third Party Components +import { Card, CardBody, Button } from 'reactstrap' + +const PreviewActions = ({ id, setSendSidebarOpen, setAddPaymentOpen }) => { + return ( + + + setSendSidebarOpen(true)}> + Send Invoice + + + Download + + + Print + + + Edit + + setAddPaymentOpen(true)}> + Add Payment + + + + ) +} + +export default PreviewActions diff --git a/src/views/apps/invoice/preview/PreviewCard.js b/src/views/apps/invoice/preview/PreviewCard.js new file mode 100644 index 0000000..fbfd689 --- /dev/null +++ b/src/views/apps/invoice/preview/PreviewCard.js @@ -0,0 +1,229 @@ +// ** Third Party Components +import { Card, CardBody, CardText, Row, Col, Table } from 'reactstrap' + +const PreviewCard = ({ data }) => { + return data !== null ? ( + + + {/* Header */} +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    +
    + Office 149, 450 South Brand Brooklyn + San Diego County, CA 91905, USA + +1 (123) 456 7891, +44 (876) 543 2198 +
    +
    +

    + Invoice #{data.invoice.id} +

    +
    +

    Date Issued:

    +

    {data.invoice.issuedDate}

    +
    +
    +

    Due Date:

    +

    {data.invoice.dueDate}

    +
    +
    +
    + {/* /Header */} +
    + +
    + + {/* Address and Contact */} + + + +
    Invoice To:
    +
    {data.invoice.client.name}
    + {data.invoice.client.company} + {data.invoice.client.address} + {data.invoice.client.contact} + {data.invoice.client.companyEmail} + + +
    Payment Details:
    + + + + + + + + + + + + + + + + + + + + + + + +
    Total Due: + {data.paymentDetails.totalDue} +
    Bank name:{data.paymentDetails.bankName}
    Country:{data.paymentDetails.country}
    IBAN:{data.paymentDetails.iban}
    SWIFT code:{data.paymentDetails.swiftCode}
    + +
    +
    + {/* /Address and Contact */} + + {/* Invoice Description */} + + + + + + + + + + + + + + + + + + + + + + + +
    Task descriptionRateHoursTotal
    +

    Native App Development

    +

    + Developed a full stack native app using React Native, Bootstrap & Python +

    +
    + $60.00 + + 30 + + $1,800.00 +
    +

    Ui Kit Design

    +

    Designed a UI kit for native app using Sketch, Figma & Adobe XD

    +
    + $60.00 + + 20 + + $1200.00 +
    + {/* /Invoice Description */} + + {/* Total & Sales Person */} + + + + + Salesperson: Alfie Solomons + + + +
    +
    +

    Subtotal:

    +

    $1800

    +
    +
    +

    Discount:

    +

    $28

    +
    +
    +

    Tax:

    +

    21%

    +
    +
    +
    +

    Total:

    +

    $1690

    +
    +
    + +
    +
    + {/* /Total & Sales Person */} + +
    + + {/* Invoice Note */} + + + + Note: + + It was a pleasure working with you and your team. We hope you will keep us in mind for future freelance + projects. Thank You! + + + + + {/* /Invoice Note */} +
    + ) : null +} + +export default PreviewCard diff --git a/src/views/apps/invoice/preview/index.js b/src/views/apps/invoice/preview/index.js new file mode 100644 index 0000000..8f85947 --- /dev/null +++ b/src/views/apps/invoice/preview/index.js @@ -0,0 +1,60 @@ +import { useEffect, useState } from 'react' +import { useParams, Link } from 'react-router-dom' + +// ** Third Party Components +import axios from 'axios' +import { Row, Col, Alert } from 'reactstrap' + +// ** Invoice Preview Components +import PreviewCard from './PreviewCard' +import PreviewActions from './PreviewActions' +import SendInvoiceSidebar from '../shared-sidebar/SidebarSendInvoice' +import AddPaymentSidebar from '../shared-sidebar/SidebarAddPayment' + +// ** Styles +import '@styles/base/pages/app-invoice.scss' + +const InvoicePreview = () => { + // ** Vars + const { id } = useParams() + + // ** States + const [data, setData] = useState(null) + const [sendSidebarOpen, setSendSidebarOpen] = useState(false) + const [addPaymentOpen, setAddPaymentOpen] = useState(false) + + // ** Functions to toggle add & send sidebar + const toggleSendSidebar = () => setSendSidebarOpen(!sendSidebarOpen) + const toggleAddSidebar = () => setAddPaymentOpen(!addPaymentOpen) + + // ** Get invoice on mount based on id + useEffect(() => { + axios.get(`/api/invoice/invoices/${id}`).then(response => { + setData(response.data) + }) + }, []) + + return data !== null && data.invoice !== undefined ? ( +
    + + + + + + + + + + +
    + ) : ( + +

    Invoice not found

    +
    + Invoice with id: {id} doesn't exist. Check list of all invoices: Invoice List +
    +
    + ) +} + +export default InvoicePreview diff --git a/src/views/apps/invoice/print/index.js b/src/views/apps/invoice/print/index.js new file mode 100644 index 0000000..5687a45 --- /dev/null +++ b/src/views/apps/invoice/print/index.js @@ -0,0 +1,218 @@ +// ** React Imports +import { useEffect } from 'react' + +// ** Third Party Components +import { Row, Col, Table } from 'reactstrap' + +// ** Styles +import '@styles/base/pages/app-invoice-print.scss' + +const Print = () => { + // ** Print on mount + useEffect(() => window.print(), []) + + return ( +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    +
    +

    Office 149, 450 South Brand Brooklyn

    +

    San Diego County, CA 91905, USA

    +

    +1 (123) 456 7891, +44 (876) 543 2198

    +
    +
    +

    INVOICE #3492

    +
    + Date Issued: + 25/08/2020 +
    +
    + Due Date: + 29/08/2020 +
    +
    +
    + +
    + + + +
    Invoice To:
    +

    Thomas shelby

    +

    Shelby Company Limited

    +

    Small Heath, B10 0HF, UK

    +

    718-986-6062

    +

    peakyFBlinders@gmail.com

    + + +
    Payment Details:
    + + + + + + + + + + + + + + + + + + + + + + + +
    Total Due: + $12,110.55 +
    Bank name:American Bank
    Country:United States
    IBAN:ETD95476213874685
    SWIFT code:BR91905
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Task descriptionRateHoursTotal
    +

    Native App Development

    +

    + Developed a full stack native app using React Native, Bootstrap & Python +

    +
    + $60.00 + + 30 + + $1,800.00 +
    +

    Ui Kit Design

    +

    Designed a UI kit for native app using Sketch, Figma & Adobe XD

    +
    + $60.00 + + 20 + + $1200.00 +
    + + + +

    + Salesperson: Alfie Solomons +

    + + +
    +
    +

    Subtotal:

    +

    $1800

    +
    +
    +

    Discount:

    +

    $28

    +
    +
    +

    Tax:

    +

    21%

    +
    +
    +
    +

    Total:

    +

    $1690

    +
    +
    + +
    + +
    + + + + Note: + + It was a pleasure working with you and your team. We hope you will keep us in mind for future freelance + projects. Thank You! + + + +
    + ) +} + +export default Print diff --git a/src/views/apps/invoice/shared-sidebar/SidebarAddPayment.js b/src/views/apps/invoice/shared-sidebar/SidebarAddPayment.js new file mode 100644 index 0000000..117c6dc --- /dev/null +++ b/src/views/apps/invoice/shared-sidebar/SidebarAddPayment.js @@ -0,0 +1,78 @@ +// ** React Imports +import { useState } from 'react' + +// ** Third Party Components +import Flatpickr from 'react-flatpickr' +import { Form, FormGroup, Input, Label, Button } from 'reactstrap' + +// ** Custom Components +import Sidebar from '@components/sidebar' + +// ** Styles +import '@styles/react/libs/flatpickr/flatpickr.scss' +import '@styles/base/pages/app-invoice.scss' + +const SidebarAddPayment = ({ open, toggleSidebar }) => { + // ** States + const [picker, setPicker] = useState(new Date()) + + return ( + +
    + + + + + + + + + + setPicker(date)} className='form-control' /> + + + + + + + + + + + + + + + + + + + + +
    +
    + ) +} + +export default SidebarAddPayment diff --git a/src/views/apps/invoice/shared-sidebar/SidebarSendInvoice.js b/src/views/apps/invoice/shared-sidebar/SidebarSendInvoice.js new file mode 100644 index 0000000..d2badf2 --- /dev/null +++ b/src/views/apps/invoice/shared-sidebar/SidebarSendInvoice.js @@ -0,0 +1,79 @@ +// ** Custom Components +import Sidebar from '@components/sidebar' + +// ** Third Party Components +import { Link } from 'react-feather' +import { Form, FormGroup, Input, Label, Badge, Button } from 'reactstrap' + +const SidebarSendInvoice = ({ open, toggleSidebar }) => { + return ( + +
    + + + + + + + + + + + + + + + + + + + + Invoice Attached + + + + + + +
    +
    + ) +} + +export default SidebarSendInvoice diff --git a/src/views/apps/invoice/store/actions/index.js b/src/views/apps/invoice/store/actions/index.js new file mode 100644 index 0000000..6129db2 --- /dev/null +++ b/src/views/apps/invoice/store/actions/index.js @@ -0,0 +1,30 @@ +import axios from 'axios' + +// ** Get data +export const getData = params => { + return dispatch => { + axios.get('/apps/invoice/invoices', params).then(response => { + dispatch({ + type: 'GET_DATA', + allData: response.data.allData, + data: response.data.invoices, + totalPages: response.data.total, + params + }) + }) + } +} + +// ** Delete Invoice +export const deleteInvoice = id => { + return (dispatch, getStore) => { + axios + .delete('/apps/invoice/delete', { id }) + .then(response => { + dispatch({ + type: 'DELETE_INVOICE' + }) + }) + .then(() => dispatch(getData(getStore().invoice.params))) + } +} diff --git a/src/views/apps/invoice/store/reducer/index.js b/src/views/apps/invoice/store/reducer/index.js new file mode 100644 index 0000000..e081a02 --- /dev/null +++ b/src/views/apps/invoice/store/reducer/index.js @@ -0,0 +1,24 @@ +const initialState = { + data: [], + total: 1, + params: {}, + allData: [] +} + +const invoiceReducer = (state = initialState, action) => { + switch (action.type) { + case 'GET_DATA': + return { + ...state, + allData: action.allData, + data: action.data, + total: action.totalPages, + params: action.params + } + case 'DELETE_INVOICE': + return { ...state } + default: + return { ...state } + } +} +export default invoiceReducer diff --git a/src/views/apps/todo/Sidebar.js b/src/views/apps/todo/Sidebar.js new file mode 100644 index 0000000..e6b4b26 --- /dev/null +++ b/src/views/apps/todo/Sidebar.js @@ -0,0 +1,164 @@ +// ** React Imports +import { Link } from 'react-router-dom' + +// ** Third Party Components +import classnames from 'classnames' +import PerfectScrollbar from 'react-perfect-scrollbar' +import { Button, ListGroup, ListGroupItem } from 'reactstrap' +import { Mail, Star, Check, Trash, Plus } from 'react-feather' + +const TodoSidebar = props => { + // ** Props + const { handleTaskSidebar, setMainSidebar, mainSidebar, dispatch, getTasks, params } = props + + // ** Functions To Handle List Item Filter + const handleFilter = filter => { + dispatch(getTasks({ ...params, filter })) + } + + const handleTag = tag => { + dispatch(getTasks({ ...params, tag })) + } + + // ** Functions To Active List Item + const handleActiveItem = value => { + if ((params.filter && params.filter === value) || (params.tag && params.tag === value)) { + return true + } else { + return false + } + } + + // ** Functions To Handle Add Task Click + const handleAddClick = () => { + handleTaskSidebar() + setMainSidebar() + } + + return ( +
    +
    +
    +
    +
    + + Add Task + +
    + + + handleFilter('')} + > + + My Tasks + + handleFilter('important')} + action + > + + Important + + handleFilter('completed')} + action + > + + Completed + + handleFilter('deleted')} + action + > + + Deleted + + +
    +
    Tags
    + +
    + + handleTag('team')} + action + > + + Team + + handleTag('low')} + action + > + + Low + + handleTag('medium')} + action + > + + Medium + + handleTag('high')} + action + > + + High + + handleTag('update')} + action + > + + Update + + +
    +
    +
    +
    +
    + ) +} + +export default TodoSidebar diff --git a/src/views/apps/todo/TaskSidebar.js b/src/views/apps/todo/TaskSidebar.js new file mode 100644 index 0000000..cbf784d --- /dev/null +++ b/src/views/apps/todo/TaskSidebar.js @@ -0,0 +1,377 @@ +// ** React Imports +import { useState, Fragment } from 'react' + +// ** Third Party Components +import classnames from 'classnames' +import Flatpickr from 'react-flatpickr' +import { Editor } from 'react-draft-wysiwyg' +import { X, Star, Trash } from 'react-feather' +import Select, { components } from 'react-select' +import { EditorState, ContentState } from 'draft-js' +import { Modal, ModalBody, Button, Form, FormGroup, Input, Label, Media } from 'reactstrap' + +// ** Utils +import { isObjEmpty, selectThemeColors } from '@utils' + +// ** Assignee Avatars +import img1 from '@src/assets/images/portrait/small/avatar-s-3.jpg' +import img2 from '@src/assets/images/portrait/small/avatar-s-1.jpg' +import img3 from '@src/assets/images/portrait/small/avatar-s-4.jpg' +import img4 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import img5 from '@src/assets/images/portrait/small/avatar-s-2.jpg' +import img6 from '@src/assets/images/portrait/small/avatar-s-11.jpg' + +// ** Styles Imports +import '@styles/react/libs/editor/editor.scss' +import '@styles/react/libs/react-select/_react-select.scss' +import '@styles/react/libs/flatpickr/flatpickr.scss' + +// ** Function to capitalize the first letter of string +const capitalize = string => string.charAt(0).toUpperCase() + string.slice(1) + +// ** Modal Header +const ModalHeader = props => { + // ** Props + const { children, store, handleTaskSidebar, setDeleted, deleted, important, setImportant, deleteTask, dispatch } = + props + + // ** Function to delete task + const handleDeleteTask = () => { + setDeleted(!deleted) + dispatch(deleteTask(store.selectedTask.id)) + handleTaskSidebar() + } + + return ( +
    +
    {children}
    +
    + {store && !isObjEmpty(store.selectedTask) ? ( + handleDeleteTask()} /> + ) : null} + + setImportant(!important)} + className={classnames({ + 'text-warning': important === true + })} + /> + + +
    +
    + ) +} + +const TaskSidebar = props => { + // ** Props + const { open, handleTaskSidebar, store, dispatch, updateTask, selectTask, addTask, deleteTask } = props + + // ** Users + const [title, setTitle] = useState(''), + [assignee, setAssignee] = useState({ value: 'pheobe', label: 'Pheobe Buffay', img: img1 }), + [tags, setTags] = useState([]), + [desc, setDesc] = useState(EditorState.createEmpty()), + [completed, setCompleted] = useState(false), + [important, setImportant] = useState(false), + [deleted, setDeleted] = useState(false), + [dueDate, setDueDate] = useState(new Date()) + + // ** Assignee Select Options + const assigneeOptions = [ + { value: 'pheobe', label: 'Pheobe Buffay', img: img1 }, + { value: 'chandler', label: 'Chandler Bing', img: img2 }, + { value: 'ross', label: 'Ross Geller', img: img3 }, + { value: 'monica', label: 'Monica Geller', img: img4 }, + { value: 'joey', label: 'Joey Tribbiani', img: img5 }, + { value: 'Rachel', label: 'Rachel Green', img: img6 } + ] + + // ** Tag Select Options + const tagOptions = [ + { value: 'team', label: 'Team' }, + { value: 'low', label: 'Low' }, + { value: 'medium', label: 'Medium' }, + { value: 'high', label: 'High' }, + { value: 'update', label: 'Update' } + ] + + // ** Custom Assignee Component + const AssigneeComponent = ({ data, ...props }) => { + return ( + + + {data.label} + +

    {data.label}

    +
    +
    +
    + ) + } + + // ** Returns sidebar title + const handleSidebarTitle = () => { + if (store && !isObjEmpty(store.selectedTask)) { + return ( + setCompleted(!completed)} + color={completed === true ? 'success' : 'secondary'} + > + {completed === true ? 'Completed' : 'Mark Complete'} + + ) + } else { + return 'Add Task' + } + } + + // ** Function to run when sidebar opens + const handleSidebarOpened = () => { + const { selectedTask } = store + if (!isObjEmpty(selectedTask)) { + setTitle(selectedTask.title) + setCompleted(selectedTask.isCompleted) + setImportant(selectedTask.isImportant) + setAssignee([ + { + value: selectedTask.assignee.fullName, + label: selectedTask.assignee.fullName, + img: selectedTask.assignee.avatar + } + ]) + setDueDate(selectedTask.dueDate) + if (typeof selectedTask.description === 'string') { + setDesc(EditorState.createWithContent(ContentState.createFromText(selectedTask.description))) + } else { + const obj = selectedTask.description._immutable.currentContent.blockMap + const property = Object.keys(obj).map((val, key) => val) + + setDesc(EditorState.createWithContent(ContentState.createFromText(obj[property].text))) + } + + if (selectedTask.tags.length) { + const tags = [] + selectedTask.tags.map(tag => { + tags.push({ value: tag, label: capitalize(tag) }) + }) + setTags(tags) + } + } + } + + // ** Function to run when sidebar closes + const handleSidebarClosed = () => { + setTags([]) + setDesc('') + setTitle('') + setAssignee({ value: 'pheobe', label: 'Pheobe Buffay', img: img1 }) + setCompleted(false) + setImportant(false) + setDueDate(new Date()) + dispatch(selectTask({})) + } + + // ** Function to reset fileds + const handleResetFields = () => { + setTitle(store.selectedTask.title) + setDesc(store.selectedTask.description) + setCompleted(store.selectedTask.isCompleted) + setImportant(store.selectedTask.isImportant) + setDeleted(store.selectedTask.isDeleted) + setDueDate(store.selectedTask.dueDate) + if (store.selectedTask.assignee.fullName !== assignee.label) { + setAssignee({ + value: store.selectedTask.assignee.fullName, + label: store.selectedTask.assignee.fullName, + img: store.selectedTask.assignee.avatar + }) + } + if (store.selectedTask.tags.length) { + const tags = [] + store.selectedTask.tags.map(tag => { + tags.push({ value: tag, label: capitalize(tag) }) + }) + setTags(tags) + } + } + + // ** Renders Footer Buttons + const renderFooterButtons = () => { + const newTaskTag = [] + + const doesInclude = !isObjEmpty(store.selectedTask) && assignee.label === store.selectedTask.assignee.fullName + + if (tags.length) { + tags.map(tag => newTaskTag.push(tag.value)) + } + + const newAssignee = { + fullName: assignee.label, + avatar: assignee.img + } + const state = { + title, + dueDate, + tags: newTaskTag, + description: desc, + isCompleted: completed, + isDeleted: deleted, + isImportant: important, + assignee: doesInclude || assignee.label === undefined ? store.selectedTask.assignee : newAssignee + } + + if (store && !isObjEmpty(store.selectedTask)) { + return ( + + + + + ) + } else { + return ( + + + + + ) + } + } + + return ( + +
    e.preventDefault()}> + + {handleSidebarTitle()} + + + + + setTitle(e.target.value)} + /> + + + + { + setTags(data !== null ? [...data] : []) + }} + /> + + + + setDesc(data)} + /> + + {renderFooterButtons()} + +
    +
    + ) +} + +export default TaskSidebar diff --git a/src/views/apps/todo/Tasks.js b/src/views/apps/todo/Tasks.js new file mode 100644 index 0000000..4245470 --- /dev/null +++ b/src/views/apps/todo/Tasks.js @@ -0,0 +1,219 @@ +// ** React Imports +import { Link } from 'react-router-dom' + +// ** Custom Components +import Avatar from '@components/avatar' + +// ** Blank Avatar Image Import +import blankAvatar from '@src/assets/images/avatars/avatar-blank.png' + +// ** Third Party Components +import classnames from 'classnames' +import { ReactSortable } from 'react-sortablejs' +import PerfectScrollbar from 'react-perfect-scrollbar' +import { Menu, Search, MoreVertical } from 'react-feather' +import { + Input, + Badge, + InputGroup, + CustomInput, + DropdownMenu, + DropdownItem, + InputGroupText, + DropdownToggle, + InputGroupAddon, + UncontrolledDropdown +} from 'reactstrap' + +const Tasks = props => { + // ** Props + const { + query, + tasks, + params, + setSort, + dispatch, + getTasks, + setQuery, + updateTask, + selectTask, + reOrderTasks, + handleTaskSidebar, + handleMainSidebar + } = props + + // ** Function to selectTask on click + const handleTaskClick = obj => { + dispatch(selectTask(obj)) + handleTaskSidebar() + } + + // ** Returns avatar color based on task tag + const resolveAvatarVariant = tags => { + if (tags.includes('high')) return 'light-primary' + if (tags.includes('medium')) return 'light-warning' + if (tags.includes('low')) return 'light-success' + if (tags.includes('update')) return 'light-danger' + if (tags.includes('team')) return 'light-info' + return 'light-primary' + } + + // ** Renders task tags + const renderTags = arr => { + const badgeColor = { + team: 'light-primary', + low: 'light-success', + medium: 'light-warning', + high: 'light-danger', + update: 'light-info' + } + + return arr.map(item => ( + + {item} + + )) + } + + // ** Renders Avatar + const renderAvatar = obj => { + const item = obj.assignee + + if (item.avatar === undefined || item.avatar === null) { + return + } else if (item.avatar !== '') { + return + } else { + return + } + } + + const renderTasks = () => { + return ( + { + if (ref) { + ref._getBoundingClientRect = ref.getBoundingClientRect + + ref.getBoundingClientRect = () => { + const original = ref._getBoundingClientRect() + + return { ...original, height: Math.floor(original.height) } + } + } + }} + > + {tasks.length ? ( + dispatch(reOrderTasks(newState))} + > + {tasks.map(item => { + return ( +
  • handleTaskClick(item)} + className={classnames('todo-item', { + completed: item.isCompleted + })} + > +
    +
    + + dispatch(updateTask({ ...item, isCompleted: e.target.checked }))} + checked={item.isCompleted} + /> + {item.title} +
    +
    + {item.tags.length ?
    {renderTags(item.tags)}
    : null} + {item.dueDate ? ( + + {new Date(item.dueDate).toLocaleString('default', { month: 'short' })}{' '} + {new Date(item.dueDate).getDate().toString().padStart(2, '0')} + + ) : null} + {item.assignee ? renderAvatar(item) : null} +
    +
    +
  • + ) + })} +
    + ) : ( +
    +
    No Items Found
    +
    + )} +
    + ) + } + + // ** Function to getTasks based on search query + const handleFilter = e => { + setQuery(e.target.value) + dispatch(getTasks(params)) + } + + // ** Function to getTasks based on sort + const handleSort = (e, val) => { + e.preventDefault() + setSort(val) + dispatch(getTasks({ ...params })) + } + + return ( +
    +
    +
    + +
    +
    + + + + + + + + +
    + + e.preventDefault()}> + + + + handleSort(e, 'title-asc')}> + Sort A-Z + + handleSort(e, 'title-desc')}> + Sort Z-A + + handleSort(e, 'assignee')}> + Sort Assignee + + handleSort(e, 'due-date')}> + Sort Due Date + + handleSort(e, '')}> + Reset Sort + + + +
    + {renderTasks()} +
    + ) +} + +export default Tasks diff --git a/src/views/apps/todo/index.js b/src/views/apps/todo/index.js new file mode 100644 index 0000000..c686b4c --- /dev/null +++ b/src/views/apps/todo/index.js @@ -0,0 +1,116 @@ +// ** React Imports +import { Fragment, useState, useEffect } from 'react' +import { useParams } from 'react-router-dom' + +// ** Third Party Components +import classnames from 'classnames' + +// ** Todo App Components +import Tasks from './Tasks' +import Sidebar from './Sidebar' +import TaskSidebar from './TaskSidebar' + +// ** Store & Actions +import { useDispatch, useSelector } from 'react-redux' +import { getTasks, updateTask, selectTask, addTask, deleteTask, reOrderTasks } from './store/actions' + +// ** Styles +import '@styles/react/apps/app-todo.scss' + +const TODO = () => { + // ** States + const [sort, setSort] = useState('') + const [query, setQuery] = useState('') + const [mainSidebar, setMainSidebar] = useState(false) + const [openTaskSidebar, setOpenTaskSidebar] = useState(false) + + // ** Store Vars + const dispatch = useDispatch() + const store = useSelector(state => state.todo) + + // ** URL Params + const paramsURL = useParams() + const params = { + filter: paramsURL.filter || '', + q: query || '', + sortBy: sort || '', + tag: paramsURL.tag || '' + } + + // ** Function to handle Left sidebar & Task sidebar + const handleMainSidebar = () => setMainSidebar(!mainSidebar) + const handleTaskSidebar = () => setOpenTaskSidebar(!openTaskSidebar) + + // ** Get Tasks on mount & based on dependency change + useEffect(() => { + dispatch( + getTasks({ + filter: paramsURL.filter || '', + q: query || '', + sortBy: sort || '', + tag: paramsURL.tag || '' + }) + ) + }, [store.tasks.length, paramsURL.filter, paramsURL.tag, query, sort]) + + return ( + + +
    +
    +
    +
    + + {store ? ( + + ) : null} + + +
    +
    +
    +
    + ) +} + +export default TODO diff --git a/src/views/apps/todo/store/actions/index.js b/src/views/apps/todo/store/actions/index.js new file mode 100644 index 0000000..1c20079 --- /dev/null +++ b/src/views/apps/todo/store/actions/index.js @@ -0,0 +1,65 @@ +import axios from 'axios' + +// ** Get Tasks +export const getTasks = params => { + return dispatch => { + return axios.get('/apps/todo/tasks', { params }).then(res => { + dispatch({ + type: 'GET_TASKS', + tasks: res.data, + params + }) + }) + } +} + +// ** Re-order Tasks on drag +export const reOrderTasks = tasks => dispatch => dispatch({ type: 'REORDER_TASKS', tasks }) + +// ** ADD Task +export const addTask = task => { + return (dispatch, getState) => { + axios + .post('/apps/todo/add-tasks', { task }) + .then(res => { + dispatch({ + type: 'ADD_TASK', + task: res.data + }) + }) + .then(dispatch(getTasks(getState().todo.params))) + } +} + +// ** Update Tasks +export const updateTask = task => { + return (dispatch, getState) => { + axios + .post('/apps/todo/update-task', { task }) + .then(res => { + dispatch({ + type: 'UPDATE_TASK', + task: res.data + }) + }) + .then(dispatch(getTasks(getState().todo.params))) + } +} + +// ** Delete Task +export const deleteTask = taskId => { + return (dispatch, getState) => { + axios + .delete('/apps/todo/delete-task', { taskId }) + .then(res => { + dispatch({ + type: 'DELETE_TASK', + task: res.data + }) + }) + .then(() => dispatch(getTasks(getState().todo.params))) + } +} + +// ** Select Task +export const selectTask = task => dispatch => dispatch({ type: 'SELECT_TASK', task }) diff --git a/src/views/apps/todo/store/reducer/index.js b/src/views/apps/todo/store/reducer/index.js new file mode 100644 index 0000000..d8833ac --- /dev/null +++ b/src/views/apps/todo/store/reducer/index.js @@ -0,0 +1,27 @@ +// ** Initial State +const initialState = { + tasks: [], + selectedTask: {}, + params: { + filter: '', + q: '', + sort: '', + tag: '' + } +} + +const TodoReducer = (state = initialState, action) => { + switch (action.type) { + case 'GET_TASKS': + return { ...state, tasks: action.tasks, params: action.params } + case 'UPDATE_TASKS': + return { ...state } + case 'REORDER_TASKS': + return { ...state, tasks: action.tasks } + case 'SELECT_TASK': + return { ...state, selectedTask: action.task } + default: + return state + } +} +export default TodoReducer diff --git a/src/views/apps/user/edit/Account.js b/src/views/apps/user/edit/Account.js new file mode 100644 index 0000000..1169051 --- /dev/null +++ b/src/views/apps/user/edit/Account.js @@ -0,0 +1,264 @@ +// ** React Imports +import { useState, useEffect } from 'react' + +// ** Custom Components +import Avatar from '@components/avatar' + +// ** Third Party Components +import { Lock, Edit, Trash2 } from 'react-feather' +import { Media, Row, Col, Button, Form, Input, Label, FormGroup, Table, CustomInput } from 'reactstrap' + +const UserAccountTab = ({ selectedUser }) => { + // ** States + const [img, setImg] = useState(null) + const [userData, setUserData] = useState(null) + + // ** Function to change user image + const onChange = e => { + const reader = new FileReader(), + files = e.target.files + reader.onload = function () { + setImg(reader.result) + } + reader.readAsDataURL(files[0]) + } + + // ** Update user image on mount or change + useEffect(() => { + if (selectedUser !== null || (selectedUser !== null && userData !== null && selectedUser.id !== userData.id)) { + setUserData(selectedUser) + if (selectedUser.avatar.length) { + return setImg(selectedUser.avatar) + } else { + return setImg(null) + } + } + }, [selectedUser]) + + // ** Renders User + const renderUserAvatar = () => { + if (img === null) { + const stateNum = Math.floor(Math.random() * 6), + states = ['light-success', 'light-danger', 'light-warning', 'light-info', 'light-primary', 'light-secondary'], + color = states[stateNum] + return ( + + ) + } else { + return ( + user profile avatar + ) + } + } + + return ( + + + + {renderUserAvatar()} + +

    {selectedUser.fullName}

    +
    + + Change + + + + + + + Remove + + + + +
    +
    +
    + + +
    e.preventDefault()}> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + Permissions +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ModuleReadWriteCreateDelete
    Admin + + + + + + + +
    Staff + + + + + + + +
    Author + + + + + + + +
    Contributor + + + + + + + +
    User + + + + + + + +
    +
    + + + + Save Changes + + + Reset + + +
    +
    + +
    + ) +} +export default UserAccountTab diff --git a/src/views/apps/user/edit/Information.js b/src/views/apps/user/edit/Information.js new file mode 100644 index 0000000..34f0356 --- /dev/null +++ b/src/views/apps/user/edit/Information.js @@ -0,0 +1,260 @@ +// ** React Imports +import { useState } from 'react' + +// ** Third Party Components +import classnames from 'classnames' +import Cleave from 'cleave.js/react' +import Flatpickr from 'react-flatpickr' +import { User, MapPin } from 'react-feather' +import 'cleave.js/dist/addons/cleave-phone.us' +import { useForm, Controller } from 'react-hook-form' +import { Row, Col, Button, Label, FormGroup, Input, CustomInput, Form } from 'reactstrap' + +// ** Styles +import '@styles/react/libs/flatpickr/flatpickr.scss' + +const UserInfoTab = () => { + // ** State + const [data, setData] = useState(null) + + // ** React hook form vars + const { register, errors, handleSubmit, control, setValue, trigger } = useForm({ + defaultValues: { gender: 'gender-female', dob: null } + }) + return ( +
    { + trigger() + setData(data) + })} + > + + +

    + + Personal Information +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + return ( + setValue('gender', 'male')} + /> + ) + }} + /> + { + return ( + setValue('gender', 'female')} + /> + ) + }} + /> + + + + + + + + + + + + + +
    + + +

    + + Address +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + ) +} +export default UserInfoTab diff --git a/src/views/apps/user/edit/Social.js b/src/views/apps/user/edit/Social.js new file mode 100644 index 0000000..547ca62 --- /dev/null +++ b/src/views/apps/user/edit/Social.js @@ -0,0 +1,118 @@ +// ** Third Party Components +import { + Form, + FormGroup, + Label, + Input, + Row, + Col, + Button, + InputGroup, + InputGroupAddon, + InputGroupText +} from 'reactstrap' +import { Twitter, Facebook, Instagram, GitHub, Codepen, Slack } from 'react-feather' + +const UserSocialTab = () => { + return ( +
    e.preventDefault()}> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + ) +} +export default UserSocialTab diff --git a/src/views/apps/user/edit/index.js b/src/views/apps/user/edit/index.js new file mode 100644 index 0000000..7db3757 --- /dev/null +++ b/src/views/apps/user/edit/index.js @@ -0,0 +1,85 @@ +// ** React Imports +import { useState, useEffect } from 'react' +import { useParams, Link } from 'react-router-dom' + +// ** User Edit Components +import SocialTab from './Social' +import AccountTab from './Account' +import InfoTab from './Information' + +// ** Store & Actions +import { getUser } from '../store/action' +import { useSelector, useDispatch } from 'react-redux' + +// ** Third Party Components +import { User, Info, Share2 } from 'react-feather' +import { Card, CardBody, Row, Col, Nav, NavItem, NavLink, TabContent, TabPane, Alert } from 'reactstrap' + +// ** Styles +import '@styles/react/apps/app-users.scss' + +const UserEdit = () => { + // ** States & Vars + const [activeTab, setActiveTab] = useState('1'), + store = useSelector(state => state.users), + dispatch = useDispatch(), + { id } = useParams() + + // ** Function to toggle tabs + const toggle = tab => setActiveTab(tab) + + // ** Function to get user on mount + useEffect(() => { + dispatch(getUser(parseInt(id))) + }, [dispatch]) + + return store.selectedUser !== null && store.selectedUser !== undefined ? ( + + + + + + + + + + + + + + + + + + + + + ) : ( + +

    User not found

    +
    + User with id: {id} doesn't exist. Check list of all Users: Users List +
    +
    + ) +} +export default UserEdit diff --git a/src/views/apps/user/list/Sidebar.js b/src/views/apps/user/list/Sidebar.js new file mode 100644 index 0000000..accda79 --- /dev/null +++ b/src/views/apps/user/list/Sidebar.js @@ -0,0 +1,165 @@ +// ** React Import +import { useState } from 'react' + +// ** Custom Components +import Sidebar from '@components/sidebar' + +// ** Utils +import { isObjEmpty } from '@utils' + +// ** Third Party Components +import classnames from 'classnames' +import { useForm } from 'react-hook-form' +import { Button, FormGroup, Label, FormText, Form, Input } from 'reactstrap' + +// ** Store & Actions +import { addUser } from '../store/action' +import { useDispatch } from 'react-redux' + +const SidebarNewUsers = ({ open, toggleSidebar }) => { + // ** States + const [role, setRole] = useState('subscriber') + const [plan, setPlan] = useState('basic') + + // ** Store Vars + const dispatch = useDispatch() + + // ** Vars + const { register, errors, handleSubmit } = useForm() + + // ** Function to handle form submit + const onSubmit = values => { + if (isObjEmpty(errors)) { + toggleSidebar() + dispatch( + addUser({ + fullName: values['full-name'], + company: values.company, + role, + username: values.username, + country: values.country, + contact: values.contact, + email: values.email, + currentPlan: plan, + status: 'active', + avatar: '' + }) + ) + } + } + + return ( + +
    + + + + + + + + + + + + You can use letters, numbers & periods + + + + + + + + + + + + + + + + setRole(e.target.value)}> + + + + + + + + setPlan(e.target.value)}> + + + + + + + + + + +
    +
    + ) +} + +export default SidebarNewUsers diff --git a/src/views/apps/user/list/Table.js b/src/views/apps/user/list/Table.js new file mode 100644 index 0000000..d49d78c --- /dev/null +++ b/src/views/apps/user/list/Table.js @@ -0,0 +1,336 @@ +// ** React Imports +import { Fragment, useState, useEffect } from 'react' + +// ** Invoice List Sidebar +import Sidebar from './Sidebar' + +// ** Columns +import { columns } from './columns' + +// ** Store & Actions +import { getAllData, getData } from '../store/action' +import { useDispatch, useSelector } from 'react-redux' + +// ** Third Party Components +import Select from 'react-select' +import ReactPaginate from 'react-paginate' +import { ChevronDown } from 'react-feather' +import DataTable from 'react-data-table-component' +import { selectThemeColors } from '@utils' +import { Card, CardHeader, CardTitle, CardBody, Input, Row, Col, Label, CustomInput, Button } from 'reactstrap' + +// ** Styles +import '@styles/react/libs/react-select/_react-select.scss' +import '@styles/react/libs/tables/react-dataTable-component.scss' + +// ** Table Header +const CustomHeader = ({ toggleSidebar, handlePerPage, rowsPerPage, handleFilter, searchTerm }) => { + return ( +
    + + +
    + + + + + + + +
    + + +
    + + handleFilter(e.target.value)} + /> +
    + + Add New User + + +
    +
    + ) +} + +const UsersList = () => { + // ** Store Vars + const dispatch = useDispatch() + const store = useSelector(state => state.users) + + // ** States + const [searchTerm, setSearchTerm] = useState('') + const [currentPage, setCurrentPage] = useState(1) + const [rowsPerPage, setRowsPerPage] = useState(10) + const [sidebarOpen, setSidebarOpen] = useState(false) + const [currentRole, setCurrentRole] = useState({ value: '', label: 'Select Role' }) + const [currentPlan, setCurrentPlan] = useState({ value: '', label: 'Select Plan' }) + const [currentStatus, setCurrentStatus] = useState({ value: '', label: 'Select Status', number: 0 }) + + // ** Function to toggle sidebar + const toggleSidebar = () => setSidebarOpen(!sidebarOpen) + + // ** Get data on mount + useEffect(() => { + dispatch(getAllData()) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: searchTerm + }) + ) + }, [dispatch, store.data.length]) + + // ** User filter options + const roleOptions = [ + { value: '', label: 'Select Role' }, + { value: 'admin', label: 'Admin' }, + { value: 'author', label: 'Author' }, + { value: 'editor', label: 'Editor' }, + { value: 'maintainer', label: 'Maintainer' }, + { value: 'subscriber', label: 'Subscriber' } + ] + + const planOptions = [ + { value: '', label: 'Select Plan' }, + { value: 'basic', label: 'Basic' }, + { value: 'company', label: 'Company' }, + { value: 'enterprise', label: 'Enterprise' }, + { value: 'team', label: 'Team' } + ] + + const statusOptions = [ + { value: '', label: 'Select Status', number: 0 }, + { value: 'pending', label: 'Pending', number: 1 }, + { value: 'active', label: 'Active', number: 2 }, + { value: 'inactive', label: 'Inactive', number: 3 } + ] + + // ** Function in get data on page change + const handlePagination = page => { + dispatch( + getData({ + page: page.selected + 1, + perPage: rowsPerPage, + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: searchTerm + }) + ) + setCurrentPage(page.selected + 1) + } + + // ** Function in get data on rows per page + const handlePerPage = e => { + const value = parseInt(e.currentTarget.value) + dispatch( + getData({ + page: currentPage, + perPage: value, + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: searchTerm + }) + ) + setRowsPerPage(value) + } + + // ** Function in get data on search query change + const handleFilter = val => { + setSearchTerm(val) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: val + }) + ) + } + + // ** Custom Pagination + const CustomPagination = () => { + const count = Number(Math.ceil(store.total / rowsPerPage)) + + return ( + handlePagination(page)} + pageClassName={'page-item'} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + containerClassName={'pagination react-paginate justify-content-end my-2 pr-1'} + /> + ) + } + + // ** Table data to render + const dataToRender = () => { + const filters = { + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: searchTerm + } + + const isFiltered = Object.keys(filters).some(function (k) { + return filters[k].length > 0 + }) + + if (store.data.length > 0) { + return store.data + } else if (store.data.length === 0 && isFiltered) { + return [] + } else { + return store.allData.slice(0, rowsPerPage) + } + } + + return ( + + + + Search Filter + + + + + { + setCurrentPlan(data) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + role: currentRole.value, + currentPlan: data.value, + status: currentStatus.value, + q: searchTerm + }) + ) + }} + /> + + + + + + + + Copy! + + + + + + + + + + ) +} + +export default Clipboard diff --git a/src/views/extensions/drag-and-drop/DndCards.js b/src/views/extensions/drag-and-drop/DndCards.js new file mode 100644 index 0000000..41579a5 --- /dev/null +++ b/src/views/extensions/drag-and-drop/DndCards.js @@ -0,0 +1,53 @@ +import { useState } from 'react' +import { ReactSortable } from 'react-sortablejs' +import { Card, CardHeader, CardBody, CardTitle, CardText, Col } from 'reactstrap' + +const dragItems = [ + { + id: '1', + title: 'Draggable Card 1', + content: + 'Jelly beans sugar plum cheesecake cookie oat cake soufflé.Tootsie roll bonbon liquorice tiramisu pie powder.Donut sweet roll marzipan pastry cookie cake tootsie roll oat cake cookie.' + }, + { + id: '2', + title: 'Draggable Card 2', + content: + 'Jelly beans sugar plum cheesecake cookie oat cake soufflé.Tootsie roll bonbon liquorice tiramisu pie powder.Donut sweet roll marzipan pastry cookie cake tootsie roll oat cake cookie.' + }, + { + id: '3', + title: 'Draggable Card 3', + content: + 'Jelly beans sugar plum cheesecake cookie oat cake soufflé.Tootsie roll bonbon liquorice tiramisu pie powder.Donut sweet roll marzipan pastry cookie cake tootsie roll oat cake cookie.' + }, + { + id: '4', + title: 'Draggable Card 4', + content: + 'Jelly beans sugar plum cheesecake cookie oat cake soufflé.Tootsie roll bonbon liquorice tiramisu pie powder.Donut sweet roll marzipan pastry cookie cake tootsie roll oat cake cookie.' + } +] + +const DndCards = () => { + const [cardsArr, setCardsArr] = useState(dragItems) + + return ( + + {cardsArr.map(item => ( + + + + {item.title} + + + {item.content} + + + + ))} + + ) +} + +export default DndCards diff --git a/src/views/extensions/drag-and-drop/DndClone.js b/src/views/extensions/drag-and-drop/DndClone.js new file mode 100644 index 0000000..8e156f6 --- /dev/null +++ b/src/views/extensions/drag-and-drop/DndClone.js @@ -0,0 +1,112 @@ +import { useState } from 'react' +import { ReactSortable } from 'react-sortablejs' +import { Card, CardHeader, CardTitle, CardBody, CardText, Row, Col, Badge } from 'reactstrap' + +const DndClone = () => { + const source1 = [ + { + text: 'Youtube', + color: 'light-secondary' + }, + { + text: 'Facebook', + color: 'light-primary' + }, + { + text: 'Google', + color: 'light-success' + }, + { + text: 'Instagram', + color: 'light-danger' + }, + { + text: 'Twitter', + color: 'light-info' + }, + { + text: 'Discord', + color: 'light-warning' + } + ] + const source2 = [ + { + text: 'Github', + color: 'light-secondary' + }, + { + text: 'Gitlab', + color: 'light-primary' + }, + { + text: 'Slack', + color: 'light-success' + }, + { + text: 'Pinterest', + color: 'light-danger' + }, + { + text: 'Tinder', + color: 'light-info' + }, + { + text: 'Amazon', + color: 'light-warning' + } + ] + + const [list, setList] = useState(source1) + const [list2, setList2] = useState(source2) + + return ( + + + Clone List + + + + Add pull:clone with your group prop to clone items. + + + +

    Badge Source 1

    + + {list.map(item => { + return ( + + {item.text} + + ) + })} + + + +

    Badge Source 2

    + + {list2.map(item => { + return ( + + {item.text} + + ) + })} + + +
    +
    +
    + ) +} + +export default DndClone diff --git a/src/views/extensions/drag-and-drop/DndHandle.js b/src/views/extensions/drag-and-drop/DndHandle.js new file mode 100644 index 0000000..1c5f7af --- /dev/null +++ b/src/views/extensions/drag-and-drop/DndHandle.js @@ -0,0 +1,112 @@ +import { useState } from 'react' +import { ReactSortable } from 'react-sortablejs' +import { Card, CardHeader, CardTitle, CardBody, CardText, Row, Col, ListGroupItem } from 'reactstrap' + +const array = { + list1: [ + { + id: '1', + content: 'Cras justo odio' + }, + { + id: '2', + content: 'Dapibus ac facilisis in' + }, + { + id: '3', + content: 'Morbi leo risus' + }, + { + id: '4', + content: 'Porta ac consectetur ac' + }, + { + id: '5', + content: 'Vestibulum at eros' + } + ], + list2: [ + { + id: '6', + content: 'Cras justo odio' + }, + { + id: '7', + content: 'Dapibus ac facilisis in' + }, + { + id: '8', + content: 'Morbi leo risus' + }, + { + id: '9', + content: 'Porta ac consectetur ac' + }, + { + id: '10', + content: 'Vestibulum at eros' + } + ] +} + +const DndMultiple = () => { + const [listArr1, setListArr1] = useState(array.list1) + const [listArr2, setListArr2] = useState(array.list2) + + return ( + + + Drag And Drop With Handle + + + + Add handle to your items using handle prop. + + + +

    List One

    + + {listArr1.map(item => { + return ( + + + + {item.content} + + ) + })} + + + +

    People Group 2

    + + {listArr2.map(item => { + return ( + + + + {item.content} + + ) + })} + + +
    +
    +
    + ) +} + +export default DndMultiple diff --git a/src/views/extensions/drag-and-drop/DndListGroup.js b/src/views/extensions/drag-and-drop/DndListGroup.js new file mode 100644 index 0000000..c26c82a --- /dev/null +++ b/src/views/extensions/drag-and-drop/DndListGroup.js @@ -0,0 +1,83 @@ +import { useState } from 'react' +import { ReactSortable } from 'react-sortablejs' +import img1 from '@src/assets/images/portrait/small/avatar-s-12.jpg' +import img2 from '@src/assets/images/portrait/small/avatar-s-1.jpg' +import img3 from '@src/assets/images/portrait/small/avatar-s-2.jpg' +import img4 from '@src/assets/images/portrait/small/avatar-s-3.jpg' +import img5 from '@src/assets/images/portrait/small/avatar-s-4.jpg' +import { Card, CardHeader, CardTitle, CardBody, CardText, ListGroupItem, Media } from 'reactstrap' + +const listItems = [ + { + id: '1', + img: img1, + name: 'Mary S. Navarre', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + }, + { + id: '2', + img: img2, + name: 'Samuel M. Ellis', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '3', + img: img3, + name: 'Sandra C. Toney', + content: 'Sugar plum fruitcake gummies marzipan liquorice tiramisu. Pastry liquorice chupa chupsake.' + }, + { + id: '4', + img: img4, + name: 'Cleveland C. Goins', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '5', + img: img5, + name: 'Linda M. English', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + } +] + +const DndListGroup = () => { + const [listArr, setListArr] = useState(listItems) + return ( + + + Basic List Group Sortable + + + + The most basic list group is simply an unordered list with list items, and the proper classes. + + + {listArr.map(item => { + return ( + + + + + + +
    {item.name}
    + {item.content} +
    +
    +
    + ) + })} +
    +
    +
    + ) +} + +export default DndListGroup diff --git a/src/views/extensions/drag-and-drop/DndMultiDrag.js b/src/views/extensions/drag-and-drop/DndMultiDrag.js new file mode 100644 index 0000000..46f210b --- /dev/null +++ b/src/views/extensions/drag-and-drop/DndMultiDrag.js @@ -0,0 +1,173 @@ +import { useState } from 'react' +import img1 from '@src/assets/images/portrait/small/avatar-s-12.jpg' +import img2 from '@src/assets/images/portrait/small/avatar-s-1.jpg' +import img3 from '@src/assets/images/portrait/small/avatar-s-2.jpg' +import img4 from '@src/assets/images/portrait/small/avatar-s-3.jpg' +import img5 from '@src/assets/images/portrait/small/avatar-s-4.jpg' +import img6 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import img7 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import img8 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import img9 from '@src/assets/images/portrait/small/avatar-s-8.jpg' +import img10 from '@src/assets/images/portrait/small/avatar-s-9.jpg' +import { ReactSortable, Sortable, MultiDrag } from 'react-sortablejs' +import { Card, CardHeader, CardTitle, CardBody, CardText, Row, Col, ListGroupItem, Media } from 'reactstrap' + +const array = { + list1: [ + { + id: '1', + img: img1, + name: 'Mary S. Navarre', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + }, + { + id: '2', + img: img2, + name: 'Samuel M. Ellis', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '3', + img: img3, + name: 'Sandra C. Toney', + content: 'Sugar plum fruitcake gummies marzipan liquorice tiramisu. Pastry liquorice chupa.' + }, + { + id: '4', + img: img4, + name: 'Cleveland C. Goins', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '5', + img: img5, + name: 'Linda M. English', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + } + ], + list2: [ + { + id: '6', + img: img6, + name: 'Alexandria I. Smelser', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '7', + img: img7, + name: 'Oscar N. Pool', + content: 'Sugar plum fruitcake gummies marzipan liquorice tiramisu. Pastry liquorice chupsake.' + }, + { + id: '8', + img: img8, + name: 'Kathy A. Alvarado', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + }, + { + id: '9', + img: img9, + name: 'James E. White', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '10', + img: img10, + name: 'Roberta R. Babin', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + } + ] +} + +// Sortable.mount(new MultiDrag()) +const DndMultiDrag = () => { + const [listArr1, setListArr1] = useState(array.list1) + const [listArr2, setListArr2] = useState(array.list2) + + return ( + + + Multiple Drag + + + + Use MultiDrag prop to create a multiple drag list. + + + Use CTRL key to select multiple items. + + + +

    People Group 1

    + + {listArr1.map(item => { + return ( + + + + + + +
    {item.name}
    + {item.content} +
    +
    +
    + ) + })} +
    + + +

    People Group 2

    + + {listArr2.map(item => { + return ( + + + + + + +
    {item.name}
    + {item.content} +
    +
    +
    + ) + })} +
    + +
    +
    +
    + ) +} + +export default DndMultiDrag diff --git a/src/views/extensions/drag-and-drop/DndMultiple.js b/src/views/extensions/drag-and-drop/DndMultiple.js new file mode 100644 index 0000000..de66f54 --- /dev/null +++ b/src/views/extensions/drag-and-drop/DndMultiple.js @@ -0,0 +1,168 @@ +import { useState } from 'react' +import { ReactSortable } from 'react-sortablejs' +import img1 from '@src/assets/images/portrait/small/avatar-s-12.jpg' +import img2 from '@src/assets/images/portrait/small/avatar-s-1.jpg' +import img3 from '@src/assets/images/portrait/small/avatar-s-2.jpg' +import img4 from '@src/assets/images/portrait/small/avatar-s-3.jpg' +import img5 from '@src/assets/images/portrait/small/avatar-s-4.jpg' +import img6 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import img7 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import img8 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import img9 from '@src/assets/images/portrait/small/avatar-s-8.jpg' +import img10 from '@src/assets/images/portrait/small/avatar-s-9.jpg' +import { Card, CardHeader, CardTitle, CardBody, CardText, Row, Col, ListGroupItem, Media } from 'reactstrap' + +const array = { + list1: [ + { + id: '1', + img: img1, + name: 'Mary S. Navarre', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + }, + { + id: '2', + img: img2, + name: 'Samuel M. Ellis', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '3', + img: img3, + name: 'Sandra C. Toney', + content: 'Sugar plum fruitcake gummies marzipan liquorice tiramisu. Pastry liquorice chupa.' + }, + { + id: '4', + img: img4, + name: 'Cleveland C. Goins', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '5', + img: img5, + name: 'Linda M. English', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + } + ], + list2: [ + { + id: '6', + img: img6, + name: 'Alexandria I. Smelser', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '7', + img: img7, + name: 'Oscar N. Pool', + content: 'Sugar plum fruitcake gummies marzipan liquorice tiramisu. Pastry liquorice chupsake.' + }, + { + id: '8', + img: img8, + name: 'Kathy A. Alvarado', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + }, + { + id: '9', + img: img9, + name: 'James E. White', + content: 'Toffee powder marzipan tiramisu. Cake cake dessert danish.' + }, + { + id: '10', + img: img10, + name: 'Roberta R. Babin', + content: 'Chupa chups tiramisu apple pie biscuit sweet roll bonbon macaroon toffee icing.' + } + ] +} + +const DndMultiple = () => { + const [listArr1, setListArr1] = useState(array.list1) + const [listArr2, setListArr2] = useState(array.list2) + + return ( + + + Multiple Lists + + + + Use group prop to create a multiple list Drag & Drop. + + + +

    People Group 1

    + + {listArr1.map(item => { + return ( + + + + + + +
    {item.name}
    + {item.content} +
    +
    +
    + ) + })} +
    + + +

    People Group 2

    + + {listArr2.map(item => { + return ( + + + + + + +
    {item.name}
    + {item.content} +
    +
    +
    + ) + })} +
    + +
    +
    +
    + ) +} + +export default DndMultiple diff --git a/src/views/extensions/drag-and-drop/index.js b/src/views/extensions/drag-and-drop/index.js new file mode 100644 index 0000000..320b0a0 --- /dev/null +++ b/src/views/extensions/drag-and-drop/index.js @@ -0,0 +1,45 @@ +import { Fragment } from 'react' +import DndClone from './DndClone' +import DndCards from './DndCards' +import DndHandle from './DndHandle' +import { Row, Col } from 'reactstrap' +import DndMultiple from './DndMultiple' +import DndMultiDrag from './DndMultiDrag' +import DndListGroup from './DndListGroup' +import ExtensionsHeader from '@components/extensions-header' + +import '@styles/react/libs/drag-and-drop/drag-and-drop.scss' + +const DragAndDrop = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default DragAndDrop diff --git a/src/views/extensions/i18n/index.js b/src/views/extensions/i18n/index.js new file mode 100644 index 0000000..d258dc8 --- /dev/null +++ b/src/views/extensions/i18n/index.js @@ -0,0 +1,81 @@ +import { Fragment, useContext } from 'react' +import { Row, Col, Card, CardHeader, CardTitle, CardBody, CustomInput } from 'reactstrap' +import ExtensionsHeader from '@components/extensions-header' +import { IntlContext } from '../../../utility/context/Internationalization' +import { FormattedMessage } from 'react-intl' +const I18nExtension = () => { + const context = useContext(IntlContext) + return ( + + + + + + + + Change Locale + + +
    + { + context.switchLanguage('en') + }} + label='English' + className='mb-1' + defaultChecked={context.locale === 'en'} + /> + { + context.switchLanguage('fr') + }} + label='French' + className='mb-1' + defaultChecked={context.locale === 'fr'} + /> + { + context.switchLanguage('de') + }} + label='German' + className='mb-1' + defaultChecked={context.locale === 'de'} + /> + { + context.switchLanguage('pt') + }} + label='Portuguese' + className='mb-1' + defaultChecked={context.locale === 'pt'} + /> +
    +
    +
    Title
    + +
    +
    +
    + +
    +
    + ) +} + +export default I18nExtension diff --git a/src/views/extensions/import-export/Export.js b/src/views/extensions/import-export/Export.js new file mode 100644 index 0000000..29b0715 --- /dev/null +++ b/src/views/extensions/import-export/Export.js @@ -0,0 +1,245 @@ +import { Fragment, useState, useRef } from 'react' +import ExtensionsHeader from '@components/extensions-header' +import XLSX from 'xlsx' +import * as FileSaver from 'file-saver' +import { + Row, + Col, + Card, + CardBody, + Button, + Table, + Modal, + ModalHeader, + ModalBody, + ModalFooter, + Input, + FormGroup, + CustomInput, + Label +} from 'reactstrap' + +const initialData = [ + { + id: 1, + name: 'Leanne Graham', + username: 'Bret', + email: 'Sincere@april.biz', + website: 'hildegard.org' + }, + { + id: 2, + name: 'Ervin Howell', + username: 'Antonette', + email: 'Shanna@melissa.tv', + website: 'anastasia.net' + }, + { + id: 3, + name: 'Clementine Bauch', + username: 'Samantha', + email: 'Nathan@yesenia.net', + website: 'ramiro.info' + }, + { + id: 4, + name: 'Patricia Lebsack', + username: 'Karianne', + email: 'Julianne.OConner@kory.org', + website: 'kale.biz' + }, + { + id: 5, + name: 'Chelsey Dietrich', + username: 'Kamren', + email: 'Lucio_Hettinger@annie.ca', + website: 'demarco.info' + }, + { + id: 6, + name: 'Mrs. Dennis Schulist', + username: 'Leopoldo_Corkery', + email: 'Karley_Dach@jasper.info', + website: 'ola.org' + }, + { + id: 7, + name: 'Kurtis Weissnat', + username: 'Elwyn.Skiles', + email: 'Telly.Hoeger@billy.biz', + website: 'elvis.io' + }, + { + id: 8, + name: 'Nicholas Runolfsdottir V', + username: 'Maxime_Nienow', + email: 'Sherwood@rosamond.me', + website: 'jacynthe.com' + }, + { + id: 9, + name: 'Glenna Reichert', + username: 'Delphine', + email: 'Chaim_McDermott@dana.io', + website: 'conrad.com' + }, + { + id: 10, + name: 'Clementina DuBuque', + username: 'Moriah.Stanton', + email: 'Rey.Padberg@karina.biz', + website: 'ambrose.net' + } +] + +const Export = () => { + const tableRef = useRef() + + const [data] = useState(initialData) + const [filteredData, setFilteredData] = useState([]) + const [value, setValue] = useState('') + const [modal, setModal] = useState(false) + const [fileName, setFileName] = useState('') + const [fileFormat, setFileFormat] = useState('xlsx') + + const toggleModal = () => { + setModal(!modal) + } + + const handleFilter = e => { + const dataArr = data + let filteredData = [] + const value = e.target.value + setValue(value) + if (value.length) { + filteredData = dataArr.filter(col => { + const startsWithCondition = + col.name.toLowerCase().startsWith(value.toLowerCase()) || + col.email.toLowerCase().startsWith(value.toLowerCase()) || + col.website.toLowerCase().startsWith(value.toLowerCase()) || + col.id.toString().toLowerCase().startsWith(value.toLowerCase()) + + const includesCondition = + col.name.toLowerCase().includes(value.toLowerCase()) || + col.email.toLowerCase().includes(value.toLowerCase()) || + col.website.toLowerCase().includes(value.toLowerCase()) || + col.id.toString().toLowerCase().includes(value.toLowerCase()) + + if (startsWithCondition) return startsWithCondition + else if (!startsWithCondition && includesCondition) return includesCondition + else return null + }) + setFilteredData(filteredData) + setValue(value) + } + } + + const handleExport = () => { + toggleModal() + const bookType = fileFormat + const wb = XLSX.utils.table_to_book(tableRef.current, { sheet: 'Sheet JS' }) + const wbout = XLSX.write(wb, { bookType, bookSST: true, type: 'binary' }) + + const s2ab = s => { + const buf = new ArrayBuffer(s.length) + const view = new Uint8Array(buf) + for (let i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xff + return buf + } + const file = fileName.length ? `${fileName}.${fileFormat}` : `excel-sheet.${fileFormat}` + + return FileSaver.saveAs(new Blob([s2ab(wbout)], { type: 'application/octet-stream' }), file) + } + + const array = value ? filteredData : data + const renderTableData = array.map(col => { + return ( + + {col.email} + {col.name} + {col.website} + {col.id} + + ) + }) + return ( + + + + + + +
    + toggleModal()}> + Export + +
    + + handleFilter(e)} /> +
    +
    +
    + + + + + + + + + + {renderTableData} +
    EmailNameWebsiteRank
    +
    + +
    + toggleModal()} + className='modal-dialog-centered' + onClosed={() => setFileName('')} + > + toggleModal()}>Export To Excel + + + setFileName(e.target.value)} + placeholder='Enter File Name' + /> + + + setFileFormat(e.target.value)} + > + + + + + + + + + + + +
    + ) +} + +export default Export diff --git a/src/views/extensions/import-export/ExportSelected.js b/src/views/extensions/import-export/ExportSelected.js new file mode 100644 index 0000000..55944b7 --- /dev/null +++ b/src/views/extensions/import-export/ExportSelected.js @@ -0,0 +1,295 @@ +import { Fragment, useState } from 'react' +import ExtensionsHeader from '@components/extensions-header' +import { + Row, + Col, + Card, + CardBody, + Button, + Table, + Modal, + ModalHeader, + ModalBody, + ModalFooter, + Input, + FormGroup, + CustomInput, + Label +} from 'reactstrap' +import classnames from 'classnames' +import XLSX from 'xlsx' + +const initialData = [ + { + id: 1, + name: 'Leanne Graham', + username: 'Bret', + email: 'Sincere@april.biz', + website: 'hildegard.org' + }, + { + id: 2, + name: 'Ervin Howell', + username: 'Antonette', + email: 'Shanna@melissa.tv', + website: 'anastasia.net' + }, + { + id: 3, + name: 'Clementine Bauch', + username: 'Samantha', + email: 'Nathan@yesenia.net', + website: 'ramiro.info' + }, + { + id: 4, + name: 'Patricia Lebsack', + username: 'Karianne', + email: 'Julianne.OConner@kory.org', + website: 'kale.biz' + }, + { + id: 5, + name: 'Chelsey Dietrich', + username: 'Kamren', + email: 'Lucio_Hettinger@annie.ca', + website: 'demarco.info' + }, + { + id: 6, + name: 'Mrs. Dennis Schulist', + username: 'Leopoldo_Corkery', + email: 'Karley_Dach@jasper.info', + website: 'ola.org' + }, + { + id: 7, + name: 'Kurtis Weissnat', + username: 'Elwyn.Skiles', + email: 'Telly.Hoeger@billy.biz', + website: 'elvis.io' + }, + { + id: 8, + name: 'Nicholas Runolfsdottir V', + username: 'Maxime_Nienow', + email: 'Sherwood@rosamond.me', + website: 'jacynthe.com' + }, + { + id: 9, + name: 'Glenna Reichert', + username: 'Delphine', + email: 'Chaim_McDermott@dana.io', + website: 'conrad.com' + }, + { + id: 10, + name: 'Clementina DuBuque', + username: 'Moriah.Stanton', + email: 'Rey.Padberg@karina.biz', + website: 'ambrose.net' + } +] + +const ExportSelected = () => { + const [data] = useState(initialData) + const [filteredData, setFilteredData] = useState([]) + const [dataToExport, setDataToExport] = useState([]) + const [value, setValue] = useState('') + const [modal, setModal] = useState(false) + const [fileName, setFileName] = useState('') + const [fileFormat, setFileFormat] = useState('xlsx') + const [selectedRows, setSelectedRows] = useState([]) + + const toggleModal = () => setModal(!modal) + + const handleFilter = e => { + let filteredData = [] + const value = e.target.value + setValue(value) + if (value.length) { + filteredData = data.filter(col => { + const startsWithCondition = + col.name.toLowerCase().startsWith(value.toLowerCase()) || + col.email.toLowerCase().startsWith(value.toLowerCase()) || + col.website.toLowerCase().startsWith(value.toLowerCase()) || + col.id.toString().toLowerCase().startsWith(value.toLowerCase()) + + const includesCondition = + col.name.toLowerCase().includes(value.toLowerCase()) || + col.email.toLowerCase().includes(value.toLowerCase()) || + col.website.toLowerCase().includes(value.toLowerCase()) || + col.id.toString().toLowerCase().includes(value.toLowerCase()) + + if (startsWithCondition) return startsWithCondition + else if (!startsWithCondition && includesCondition) return includesCondition + else return null + }) + setValue(value) + setFilteredData(filteredData) + } + } + + const handleExport = () => { + const exportArr = dataToExport + data.map(item => { + if (selectedRows.includes(item.id)) { + return exportArr.push(item) + } else { + return null + } + }) + setDataToExport([...exportArr]) + const name = fileName.length ? `${fileName}.${fileFormat}` : `excel-sheet.${fileFormat}` + const wb = XLSX.utils.json_to_sheet(dataToExport) + const wbout = XLSX.utils.book_new() + XLSX.utils.book_append_sheet(wbout, wb, 'test') + XLSX.writeFile(wbout, name) + toggleModal() + } + + const handleSelect = id => { + const selectedRowsArr = selectedRows + if (!selectedRowsArr.includes(id)) { + selectedRowsArr.push(id) + } else if (selectedRowsArr.includes(id)) { + selectedRowsArr.splice(selectedRowsArr.indexOf(id), 1) + } else { + return null + } + setSelectedRows([...selectedRowsArr]) + } + + const handleSelectAll = () => { + let selectedRowsArr = selectedRows + if (selectedRowsArr.length < data.length) { + const ids = data.map(i => i.id) + selectedRowsArr = ids + } else if (selectedRowsArr.length === data.length) { + selectedRowsArr = [] + } else { + return null + } + + setSelectedRows(selectedRowsArr) + } + + const array = value ? filteredData : data + const renderTableData = array.map(col => { + return ( + + + handleSelect(col.id)} + /> + + {col.email} + {col.name} + {col.website} + {col.id} + + ) + }) + + return ( + + + + + + +
    + toggleModal()}> + Export Selected + +
    + + handleFilter(e)} /> +
    +
    +
    + + + + + + + + + + + {renderTableData} +
    + handleSelectAll()} + /> + EmailNameWebsiteRank
    +
    + +
    + toggleModal()} + className='modal-dialog-centered' + onClosed={() => setFileName('')} + > + toggleModal()}>Export To Excel + + + setFileName(e.target.value)} + placeholder='Enter File Name' + /> + + + { + setFileFormat(e.target.value) + }} + > + + + + + + + + + + + +
    + ) +} + +export default ExportSelected diff --git a/src/views/extensions/import-export/Import.js b/src/views/extensions/import-export/Import.js new file mode 100644 index 0000000..c4480f2 --- /dev/null +++ b/src/views/extensions/import-export/Import.js @@ -0,0 +1,170 @@ +import { Fragment, useState } from 'react' +import XLSX from 'xlsx' +import Uppy from '@uppy/core' +import { X } from 'react-feather' +import { DragDrop } from '@uppy/react' +import Avatar from '@components/avatar' +import { toast } from 'react-toastify' +import ExtensionsHeader from '@components/extensions-header' +import { Row, Col, Card, CardBody, Table, CardHeader, CardTitle, Input, Label } from 'reactstrap' + +import 'uppy/dist/uppy.css' +import '@uppy/status-bar/dist/style.css' +import '@styles/react/libs/file-uploader/file-uploader.scss' + +const ErrorToast = () => ( + +
    +
    + } /> +
    Error!
    +
    + a second ago +
    +
    + + 👋 You can only upload .xlsx,{' '} + .xls & .csv Files!. + +
    +
    +) + +const Import = () => { + const [tableData, setTableData] = useState([]) + const [filteredData, setFilteredData] = useState([]) + const [value, setValue] = useState('') + const [name, setName] = useState('') + + const uppy = new Uppy({ + restrictions: { maxNumberOfFiles: 1 }, + autoProceed: true + }) + + const getTableData = (arr, name) => { + setTableData(arr) + setName(name) + } + + uppy.on('complete', result => { + const reader = new FileReader() + reader.onload = function () { + const fileData = reader.result + const wb = XLSX.read(fileData, { type: 'binary' }) + + wb.SheetNames.forEach(function (sheetName) { + const rowObj = XLSX.utils.sheet_to_row_object_array(wb.Sheets[sheetName]) + getTableData(rowObj, result.successful[0].data.name) + }) + } + if (result.successful[0].extension === 'xlsx') { + reader.readAsBinaryString(result.successful[0].data) + } else { + toast.error(, { hideProgressBar: true }) + } + }) + + const handleFilter = e => { + const data = tableData + let filteredData = [] + const value = e.target.value + setValue(value) + + if (value.length) { + filteredData = data.filter(col => { + const keys = Object.keys(col) + + const startsWithCondition = keys.filter(key => { + return col[key].toString().toLowerCase().startsWith(value.toLowerCase()) + }) + + const includesCondition = keys.filter(key => col[key].toString().toLowerCase().includes(value.toLowerCase())) + + if (startsWithCondition.length) return col[startsWithCondition] + else if (!startsWithCondition && includesCondition.length) return col[includesCondition] + else return null + }) + setFilteredData(filteredData) + setValue(value) + } else { + return null + } + } + /*eslint-disable */ + const headArr = tableData.length + ? tableData.map((col, index) => { + if (index === 0) return [...Object.keys(col)] + else return null + }) + : [] + /*eslint-enable */ + const dataArr = value.length ? filteredData : tableData.length && !value.length ? tableData : null + + const renderTableBody = () => { + if (dataArr !== null && dataArr.length) { + return dataArr.map((col, index) => { + const keys = Object.keys(col) + const renderTd = keys.map((key, index) => {col[key]}) + return {renderTd} + }) + } else { + return null + } + } + + const renderTableHead = () => { + if (headArr.length) { + return headArr[0].map((head, index) => { + return {head} + }) + } else { + return null + } + } + + return ( + + + + + + + + + + + + + + + {tableData.length ? ( + + + + {name} +
    + + handleFilter(e)} /> +
    +
    + + + {renderTableHead()} + + {renderTableBody()} +
    +
    + + ) : null} +
    +
    + ) +} + +export default Import diff --git a/src/views/extensions/pagination/BasicPagination.js b/src/views/extensions/pagination/BasicPagination.js new file mode 100644 index 0000000..3c431eb --- /dev/null +++ b/src/views/extensions/pagination/BasicPagination.js @@ -0,0 +1,32 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPaginate from 'react-paginate' +const BasicPagination = () => { + return ( + + + Basic + + + + + + ) +} +export default BasicPagination diff --git a/src/views/extensions/pagination/PaginationDanger.js b/src/views/extensions/pagination/PaginationDanger.js new file mode 100644 index 0000000..088ed67 --- /dev/null +++ b/src/views/extensions/pagination/PaginationDanger.js @@ -0,0 +1,33 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPaginate from 'react-paginate' + +const PaginationDanger = () => { + return ( + + + Danger + + + + + + ) +} +export default PaginationDanger diff --git a/src/views/extensions/pagination/PaginationIcon.js b/src/views/extensions/pagination/PaginationIcon.js new file mode 100644 index 0000000..4741132 --- /dev/null +++ b/src/views/extensions/pagination/PaginationIcon.js @@ -0,0 +1,33 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPaginate from 'react-paginate' + +const IconPagination = () => { + return ( + + + Icon Only + + + + + + ) +} +export default IconPagination diff --git a/src/views/extensions/pagination/PaginationIconText.js b/src/views/extensions/pagination/PaginationIconText.js new file mode 100644 index 0000000..3380d2b --- /dev/null +++ b/src/views/extensions/pagination/PaginationIconText.js @@ -0,0 +1,41 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPaginate from 'react-paginate' + +const Previous = () => { + return Prev +} + +const Next = () => { + return Next +} + +const IconTextPagination = () => { + return ( + + + With icon and text + + + } + breakLabel={'...'} + pageRangeDisplayed={5} + marginPagesDisplayed={2} + activeClassName={'active'} + pageClassName={'page-item'} + previousLabel={} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + breakClassName='page-item' + breakLinkClassName='page-link' + containerClassName={'pagination react-paginate'} + /> + + + ) +} +export default IconTextPagination diff --git a/src/views/extensions/pagination/PaginationInfo.js b/src/views/extensions/pagination/PaginationInfo.js new file mode 100644 index 0000000..6d7df8c --- /dev/null +++ b/src/views/extensions/pagination/PaginationInfo.js @@ -0,0 +1,33 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPaginate from 'react-paginate' + +const PaginationInfo = () => { + return ( + + + Info + + + + + + ) +} +export default PaginationInfo diff --git a/src/views/extensions/pagination/PaginationPositions.js b/src/views/extensions/pagination/PaginationPositions.js new file mode 100644 index 0000000..33b6457 --- /dev/null +++ b/src/views/extensions/pagination/PaginationPositions.js @@ -0,0 +1,74 @@ +import { Card, CardHeader, CardTitle, CardBody, Row, Col } from 'reactstrap' +import ReactPaginate from 'react-paginate' + +const PaginationPositions = () => { + return ( + + + Positions + {' '} + + + +
    Left Aligned
    + + + +
    Center Aligned
    + + + +
    Right Aligned
    + + +
    +
    +
    + ) +} +export default PaginationPositions diff --git a/src/views/extensions/pagination/PaginationSizes.js b/src/views/extensions/pagination/PaginationSizes.js new file mode 100644 index 0000000..f3f34ad --- /dev/null +++ b/src/views/extensions/pagination/PaginationSizes.js @@ -0,0 +1,71 @@ +import { Card, CardHeader, CardTitle, CardBody, Row, Col } from 'reactstrap' +import ReactPaginate from 'react-paginate' + +const PaginationSizes = () => { + return ( + + + Sizes + + + + + + + + + + + + + + + + ) +} +export default PaginationSizes diff --git a/src/views/extensions/pagination/PaginationSuccess.js b/src/views/extensions/pagination/PaginationSuccess.js new file mode 100644 index 0000000..dac83b1 --- /dev/null +++ b/src/views/extensions/pagination/PaginationSuccess.js @@ -0,0 +1,33 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPaginate from 'react-paginate' + +const PaginationSuccess = () => { + return ( + + + Success + + + + + + ) +} +export default PaginationSuccess diff --git a/src/views/extensions/pagination/PaginationWarning.js b/src/views/extensions/pagination/PaginationWarning.js new file mode 100644 index 0000000..af97caf --- /dev/null +++ b/src/views/extensions/pagination/PaginationWarning.js @@ -0,0 +1,33 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPaginate from 'react-paginate' + +const PaginationWarning = () => { + return ( + + + Warning + + + + + + ) +} +export default PaginationWarning diff --git a/src/views/extensions/pagination/SepratedPagination.js b/src/views/extensions/pagination/SepratedPagination.js new file mode 100644 index 0000000..d18ab71 --- /dev/null +++ b/src/views/extensions/pagination/SepratedPagination.js @@ -0,0 +1,32 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPaginate from 'react-paginate' +const SeparatedPagination = () => { + return ( + + + Separated + + + + + + ) +} +export default SeparatedPagination diff --git a/src/views/extensions/pagination/index.js b/src/views/extensions/pagination/index.js new file mode 100644 index 0000000..edf3c88 --- /dev/null +++ b/src/views/extensions/pagination/index.js @@ -0,0 +1,60 @@ +import { Fragment } from 'react' +import ExtensionsHeader from '@components/extensions-header' +import { Row, Col } from 'reactstrap' +import BasicPagination from './BasicPagination' +import SepratedPagination from './SepratedPagination' +import PaginationIconText from './PaginationIconText' +import PaginationIcon from './PaginationIcon' +import PaginationSuccess from './PaginationSuccess' +import PaginationDanger from './PaginationDanger' +import PaginationInfo from './PaginationInfo' +import PaginationWarning from './PaginationWarning' +import PaginationPositions from './PaginationPositions' +import PaginationSizes from './PaginationSizes' + +const ReactPaginate = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default ReactPaginate diff --git a/src/views/extensions/ratings/RatingBasic.js b/src/views/extensions/ratings/RatingBasic.js new file mode 100644 index 0000000..571c2f0 --- /dev/null +++ b/src/views/extensions/ratings/RatingBasic.js @@ -0,0 +1,23 @@ +import Rating from 'react-rating' +import { Star } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const RatingBasic = ({ filledColor, dir }) => { + return ( + + + Basic + + + } + fullSymbol={} + initialRating={2} + direction={dir} + /> + + + ) +} + +export default RatingBasic diff --git a/src/views/extensions/ratings/RatingControlled.js b/src/views/extensions/ratings/RatingControlled.js new file mode 100644 index 0000000..a2147f9 --- /dev/null +++ b/src/views/extensions/ratings/RatingControlled.js @@ -0,0 +1,38 @@ +import { useState } from 'react' +import Rating from 'react-rating' +import { Star } from 'react-feather' +import { Card, Button, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const RatingControlled = ({ filledColor, dir }) => { + const [value, setValue] = useState(0) + + return ( + + + Controlled Ratings + + + } + fullSymbol={} + initialRating={value} + onChange={e => setValue(e)} + direction={dir} + /> +
    + + + +
    +
    +
    + ) +} + +export default RatingControlled diff --git a/src/views/extensions/ratings/RatingCustomSvg.js b/src/views/extensions/ratings/RatingCustomSvg.js new file mode 100644 index 0000000..39998bc --- /dev/null +++ b/src/views/extensions/ratings/RatingCustomSvg.js @@ -0,0 +1,28 @@ +import Rating from 'react-rating' +import { Sun, Cloud, CloudLightning, CloudSnow, CloudDrizzle } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const RatingCustomSvg = ({ emptyColor, dir }) => { + return ( + + + Custom SVG + + + } + fullSymbol={[ + , + , + , + + ]} + stop={4} + direction={dir} + /> + + + ) +} + +export default RatingCustomSvg diff --git a/src/views/extensions/ratings/RatingEvents.js b/src/views/extensions/ratings/RatingEvents.js new file mode 100644 index 0000000..ec189a5 --- /dev/null +++ b/src/views/extensions/ratings/RatingEvents.js @@ -0,0 +1,33 @@ +import Rating from 'react-rating' +import { Star } from 'react-feather' +import RatingsHover from './RatingsHover' +import { Card, CardHeader, CardTitle, CardBody, CardText, Row, Col } from 'reactstrap' + +const RatingEvents = ({ filledColor, dir }) => { + return ( + + + Events + + + + + On Change + } + fullSymbol={} + onChange={rate => alert(rate)} + direction={dir} + /> + + + On Hover + + + + + + ) +} + +export default RatingEvents diff --git a/src/views/extensions/ratings/RatingFractional.js b/src/views/extensions/ratings/RatingFractional.js new file mode 100644 index 0000000..b0c9185 --- /dev/null +++ b/src/views/extensions/ratings/RatingFractional.js @@ -0,0 +1,24 @@ +import Rating from 'react-rating' +import { Star } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const RatingFractional = ({ filledColor, dir }) => { + return ( + + + Fractional + + + } + fullSymbol={} + fractions={2} + initialRating={2.5} + direction={dir} + /> + + + ) +} + +export default RatingFractional diff --git a/src/views/extensions/ratings/RatingNumbers.js b/src/views/extensions/ratings/RatingNumbers.js new file mode 100644 index 0000000..2574bca --- /dev/null +++ b/src/views/extensions/ratings/RatingNumbers.js @@ -0,0 +1,23 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import Rating from 'react-rating' + +const RatingNumbers = props => { + return ( + + + Numbers + + + -} + fullSymbol={[1, 2, 3, 4, 5].map(n => ( + {n} + ))} + direction={props.dir} + /> + + + ) +} + +export default RatingNumbers diff --git a/src/views/extensions/ratings/RatingReadOnly.js b/src/views/extensions/ratings/RatingReadOnly.js new file mode 100644 index 0000000..deacba8 --- /dev/null +++ b/src/views/extensions/ratings/RatingReadOnly.js @@ -0,0 +1,24 @@ +import Rating from 'react-rating' +import { Star } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const RatingReadOnly = ({ filledColor, dir }) => { + return ( + + + Readonly + + + } + fullSymbol={} + readonly + initialRating={2} + direction={dir} + /> + + + ) +} + +export default RatingReadOnly diff --git a/src/views/extensions/ratings/RatingSizes.js b/src/views/extensions/ratings/RatingSizes.js new file mode 100644 index 0000000..1329e99 --- /dev/null +++ b/src/views/extensions/ratings/RatingSizes.js @@ -0,0 +1,35 @@ +import Rating from 'react-rating' +import { Star } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const RatingSizes = ({ filledColor, dir }) => { + return ( + + + Sizes + + +
    Large
    + } + fullSymbol={} + /> +
    Default
    + } + fullSymbol={} + /> +
    Small
    + } + fullSymbol={} + /> +
    +
    + ) +} + +export default RatingSizes diff --git a/src/views/extensions/ratings/RatingsHover.js b/src/views/extensions/ratings/RatingsHover.js new file mode 100644 index 0000000..b88bc8b --- /dev/null +++ b/src/views/extensions/ratings/RatingsHover.js @@ -0,0 +1,32 @@ +import { useState, Fragment } from 'react' +import Rating from 'react-rating' +import { Star } from 'react-feather' + +const RatingsHover = ({ filledColor, dir }) => { + const [value, setValue] = useState(0) + + const onHover = rate => { + if (rate !== undefined) { + setValue(rate) + } + } + + return ( + + } + fullSymbol={} + onHover={rate => onHover(rate)} + onChange={rate => setValue(rate)} + direction={dir} + /> +
    + Ratings: {value} +
    +
    + ) +} + +export default RatingsHover diff --git a/src/views/extensions/ratings/index.js b/src/views/extensions/ratings/index.js new file mode 100644 index 0000000..3928889 --- /dev/null +++ b/src/views/extensions/ratings/index.js @@ -0,0 +1,55 @@ +import { Fragment, useContext } from 'react' +import { Row, Col } from 'reactstrap' +import { useRTL } from '@hooks/useRTL' +import RatingBasic from './RatingBasic' +import RatingSizes from './RatingSizes' +import RatingEvents from './RatingEvents' +import RatingNumbers from './RatingNumbers' +import RatingReadOnly from './RatingReadOnly' +import RatingCustomSvg from './RatingCustomSvg' +import RatingFractional from './RatingFractional' +import RatingControlled from './RatingControlled' +import ExtensionsHeader from '@components/extensions-header' +import { ThemeColors } from '@src/utility/context/ThemeColors' + +const Rating = () => { + const [isRtl, setIsRtl] = useRTL() + const themeColors = useContext(ThemeColors) + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default Rating diff --git a/src/views/extensions/react-player/MediaPlayerAudio.js b/src/views/extensions/react-player/MediaPlayerAudio.js new file mode 100644 index 0000000..6fc532d --- /dev/null +++ b/src/views/extensions/react-player/MediaPlayerAudio.js @@ -0,0 +1,186 @@ +import { useState, useEffect, useRef } from 'react' +import { Card, CardTitle, CardHeader, CardBody, Row, Col, Table, Button, Progress, CustomInput } from 'reactstrap' +import Prism from 'prismjs' +import ReactPlayer from 'react-player' + +const pad = string => { + return `0${string}`.slice(-2) +} +const format = seconds => { + const date = new Date(seconds * 1000) + const hh = date.getUTCHours() + const mm = date.getUTCMinutes() + const ss = pad(date.getUTCSeconds()) + if (hh) { + return `${hh}:${pad(mm)}:${ss}` + } + return `${mm}:${ss}` +} + +const MediaPlayerAudio = () => { + useEffect(() => { + Prism.highlightAll() + }) + + const audioRef = useRef(null) + + const urlLink = 'https://soundcloud.com/2ghost/we-will-rock-you' + const [url, setUrl] = useState(urlLink) + const [playing, setPlaying] = useState(false) + const [volume, setVolume] = useState(0.75) + const [muted, setMuted] = useState(false) + const [played, setPlayed] = useState(0) + const [loaded, setLoaded] = useState(0) + const [duration, setDuration] = useState(0) + const [seeking, setSeeking] = useState(null) + + const load = url => { + setUrl(url) + setPlayed(0) + setLoaded(0) + } + const handlePlayPause = () => setPlaying(!playing) + const handleStop = () => { + setPlaying(false) + setUrl(null) + } + const handleVolumeChange = e => setVolume(parseFloat(e.target.value)) + const handleToggleMuted = () => setMuted(!muted) + const handlePlay = () => setPlaying(true) + const handlePause = () => setPlaying(false) + const handleSeekMouseDown = () => setSeeking(true) + const handleSeekChange = e => { + setPlayed(parseFloat(e.target.value)) + } + const handleSeekMouseUp = e => { + setSeeking(false) + audioRef.current.seekTo(parseFloat(e.target.value)) + } + const handleProgress = state => { + if (!seeking) { + setPlayed(state.played) + setLoaded(state.loaded) + } + } + const handleDuration = duration => setDuration(duration) + useEffect(() => { + if (url === null) { + load(urlLink) + } + }) + + // for duration, elapsed and remaining time + const Duration = ({ className, seconds }) => { + return ( + + ) + } + const preDuration = + const preElapsed = + const preRemaining = + + return ( + + + Audio + + + + + console.log('onSeek', e)} + onProgress={handleProgress} + onDuration={handleDuration} + /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Controls + + +
    Seek + +
    Volume + +
    Muted + +
    Played + +
    Loaded + +
    + + +
    +              
    +                {`state={
    +  playing: ${playing},
    +  volume: ${volume.toFixed(2)},
    +  played: ${played.toFixed(2)},
    +  loaded: ${loaded.toFixed(2)},
    +  duration: ${format(preDuration.props.seconds)},
    +  elapsed: ${format(preElapsed.props.seconds)},
    +  remaining: ${format(preRemaining.props.seconds)}
    +}
    +`}
    +              
    +            
    + +
    +
    +
    + ) +} + +export default MediaPlayerAudio diff --git a/src/views/extensions/react-player/MediaPlayerControlled.js b/src/views/extensions/react-player/MediaPlayerControlled.js new file mode 100644 index 0000000..b6a66ec --- /dev/null +++ b/src/views/extensions/react-player/MediaPlayerControlled.js @@ -0,0 +1,256 @@ +import { useState, useEffect, useRef } from 'react' +import { findDOMNode } from 'react-dom' +import { Card, CardTitle, CardHeader, CardBody, Row, Col, Table, Button, Progress, CustomInput } from 'reactstrap' +import Prism from 'prismjs' +import ReactPlayer from 'react-player' +import screenfull from 'screenfull' + +const pad = string => { + return `0${string}`.slice(-2) +} +const format = seconds => { + const date = new Date(seconds * 1000) + const hh = date.getUTCHours() + const mm = date.getUTCMinutes() + const ss = pad(date.getUTCSeconds()) + if (hh) { + return `${hh}:${pad(mm)}:${ss}` + } + return `${mm}:${ss}` +} + +const MediaPlayerControlledVideo = () => { + useEffect(() => { + Prism.highlightAll() + }) + + const videoRef = useRef(null) + + const urlLink = 'http://youtube.com/watch?v=FCPdIvXo2rU' + const [url, setUrl] = useState(urlLink) + const [playing, setPlaying] = useState(false) + const [controls, setControls] = useState(false) + const [volume, setVolume] = useState(0.75) + const [muted, setMuted] = useState(false) + const [played, setPlayed] = useState(0) + const [loaded, setLoaded] = useState(0) + const [duration, setDuration] = useState(0) + const [playbackRate, setPlaybackRate] = useState(1.0) + const [loop, setLoop] = useState(false) + const [seeking, setSeeking] = useState(null) + + const load = url => { + setUrl(url) + setPlayed(0) + setLoaded(0) + } + const handlePlayPause = () => setPlaying(!playing) + const handleStop = () => { + setPlaying(false) + setUrl(null) + } + const handleToggleControls = () => { + setControls(!controls) + setUrl(null) + } + useEffect(() => { + if (url === null) { + load(urlLink) + } + }) + const handleToggleLoop = () => setLoop(!loop) + const handleVolumeChange = e => setVolume(parseFloat(e.target.value)) + const handleToggleMuted = () => setMuted(!muted) + const handlePlaybackRate = e => setPlaybackRate(parseFloat(e.target.value)) + const handlePlay = () => setPlaying(true) + const handlePause = () => setPlaying(false) + const handleSeekMouseDown = () => setSeeking(true) + const handleSeekChange = e => { + setPlayed(parseFloat(e.target.value)) + } + const handleSeekMouseUp = e => { + setSeeking(false) + videoRef.current.seekTo(parseFloat(e.target.value)) + } + const handleProgress = state => { + if (!seeking) { + setPlayed(state.played) + setLoaded(state.loaded) + } + } + const handleEnded = () => setPlaying(loop) + const handleDuration = duration => setDuration(duration) + const handleFullscreen = () => { + screenfull.request(findDOMNode(videoRef.current)) + } + + // for duration, elapsed and remaining time + const Duration = ({ className, seconds }) => { + return ( + + ) + } + const preDuration = + const preElapsed = + const preRemaining = + + return ( + + + Controlled Video + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Controls + + + +
    Speed + + + +
    Seek + +
    Volume + +
    Controls + +
    Muted + +
    Loop + +
    Played + +
    Loaded + +
    + + + + +
    +              
    +                {`state={
    +  playing: ${playing},
    +  volume: ${volume.toFixed(2)},
    +  played: ${played.toFixed(2)},
    +  loaded: ${loaded.toFixed(2)},
    +  duration: ${format(preDuration.props.seconds)},
    +  elapsed: ${format(preElapsed.props.seconds)},
    +  remaining: ${format(preRemaining.props.seconds)}
    +}
    +`}
    +              
    +            
    + +
    +
    +
    + ) +} + +export default MediaPlayerControlledVideo diff --git a/src/views/extensions/react-player/MediaPlayerVideo.js b/src/views/extensions/react-player/MediaPlayerVideo.js new file mode 100644 index 0000000..773b0b8 --- /dev/null +++ b/src/views/extensions/react-player/MediaPlayerVideo.js @@ -0,0 +1,22 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import ReactPlayer from 'react-player' + +const MediaPlayerVideo = () => { + return ( + + + Video + + + + + + ) +} + +export default MediaPlayerVideo diff --git a/src/views/extensions/react-player/index.js b/src/views/extensions/react-player/index.js new file mode 100644 index 0000000..38718e5 --- /dev/null +++ b/src/views/extensions/react-player/index.js @@ -0,0 +1,31 @@ +import { Fragment } from 'react' +import { Row, Col } from 'reactstrap' +import MediaPlayerVideo from './MediaPlayerVideo' +import MediaPlayerAudio from './MediaPlayerAudio' +import MediaPlayerControlled from './MediaPlayerControlled' +import ExtensionsHeader from '@components/extensions-header' + +const ReactPlayer = () => { + return ( + + + + + + + + + + + + + + + ) +} + +export default ReactPlayer diff --git a/src/views/extensions/sliders/SliderBehaviour.js b/src/views/extensions/sliders/SliderBehaviour.js new file mode 100644 index 0000000..e7932a9 --- /dev/null +++ b/src/views/extensions/sliders/SliderBehaviour.js @@ -0,0 +1,60 @@ +import Nouislider from 'nouislider-react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const SliderBehaviour = ({ direction }) => { + return ( + + + Slider Behaviour + + +
    Tap
    + +
    Drag
    + +
    Fixed dragging
    + +
    Combined options
    + +
    +
    + ) +} + +export default SliderBehaviour diff --git a/src/views/extensions/sliders/SliderColors.js b/src/views/extensions/sliders/SliderColors.js new file mode 100644 index 0000000..96d58a8 --- /dev/null +++ b/src/views/extensions/sliders/SliderColors.js @@ -0,0 +1,51 @@ +import Nouislider from 'nouislider-react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const SliderValues = ({ direction }) => { + const colorOptions = { + start: [40, 60], + connect: true, + behaviour: 'drag', + step: 10, + tooltips: true, + range: { + min: 0, + max: 100 + }, + pips: { + mode: 'steps', + stepped: true, + density: 5 + }, + direction + } + + return ( + + + Colors + + +
    Default / Primary Color Slider
    + + +
    Secondary Color Slider
    + + +
    Success Color Slider
    + + +
    Danger Color Slider
    + + +
    warning Color Slider
    + + +
    info Color Slider
    + +
    +
    + ) +} + +export default SliderValues diff --git a/src/views/extensions/sliders/SliderConnectUpper.js b/src/views/extensions/sliders/SliderConnectUpper.js new file mode 100644 index 0000000..807272e --- /dev/null +++ b/src/views/extensions/sliders/SliderConnectUpper.js @@ -0,0 +1,29 @@ +import Nouislider from 'nouislider-react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const SliderConnectUpper = ({ direction }) => { + return ( + + + Connect to upper + + + + + + ) +} + +export default SliderConnectUpper diff --git a/src/views/extensions/sliders/SliderScalePips.js b/src/views/extensions/sliders/SliderScalePips.js new file mode 100644 index 0000000..6b656e4 --- /dev/null +++ b/src/views/extensions/sliders/SliderScalePips.js @@ -0,0 +1,32 @@ +import Nouislider from 'nouislider-react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const SliderScalePips = ({ direction }) => { + return ( + + + Slider Scales / Pips + + + + + + ) +} + +export default SliderScalePips diff --git a/src/views/extensions/sliders/SliderValues.js b/src/views/extensions/sliders/SliderValues.js new file mode 100644 index 0000000..20890a3 --- /dev/null +++ b/src/views/extensions/sliders/SliderValues.js @@ -0,0 +1,34 @@ +import Nouislider from 'nouislider-react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const SliderValues = ({ direction }) => { + return ( + + + Slider Values + + +
    Handles
    + +
    Snapping between steps
    + +
    +
    + ) +} + +export default SliderValues diff --git a/src/views/extensions/sliders/SliderVertical.js b/src/views/extensions/sliders/SliderVertical.js new file mode 100644 index 0000000..c66312b --- /dev/null +++ b/src/views/extensions/sliders/SliderVertical.js @@ -0,0 +1,28 @@ +import Nouislider from 'nouislider-react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const SliderVertical = ({ direction }) => { + return ( + + + Vertical Default + + + + + + ) +} + +export default SliderVertical diff --git a/src/views/extensions/sliders/SliderVerticalLimit.js b/src/views/extensions/sliders/SliderVerticalLimit.js new file mode 100644 index 0000000..f41865a --- /dev/null +++ b/src/views/extensions/sliders/SliderVerticalLimit.js @@ -0,0 +1,31 @@ +import Nouislider from 'nouislider-react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const SliderLimit = ({ direction }) => { + return ( + + + Limit + + + + + + ) +} + +export default SliderLimit diff --git a/src/views/extensions/sliders/SliderVerticalTooltips.js b/src/views/extensions/sliders/SliderVerticalTooltips.js new file mode 100644 index 0000000..df4e4b3 --- /dev/null +++ b/src/views/extensions/sliders/SliderVerticalTooltips.js @@ -0,0 +1,37 @@ +import Nouislider from 'nouislider-react' +import wNumb from 'wnumb' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const SliderTooltips = ({ direction }) => { + return ( + + + Tooltips + + + + + + ) +} + +export default SliderTooltips diff --git a/src/views/extensions/sliders/SliderWithInput.js b/src/views/extensions/sliders/SliderWithInput.js new file mode 100644 index 0000000..c00a973 --- /dev/null +++ b/src/views/extensions/sliders/SliderWithInput.js @@ -0,0 +1,178 @@ +import { useState } from 'react' +import Nouislider from 'nouislider-react' +import { Card, CardHeader, CardTitle, CardBody, Input, Row, Col } from 'reactstrap' + +const SliderWithInput = ({ direction }) => { + const [upperConnect, setUpperConnect] = useState(10) + const [lowerConnect, setLowerConnect] = useState(30.0) + + return ( + + + Slider With Input + + + + + + setUpperConnect(e.target.value)} + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + setLowerConnect(e.target.value)} + /> + + + + + ) +} + +export default SliderWithInput diff --git a/src/views/extensions/sliders/SlidersBootstrap.js b/src/views/extensions/sliders/SlidersBootstrap.js new file mode 100644 index 0000000..5771823 --- /dev/null +++ b/src/views/extensions/sliders/SlidersBootstrap.js @@ -0,0 +1,23 @@ +import { Card, CardHeader, CardTitle, CardBody, FormGroup, Input, Label } from 'reactstrap' + +const SlidersBootstrap = () => { + return ( + + + Default Bootstrap 4 slider + + + + + + + + + + + + + ) +} + +export default SlidersBootstrap diff --git a/src/views/extensions/sliders/index.js b/src/views/extensions/sliders/index.js new file mode 100644 index 0000000..e2724e1 --- /dev/null +++ b/src/views/extensions/sliders/index.js @@ -0,0 +1,67 @@ +import { Fragment } from 'react' +import { Row, Col } from 'reactstrap' +import { useRTL } from '@hooks/useRTL' +import SliderColors from './SliderColors' +import SliderValues from './SliderValues' +import SliderVertical from './SliderVertical' +import SliderBehaviour from './SliderBehaviour' +import SliderScalePips from './SliderScalePips' +import SliderWithInput from './SliderWithInput' +import SliderBootstrap from './SlidersBootstrap' +import SliderConnectUpper from './SliderConnectUpper' +import SliderVerticalLimit from './SliderVerticalLimit' +import SliderVerticalTooltip from './SliderVerticalTooltips' +import ExtensionsHeader from '@components/extensions-header' + +import '@styles/react/libs/noui-slider/noui-slider.scss' + +const Slider = () => { + const [isRtl, setIsRtl] = useRTL() + + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default Slider diff --git a/src/views/extensions/sweet-alert/SweetAlertAnimations.js b/src/views/extensions/sweet-alert/SweetAlertAnimations.js new file mode 100644 index 0000000..32977f3 --- /dev/null +++ b/src/views/extensions/sweet-alert/SweetAlertAnimations.js @@ -0,0 +1,104 @@ +import Swal from 'sweetalert2' +import withReactContent from 'sweetalert2-react-content' +import { Card, CardHeader, CardBody, CardTitle, Button, CardText } from 'reactstrap' + +const MySwal = withReactContent(Swal) + +const AnimatedSweetAlert = () => { + const handleBounceIn = () => { + return MySwal.fire({ + title: 'Bounce In Animation', + customClass: { + confirmButton: 'btn btn-primary' + }, + showClass: { + popup: 'animate__animated animate__bounceIn' + }, + buttonsStyling: false + }) + } + + const handleFadeIn = () => { + return MySwal.fire({ + title: 'Fade In Animation', + customClass: { + confirmButton: 'btn btn-primary' + }, + showClass: { + popup: 'animate__animated animate__fadeIn' + }, + buttonsStyling: false + }) + } + + const handleFlipIn = () => { + return MySwal.fire({ + title: 'Flip In Animation', + customClass: { + confirmButton: 'btn btn-primary' + }, + showClass: { + popup: 'animate__animated animate__flipInX' + }, + buttonsStyling: false + }) + } + + const handleTada = () => { + return MySwal.fire({ + title: 'Tada Animation', + customClass: { + confirmButton: 'btn btn-primary' + }, + showClass: { + popup: 'animate__animated animate__tada' + }, + buttonsStyling: false + }) + } + + const handleShake = () => { + return MySwal.fire({ + title: 'Shake Animation', + customClass: { + confirmButton: 'btn btn-primary' + }, + showClass: { + popup: 'animate__animated animate__shakeX' + }, + buttonsStyling: false + }) + } + + return ( + + + Animations + + + + Use popup inside showClass parameter to add animation to your alert. + +
    + + + + + +
    +
    +
    + ) +} + +export default AnimatedSweetAlert diff --git a/src/views/extensions/sweet-alert/SweetAlertBasic.js b/src/views/extensions/sweet-alert/SweetAlertBasic.js new file mode 100644 index 0000000..ec5f54c --- /dev/null +++ b/src/views/extensions/sweet-alert/SweetAlertBasic.js @@ -0,0 +1,98 @@ +import Swal from 'sweetalert2' +import { ThumbsUp, ThumbsDown } from 'react-feather' +import withReactContent from 'sweetalert2-react-content' +import { Card, CardHeader, CardBody, CardTitle, Button, CardText } from 'reactstrap' + +const MySwal = withReactContent(Swal) + +const BasicSweetAlert = () => { + const handleBasicTitleAlert = () => { + return MySwal.fire({ + title: 'Any fool can use a computer', + customClass: { + confirmButton: 'btn btn-primary' + }, + buttonsStyling: false + }) + } + + const handleTitleAlert = () => { + return MySwal.fire({ + title: 'The Internet?,', + text: 'That thing is still around?', + customClass: { + confirmButton: 'btn btn-primary' + }, + buttonsStyling: false + }) + } + + const handleFooterAlert = () => { + return MySwal.fire({ + icon: 'error', + title: 'Oops...', + text: 'Something went wrong!', + footer: '
    Why do I have this issue?', + customClass: { + confirmButton: 'btn btn-primary' + }, + buttonsStyling: false + }) + } + + const handleHTMLAlert = () => { + return MySwal.fire({ + title: 'HTML example', + icon: 'info', + html: + 'You can use bold text, ' + + 'links ' + + 'and other HTML tags', + showCloseButton: true, + showCancelButton: true, + focusConfirm: false, + confirmButtonText: ( + + + Great! + + ), + cancelButtonText: , + customClass: { + confirmButton: 'btn btn-primary', + cancelButton: 'btn btn-outline-danger ml-1' + }, + buttonsStyling: false + }) + } + + return ( + + + Basic + + + + SweetAlert automatically centers itself on the page and looks great no matter if you're using a desktop + computer, mobile or tablet. It's even highly customizable, as you can see below! + +
    + + + + +
    +
    +
    + ) +} + +export default BasicSweetAlert diff --git a/src/views/extensions/sweet-alert/SweetAlertCallback.js b/src/views/extensions/sweet-alert/SweetAlertCallback.js new file mode 100644 index 0000000..dcc8425 --- /dev/null +++ b/src/views/extensions/sweet-alert/SweetAlertCallback.js @@ -0,0 +1,95 @@ +import { Card, CardHeader, CardBody, CardTitle, Button, Row, Col } from 'reactstrap' +import Swal from 'sweetalert2' +import withReactContent from 'sweetalert2-react-content' + +const MySwal = withReactContent(Swal) + +const BasicSweetCallback = () => { + const handleConfirmText = () => { + return MySwal.fire({ + title: 'Are you sure?', + text: "You won't be able to revert this!", + icon: 'warning', + showCancelButton: true, + confirmButtonText: 'Yes, delete it!', + customClass: { + confirmButton: 'btn btn-primary', + cancelButton: 'btn btn-outline-danger ml-1' + }, + buttonsStyling: false + }).then(function (result) { + if (result.value) { + MySwal.fire({ + icon: 'success', + title: 'Deleted!', + text: 'Your file has been deleted.', + customClass: { + confirmButton: 'btn btn-success' + } + }) + } + }) + } + + const handleConfirmCancel = () => { + return MySwal.fire({ + title: 'Are you sure?', + text: "You won't be able to revert this!", + icon: 'warning', + showCancelButton: true, + confirmButtonText: 'Yes, delete it!', + customClass: { + confirmButton: 'btn btn-primary', + cancelButton: 'btn btn-danger ml-1' + }, + buttonsStyling: false + }).then(function (result) { + if (result.value) { + MySwal.fire({ + icon: 'success', + title: 'Deleted!', + text: 'Your file has been deleted.', + customClass: { + confirmButton: 'btn btn-success' + } + }) + } else if (result.dismiss === MySwal.DismissReason.cancel) { + MySwal.fire({ + title: 'Cancelled', + text: 'Your imaginary file is safe :)', + icon: 'error', + customClass: { + confirmButton: 'btn btn-success' + } + }) + } + }) + } + + return ( + + + Callback + + + + +
    Confirm Button Text
    + + + + +
    Confirm Button Color
    + + +
    +
    +
    + ) +} + +export default BasicSweetCallback diff --git a/src/views/extensions/sweet-alert/SweetAlertOptions.js b/src/views/extensions/sweet-alert/SweetAlertOptions.js new file mode 100644 index 0000000..f5f47d4 --- /dev/null +++ b/src/views/extensions/sweet-alert/SweetAlertOptions.js @@ -0,0 +1,147 @@ +import { Card, CardHeader, CardBody, CardTitle, Button } from 'reactstrap' +import Swal from 'sweetalert2' +import withReactContent from 'sweetalert2-react-content' +import alertImg from '@src/assets/images/slider/04.jpg' + +const MySwal = withReactContent(Swal) + +const SweetAlertOptions = () => { + const handleImageAlert = () => { + return MySwal.fire({ + title: 'Sweet!', + text: 'Modal with a custom image.', + imageUrl: alertImg, + imageWidth: 400, + imageHeight: 200, + imageAlt: 'Custom image', + customClass: { confirmButton: 'btn btn-primary' }, + buttonsStyling: false + }) + } + + const handleTimeoutAlert = () => { + let timerInterval + Swal.fire({ + title: 'Auto close alert!', + html: 'I will close in seconds.', + timer: 2000, + onBeforeOpen() { + Swal.showLoading() + timerInterval = setInterval(function () { + Swal.getContent().querySelector('strong').textContent = Swal.getTimerLeft() + }, 100) + }, + onClose() { + clearInterval(timerInterval) + } + }).then(function (result) { + if (result.dismiss === Swal.DismissReason.timer) { + console.log('I was closed by the timer') + } + }) + } + + const handleClickOutside = () => { + return MySwal.fire({ + title: 'Click outside to close!', + text: 'This is a cool message!', + allowOutsideClick: true, + customClass: { confirmButton: 'btn btn-primary' }, + buttonsStyling: false + }) + } + + const handleQuestions = () => { + return MySwal.mixin({ + input: 'text', + confirmButtonText: 'Next →', + showCancelButton: true, + progressSteps: ['1', '2', '3'], + buttonsStyling: false, + customClass: { + confirmButton: 'btn btn-primary', + cancelButton: 'btn btn-danger ml-1' + } + }) + .queue(['Question 1', 'Question 2', 'Question 3']) + .then(function (result) { + if (result.value) { + MySwal.fire({ + title: 'All done!', + html: `Your answers:
    ${JSON.stringify(result.value)}
    `, + confirmButtonText: 'Lovely!', + customClass: { confirmButton: 'btn btn-primary' } + }) + } + }) + } + + const handleAjax = () => { + MySwal.fire({ + title: 'Search for a user', + input: 'text', + customClass: { + confirmButton: 'btn btn-primary', + cancelButton: 'btn btn-danger ml-1' + }, + buttonsStyling: false, + inputAttributes: { + autocapitalize: 'off' + }, + showCancelButton: true, + confirmButtonText: 'Look up', + showLoaderOnConfirm: true, + preConfirm(login) { + return fetch(`//api.github.com/users/${login}`) + .then(function (response) { + if (!response.ok) { + throw new Error(response.statusText) + } + return response.json() + }) + .catch(function (error) { + MySwal.showValidationMessage(`Request failed: ${error}`) + }) + } + }).then(function (result) { + if (result.value) { + MySwal.fire({ + title: `${result.value.login}'s avatar`, + imageUrl: result.value.avatar_url, + customClass: { + confirmButton: 'btn btn-primary' + } + }) + } + }) + } + + return ( + + + Options + + +
    + + + + + +
    +
    +
    + ) +} + +export default SweetAlertOptions diff --git a/src/views/extensions/sweet-alert/SweetAlertPositions.js b/src/views/extensions/sweet-alert/SweetAlertPositions.js new file mode 100644 index 0000000..b4cea37 --- /dev/null +++ b/src/views/extensions/sweet-alert/SweetAlertPositions.js @@ -0,0 +1,80 @@ +import { Card, CardHeader, CardBody, CardTitle, Button, CardText } from 'reactstrap' +import Swal from 'sweetalert2' +import withReactContent from 'sweetalert2-react-content' + +const MySwal = withReactContent(Swal) + +const SweetAlertPositions = () => { + const handleTopStart = () => { + return MySwal.fire({ + position: 'top-start', + icon: 'success', + title: 'Your work has been saved', + showConfirmButton: false, + timer: 1500 + }) + } + + const handleTopEnd = () => { + return MySwal.fire({ + position: 'top-end', + icon: 'success', + title: 'Your work has been saved', + showConfirmButton: false, + timer: 1500 + }) + } + + const handleBottomStart = () => { + return MySwal.fire({ + position: 'bottom-start', + icon: 'success', + title: 'Your work has been saved', + showConfirmButton: false, + timer: 1500 + }) + } + + const handleBottomEnd = () => { + return MySwal.fire({ + position: 'bottom-end', + icon: 'success', + title: 'Your work has been saved', + showConfirmButton: false, + timer: 1500 + }) + } + + return ( + + + Position + + + + You can specify position of your alert with + {'position : top-start | top-end | bottom-start | bottom-end '}{' '} + +
    + + + + + + + +
    +
    +
    + ) +} + +export default SweetAlertPositions diff --git a/src/views/extensions/sweet-alert/SweetAlertTypes.js b/src/views/extensions/sweet-alert/SweetAlertTypes.js new file mode 100644 index 0000000..5d2bcad --- /dev/null +++ b/src/views/extensions/sweet-alert/SweetAlertTypes.js @@ -0,0 +1,85 @@ +import { Card, CardHeader, CardBody, CardTitle, Button, CardText } from 'reactstrap' +import Swal from 'sweetalert2' +import withReactContent from 'sweetalert2-react-content' + +const MySwal = withReactContent(Swal) + +const SweetAlertTypes = () => { + const handleSuccess = () => { + return MySwal.fire({ + title: 'Good job!', + text: 'You clicked the button!', + icon: 'success', + customClass: { + confirmButton: 'btn btn-primary' + }, + buttonsStyling: false + }) + } + + const handleInfo = () => { + return MySwal.fire({ + title: 'Info!', + text: 'You clicked the button!', + icon: 'info', + customClass: { + confirmButton: 'btn btn-primary' + }, + buttonsStyling: false + }) + } + + const handleWarning = () => { + return MySwal.fire({ + title: 'Warning!', + text: ' You clicked the button!', + icon: 'warning', + customClass: { + confirmButton: 'btn btn-primary' + }, + buttonsStyling: false + }) + } + + const handleError = () => { + return MySwal.fire({ + title: 'Error!', + text: ' You clicked the button!', + icon: 'error', + customClass: { + confirmButton: 'btn btn-primary' + }, + buttonsStyling: false + }) + } + + return ( + + + Types + + + + SweetAlert comes with 4 built-in types which will show a corresponding icon animation: "warning", "error", + "success" and "info". + +
    + + + + +
    +
    +
    + ) +} + +export default SweetAlertTypes diff --git a/src/views/extensions/sweet-alert/index.js b/src/views/extensions/sweet-alert/index.js new file mode 100644 index 0000000..458c69c --- /dev/null +++ b/src/views/extensions/sweet-alert/index.js @@ -0,0 +1,46 @@ +import { Fragment } from 'react' +import ExtensionsHeader from '@components/extensions-header' +import { Row, Col } from 'reactstrap' +import SweetAlertBasic from './SweetAlertBasic' +import SweetAlertPositions from './SweetAlertPositions' +import SweetAlertAnimations from './SweetAlertAnimations' +import SweetAlertTypes from './SweetAlertTypes' +import SweetAlertOptions from './SweetAlertOptions' +import SweetAlertCallback from './SweetAlertCallback' + +import 'animate.css/animate.css' +import '@styles/base/plugins/extensions/ext-component-sweet-alerts.scss' + +const SweetAlert = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default SweetAlert diff --git a/src/views/extensions/swiper/3DEffect.js b/src/views/extensions/swiper/3DEffect.js new file mode 100644 index 0000000..d6e8736 --- /dev/null +++ b/src/views/extensions/swiper/3DEffect.js @@ -0,0 +1,45 @@ +import SwiperCore, { EffectCube, Pagination } from 'swiper' +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-21.jpg' +import img2 from '@src/assets/images/banner/banner-22.jpg' +import img3 from '@src/assets/images/banner/banner-23.jpg' +import img4 from '@src/assets/images/banner/banner-24.jpg' + +const params = { + effect: 'cube', + className: 'swiper-cube-effect', + pagination: { + clickable: true + } +} + +SwiperCore.use([EffectCube, Pagination]) + +const SwiperThreeD = ({ isRtl }) => { + return ( + + + 3D Cube Effect + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + + + ) +} + +export default SwiperThreeD diff --git a/src/views/extensions/swiper/CenteredSlidesStyle1.js b/src/views/extensions/swiper/CenteredSlidesStyle1.js new file mode 100644 index 0000000..475c30d --- /dev/null +++ b/src/views/extensions/swiper/CenteredSlidesStyle1.js @@ -0,0 +1,48 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import { Play, DollarSign, HelpCircle, FileText, Archive } from 'react-feather' + +const SwiperCenterSlidesStyle = ({ isRtl }) => { + const params = { + className: 'swiper-centered-slides p-1', + slidesPerView: 'auto', + spaceBetween: 30, + centeredSlides: true, + navigation: true, + slideToClickedSlide: true + } + + return ( + + + Centered Slides option-1 + + + + + +

    Getting Started

    +
    + + +

    Pricing & Plans

    +
    + + +

    Sales Questions

    +
    + + +

    User Guides

    +
    + + +

    General Guides

    +
    +
    +
    +
    + ) +} + +export default SwiperCenterSlidesStyle diff --git a/src/views/extensions/swiper/CenteredSlidesStyle2.js b/src/views/extensions/swiper/CenteredSlidesStyle2.js new file mode 100644 index 0000000..6373aab --- /dev/null +++ b/src/views/extensions/swiper/CenteredSlidesStyle2.js @@ -0,0 +1,47 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import { Play, DollarSign, HelpCircle, FileText, Archive } from 'react-feather' + +const SwiperCenterSlidesStyle = ({ isRtl }) => { + const params = { + className: 'swiper-centered-slides-2 p-1', + slidesPerView: 'auto', + spaceBetween: 30, + centeredSlides: true, + slideToClickedSlide: true + } + + return ( + + + Centered Slides option-2 + + + + + + Getting Started + + + + Pricing & Plans + + + + Sales Questions + + + + User Guides + + + + General Guides + + + + + ) +} + +export default SwiperCenterSlidesStyle diff --git a/src/views/extensions/swiper/SwiperAutoplay.js b/src/views/extensions/swiper/SwiperAutoplay.js new file mode 100644 index 0000000..6ac9b9f --- /dev/null +++ b/src/views/extensions/swiper/SwiperAutoplay.js @@ -0,0 +1,55 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-20.jpg' +import img2 from '@src/assets/images/banner/banner-7.jpg' +import img3 from '@src/assets/images/banner/banner-8.jpg' +import img4 from '@src/assets/images/banner/banner-9.jpg' +import img5 from '@src/assets/images/banner/banner-10.jpg' +import img6 from '@src/assets/images/banner/banner-11.jpg' + +const params = { + spaceBetween: 30, + centeredSlides: true, + autoplay: { + delay: 2500, + disableOnInteraction: false + }, + pagination: { + clickable: true + }, + navigation: true +} + +const SwiperAutoplay = ({ isRtl }) => { + return ( + + + Autoplay + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + swiper 6 + + + + + ) +} + +export default SwiperAutoplay diff --git a/src/views/extensions/swiper/SwiperCoverflow.js b/src/views/extensions/swiper/SwiperCoverflow.js new file mode 100644 index 0000000..b43ea33 --- /dev/null +++ b/src/views/extensions/swiper/SwiperCoverflow.js @@ -0,0 +1,71 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-35.jpg' +import img2 from '@src/assets/images/banner/banner-39.jpg' +import img3 from '@src/assets/images/banner/banner-38.jpg' +import img4 from '@src/assets/images/banner/banner-37.jpg' +import img5 from '@src/assets/images/banner/banner-36.jpg' +import img6 from '@src/assets/images/banner/banner-34.jpg' +import img7 from '@src/assets/images/banner/banner-33.jpg' +import img8 from '@src/assets/images/banner/banner-32.jpg' +import img9 from '@src/assets/images/banner/banner-31.jpg' + +const params = { + effect: 'coverflow', + className: 'swiper-coverflow', + slidesPerView: 'auto', + centeredSlides: true, + pagination: { + clickable: true + }, + coverflowEffect: { + rotate: 50, + stretch: 0, + depth: 100, + modifier: 1, + slideShadows: true + } +} + +const SwiperFade = ({ isRtl }) => { + return ( + + + 3d Effect Coverflow Effect + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + swiper 6 + + + swiper 7 + + + swiper 8 + + + swiper 9 + + + + + ) +} + +export default SwiperFade diff --git a/src/views/extensions/swiper/SwiperDefault.js b/src/views/extensions/swiper/SwiperDefault.js new file mode 100644 index 0000000..b392271 --- /dev/null +++ b/src/views/extensions/swiper/SwiperDefault.js @@ -0,0 +1,38 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-1.jpg' +import img2 from '@src/assets/images/banner/banner-2.jpg' +import img3 from '@src/assets/images/banner/banner-4.jpg' +import img4 from '@src/assets/images/banner/banner-13.jpg' +import img5 from '@src/assets/images/banner/banner-7.jpg' + +const SwiperDefault = ({ isRtl }) => { + return ( + + + Default + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + + + ) +} + +export default SwiperDefault diff --git a/src/views/extensions/swiper/SwiperFade.js b/src/views/extensions/swiper/SwiperFade.js new file mode 100644 index 0000000..c37f585 --- /dev/null +++ b/src/views/extensions/swiper/SwiperFade.js @@ -0,0 +1,46 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-20.jpg' +import img2 from '@src/assets/images/banner/banner-19.jpg' +import img3 from '@src/assets/images/banner/banner-18.jpg' +import img4 from '@src/assets/images/banner/banner-17.jpg' +import img5 from '@src/assets/images/banner/banner-16.jpg' + +const params = { + effect: 'fade', + navigation: true, + pagination: { + clickable: true + } +} + +const SwiperFade = () => { + return ( + + + Fade + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + + + ) +} + +export default SwiperFade diff --git a/src/views/extensions/swiper/SwiperGallery.js b/src/views/extensions/swiper/SwiperGallery.js new file mode 100644 index 0000000..19f9233 --- /dev/null +++ b/src/views/extensions/swiper/SwiperGallery.js @@ -0,0 +1,83 @@ +import { useState } from 'react' +import SwiperCore, { Thumbs } from 'swiper' +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-11.jpg' +import img2 from '@src/assets/images/banner/banner-12.jpg' +import img3 from '@src/assets/images/banner/banner-13.jpg' +import img4 from '@src/assets/images/banner/banner-14.jpg' +import img5 from '@src/assets/images/banner/banner-15.jpg' + +SwiperCore.use([Thumbs]) + +const SwiperGallery = ({ isRtl }) => { + const [thumbsSwiper, setThumbsSwiper] = useState(null) + + const params = { + className: 'swiper-gallery', + spaceBetween: 10, + navigation: true, + pagination: { + clickable: true + }, + thumbs: { swiper: thumbsSwiper } + } + + const paramsThumbs = { + className: 'gallery-thumbs', + spaceBetween: 10, + slidesPerView: 4, + freeMode: true, + watchSlidesVisibility: true, + watchSlidesProgress: true, + onSwiper: setThumbsSwiper + } + + return ( + + + Gallery + + +
    + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + +
    +
    +
    + ) +} + +export default SwiperGallery diff --git a/src/views/extensions/swiper/SwiperLazyload.js b/src/views/extensions/swiper/SwiperLazyload.js new file mode 100644 index 0000000..f11f2f6 --- /dev/null +++ b/src/views/extensions/swiper/SwiperLazyload.js @@ -0,0 +1,56 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-9.jpg' +import img2 from '@src/assets/images/banner/banner-8.jpg' +import img3 from '@src/assets/images/banner/banner-7.jpg' +import img4 from '@src/assets/images/banner/banner-20.jpg' +import img5 from '@src/assets/images/banner/banner-5.jpg' +import img6 from '@src/assets/images/banner/banner-4.jpg' + +const params = { + lazy: true, + navigation: true, + pagination: { + clickable: true + } +} + +const SwiperLazyLoad = ({ isRtl }) => { + return ( + + + Lazy Loading + + + + + swiper 1 +
    +
    + + swiper 2 +
    +
    + + swiper 3 +
    +
    + + swiper 4 +
    +
    + + swiper 5 +
    +
    + + swiper 6 +
    +
    +
    +
    +
    + ) +} + +export default SwiperLazyLoad diff --git a/src/views/extensions/swiper/SwiperMultiSlides.js b/src/views/extensions/swiper/SwiperMultiSlides.js new file mode 100644 index 0000000..216bc51 --- /dev/null +++ b/src/views/extensions/swiper/SwiperMultiSlides.js @@ -0,0 +1,46 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-31.jpg' +import img2 from '@src/assets/images/banner/banner-32.jpg' +import img3 from '@src/assets/images/banner/banner-33.jpg' +import img4 from '@src/assets/images/banner/banner-34.jpg' +import img5 from '@src/assets/images/banner/banner-35.jpg' + +const params = { + slidesPerView: 3, + spaceBetween: 30, + pagination: { + clickable: true + } +} + +const SwiperMultiSlides = () => { + return ( + + + Multi Slides Per View + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + + + ) +} + +export default SwiperMultiSlides diff --git a/src/views/extensions/swiper/SwiperNavigation.js b/src/views/extensions/swiper/SwiperNavigation.js new file mode 100644 index 0000000..f78dc67 --- /dev/null +++ b/src/views/extensions/swiper/SwiperNavigation.js @@ -0,0 +1,42 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-7.jpg' +import img2 from '@src/assets/images/banner/banner-4.jpg' +import img3 from '@src/assets/images/banner/banner-14.jpg' +import img4 from '@src/assets/images/banner/banner-3.jpg' +import img5 from '@src/assets/images/banner/banner-2.jpg' + +const params = { + navigation: true +} + +const SwiperNavigation = ({ isRtl }) => { + return ( + + + Navigation + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + + + ) +} + +export default SwiperNavigation diff --git a/src/views/extensions/swiper/SwiperPagination.js b/src/views/extensions/swiper/SwiperPagination.js new file mode 100644 index 0000000..e30b956 --- /dev/null +++ b/src/views/extensions/swiper/SwiperPagination.js @@ -0,0 +1,44 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-12.jpg' +import img2 from '@src/assets/images/banner/banner-9.jpg' +import img3 from '@src/assets/images/banner/banner-8.jpg' +import img4 from '@src/assets/images/banner/banner-7.jpg' +import img5 from '@src/assets/images/banner/banner-20.jpg' + +const params = { + pagination: { + clickable: true + } +} + +const SwiperPagination = ({ isRtl }) => { + return ( + + + Pagination + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + + + ) +} + +export default SwiperPagination diff --git a/src/views/extensions/swiper/SwiperProgress.js b/src/views/extensions/swiper/SwiperProgress.js new file mode 100644 index 0000000..16f2c2f --- /dev/null +++ b/src/views/extensions/swiper/SwiperProgress.js @@ -0,0 +1,45 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-8.jpg' +import img2 from '@src/assets/images/banner/banner-7.jpg' +import img3 from '@src/assets/images/banner/banner-20.jpg' +import img4 from '@src/assets/images/banner/banner-5.jpg' +import img5 from '@src/assets/images/banner/banner-4.jpg' + +const params = { + navigation: true, + pagination: { + type: 'progressbar' + } +} + +const SwiperProgress = () => { + return ( + + + Progress + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + + + ) +} + +export default SwiperProgress diff --git a/src/views/extensions/swiper/SwiperResponsive.js b/src/views/extensions/swiper/SwiperResponsive.js new file mode 100644 index 0000000..094c598 --- /dev/null +++ b/src/views/extensions/swiper/SwiperResponsive.js @@ -0,0 +1,80 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-30.jpg' +import img2 from '@src/assets/images/banner/banner-31.jpg' +import img3 from '@src/assets/images/banner/banner-32.jpg' +import img4 from '@src/assets/images/banner/banner-33.jpg' +import img5 from '@src/assets/images/banner/banner-34.jpg' +import img6 from '@src/assets/images/banner/banner-35.jpg' +import img7 from '@src/assets/images/banner/banner-36.jpg' +import img8 from '@src/assets/images/banner/banner-37.jpg' +import img9 from '@src/assets/images/banner/banner-38.jpg' + +const params = { + slidesPerView: 5, + spaceBetween: 50, + pagination: { + clickable: true + }, + breakpoints: { + 1024: { + slidesPerView: 4, + spaceBetween: 40 + }, + 768: { + slidesPerView: 3, + spaceBetween: 30 + }, + 640: { + slidesPerView: 2, + spaceBetween: 20 + }, + 320: { + slidesPerView: 1, + spaceBetween: 10 + } + } +} + +const SwiperResponsive = ({ isRtl }) => { + return ( + + + Responsive + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + swiper 6 + + + swiper 7 + + + swiper 8 + + + swiper 9 + + + + + ) +} + +export default SwiperResponsive diff --git a/src/views/extensions/swiper/SwiperRows.js b/src/views/extensions/swiper/SwiperRows.js new file mode 100644 index 0000000..c51444d --- /dev/null +++ b/src/views/extensions/swiper/SwiperRows.js @@ -0,0 +1,68 @@ +import { Swiper, SwiperSlide } from 'swiper/react' +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import img1 from '@src/assets/images/banner/banner-26.jpg' +import img2 from '@src/assets/images/banner/banner-39.jpg' +import img3 from '@src/assets/images/banner/banner-28.jpg' +import img4 from '@src/assets/images/banner/banner-29.jpg' +import img5 from '@src/assets/images/banner/banner-30.jpg' +import img6 from '@src/assets/images/banner/banner-31.jpg' +import img7 from '@src/assets/images/banner/banner-32.jpg' +import img8 from '@src/assets/images/banner/banner-33.jpg' +import img9 from '@src/assets/images/banner/banner-34.jpg' +import img10 from '@src/assets/images/banner/banner-35.jpg' + +const params = { + slidesPerView: 3, + slidesPerColumn: 2, + spaceBetween: 30, + slidesPerColumnFill: 'row', + pagination: { + clickable: true + } +} + +const SwiperMultiSlides = ({ isRtl }) => { + return ( + + + Multi Row Slides Layout + + + + + swiper 1 + + + swiper 2 + + + swiper 3 + + + swiper 4 + + + swiper 5 + + + swiper 6 + + + swiper 7 + + + swiper 8 + + + swiper 9 + + + swiper 10 + + + + + ) +} + +export default SwiperMultiSlides diff --git a/src/views/extensions/swiper/SwiperVirtual.js b/src/views/extensions/swiper/SwiperVirtual.js new file mode 100644 index 0000000..0276c48 --- /dev/null +++ b/src/views/extensions/swiper/SwiperVirtual.js @@ -0,0 +1,58 @@ +import { Card, CardHeader, CardTitle, CardBody, Button } from 'reactstrap' +import { Swiper, SwiperSlide } from 'swiper/react' + +const SwiperVirtual = ({ isRtl }) => { + const slides = [] + for (let i = 0; i < 10; i += 1) { + slides.push(Slide {i + 1}) + } + + let instance = null + + const appendSlide = () => { + if (instance !== null) { + slides.push(Slide {slides.length + 1}) + instance.update(true) + } + } + + const removeSlide = () => { + if (instance !== null) { + instance.removeAllSlides() + slides.length = 0 + } + } + + return ( + + + Virtual + + + (instance = swiper.virtual)} + virtual + > + {slides} + + +
    + + +
    +
    +
    + ) +} + +export default SwiperVirtual diff --git a/src/views/extensions/swiper/index.js b/src/views/extensions/swiper/index.js new file mode 100644 index 0000000..c45aaa6 --- /dev/null +++ b/src/views/extensions/swiper/index.js @@ -0,0 +1,100 @@ +import { Fragment } from 'react' +import { useRTL } from '@hooks/useRTL' +import SwiperCore, { + Navigation, + Pagination, + EffectFade, + EffectCube, + EffectCoverflow, + Autoplay, + Lazy, + Virtual +} from 'swiper' +import SwiperDefault from './SwiperDefault' +import SwiperNavigation from './SwiperNavigation' +import SwiperPagination from './SwiperPagination' +import SwiperProgress from './SwiperProgress' +import SwiperMultiSlides from './SwiperMultiSlides' +import SwiperRows from './SwiperRows' +import CenterSlidesStyle1 from './CenteredSlidesStyle1' +import CenterSlidesStyle2 from './CenteredSlidesStyle2' +import SwiperFade from './SwiperFade' +import SwiperCube from './3DEffect' +import SwiperCoverflow from './SwiperCoverflow' +import SwiperAutoplay from './SwiperAutoplay' +import SwiperGallery from './SwiperGallery' +import SwiperLazy from './SwiperLazyload' +import SwiperResponsive from './SwiperResponsive' +import SwiperVirtual from './SwiperVirtual' +import ExtensionsHeader from '@components/extensions-header' +import { Row, Col } from 'reactstrap' + +import '@styles/react/libs/swiper/swiper.scss' + +SwiperCore.use([Navigation, Pagination, EffectFade, EffectCube, EffectCoverflow, Autoplay, Lazy, Virtual]) + +const Slider = () => { + const [isRtl, setIsRtl] = useRTL() + + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default Slider diff --git a/src/views/extensions/toastify/ToastPositions.js b/src/views/extensions/toastify/ToastPositions.js new file mode 100644 index 0000000..ae49693 --- /dev/null +++ b/src/views/extensions/toastify/ToastPositions.js @@ -0,0 +1,92 @@ +import { Fragment } from 'react' +import { Info } from 'react-feather' +import { toast } from 'react-toastify' +import Avatar from '@components/avatar' +import { Card, CardHeader, CardBody, CardTitle, Button, Row, Col } from 'reactstrap' + +const InfoToast = ({ title }) => ( + +
    +
    + } /> +
    {title}
    +
    + 11 Min Ago +
    +
    + I do not think that word means what you think it means. +
    +
    +) + +const ToastPositions = () => { + const notifyTopLeft = () => toast.info(, { + position: toast.POSITION.TOP_LEFT, + hideProgressBar: true + }) + const notifyTopCenter = () => toast.info(, { + position: toast.POSITION.TOP_CENTER, + hideProgressBar: true + }) + const notifyTopRight = () => toast.info(, { + position: toast.POSITION.TOP_RIGHT, + hideProgressBar: true + }) + + const notifyBottomLeft = () => toast.info(, { + position: toast.POSITION.BOTTOM_LEFT, + hideProgressBar: true + }) + const notifyBottomCenter = () => toast.info(, { + position: toast.POSITION.BOTTOM_CENTER, + hideProgressBar: true + }) + const notifyBottomRight = () => toast.info(, { + position: toast.POSITION.BOTTOM_RIGHT, + hideProgressBar: true + }) + + return ( + + + Positions + + + + +
    Top Positions
    +
    + + Top Left + + + Top Center + + + Top Right + +
    + + +
    Bottom Positions
    +
    + + Bottom Left + + + + Bottom Center + + + + Bottom Right + +
    + +
    +
    +
    + ) +} + +export default ToastPositions diff --git a/src/views/extensions/toastify/ToastTypes.js b/src/views/extensions/toastify/ToastTypes.js new file mode 100644 index 0000000..5f64a60 --- /dev/null +++ b/src/views/extensions/toastify/ToastTypes.js @@ -0,0 +1,148 @@ +import { Fragment } from 'react' +import { toast } from 'react-toastify' +import Avatar from '@components/avatar' +import { Bell, Check, X, AlertTriangle, Info } from 'react-feather' +import { Card, CardHeader, CardBody, CardTitle, Button } from 'reactstrap' + +const PrimaryToast = () => ( + +
    +
    + } /> +
    Default!
    +
    + 11 Min Ago +
    +
    + + 👋 Jelly-o macaroon brownie tart ice cream croissant jelly-o apple pie. + +
    +
    +) + +const SuccessToast = () => ( + +
    +
    + } /> +
    Success!
    +
    + 11 Min Ago +
    +
    + + 👋 Jelly-o macaroon brownie tart ice cream croissant jelly-o apple pie. + +
    +
    +) + +const ErrorToast = () => ( + +
    +
    + } /> +
    Error!
    +
    + 11 Min Ago +
    +
    + + 👋 Jelly-o macaroon brownie tart ice cream croissant jelly-o apple pie. + +
    +
    +) + +const WarningToast = () => ( + +
    +
    + } /> +
    Warning!
    +
    + 11 Min Ago +
    +
    + + 👋 Jelly-o macaroon brownie tart ice cream croissant jelly-o apple pie. + +
    +
    +) + +const InfoToast = () => ( + +
    +
    + } /> +
    Info!
    +
    + 11 Min Ago +
    +
    + + 👋 Jelly-o macaroon brownie tart ice cream croissant jelly-o apple pie. + +
    +
    +) + +const SuccessProgressToast = () => ( + +
    +
    + } /> +
    Progress Bar!
    +
    + 11 Min Ago +
    +
    + + 👋 Jelly-o macaroon brownie tart ice cream croissant jelly-o apple pie. + +
    +
    +) + +const ToastTypes = () => { + const notifyDefault = () => toast(, { hideProgressBar: true }) + const notifySuccess = () => toast.success(, { hideProgressBar: true }) + const notifyError = () => toast.error(, { hideProgressBar: true }) + const notifyWarning = () => toast.warning(, { hideProgressBar: true }) + const notifyInfo = () => toast.info(, { hideProgressBar: true }) + const notifySuccessProgress = () => toast.success() + + return ( + + + Types + + +
    + + Default + + + Success + + + Error + + + Warning + + + Info + + + Success Progress Bar + +
    +
    +
    + ) +} + +export default ToastTypes diff --git a/src/views/extensions/toastify/ToastifyOptions.js b/src/views/extensions/toastify/ToastifyOptions.js new file mode 100644 index 0000000..8c55f20 --- /dev/null +++ b/src/views/extensions/toastify/ToastifyOptions.js @@ -0,0 +1,81 @@ +import { Fragment } from 'react' +import Avatar from '@components/avatar' +import { X, Loader, Info } from 'react-feather' +import { toast } from 'react-toastify' +import { Card, CardHeader, CardBody, CardTitle, Button } from 'reactstrap' + +const ErrorToast = () => ( + +
    +
    + } /> +
    Delayed
    +
    + 11 Min Ago +
    +
    + Candy jelly-o apple pie chocolate bar croissant gummies tiramisu macaroon. +
    +
    +) + +const AutoCloseToast = () => ( + +
    +
    + } /> +
    Auto Close
    +
    + 11 Min Ago +
    +
    + Candy jelly-o apple pie chocolate bar croissant gummies tiramisu macaroon. +
    +
    +) + +const InfoToast = () => ( + +
    +
    + } /> +
    Sticky Toast!
    +
    + 11 Min Ago +
    +
    + Candy jelly-o apple pie chocolate bar croissant gummies tiramisu macaroon. +
    +
    +) + +const Toastr = () => { + const notifyDelay = () => toast.error(, { autoClose: 10000, hideProgressBar: true }) + const notifyAutoClose = () => toast.success(, { autoClose: 3000, hideProgressBar: true }) + const notifySticky = () => toast.info(, { autoClose: false, hideProgressBar: true }) + + return ( + + + Options + + +
    + + Delay + + + + AutoClose + + + + Sticky + +
    +
    +
    + ) +} + +export default Toastr diff --git a/src/views/extensions/toastify/ToastrAnimations.js b/src/views/extensions/toastify/ToastrAnimations.js new file mode 100644 index 0000000..6ff2d23 --- /dev/null +++ b/src/views/extensions/toastify/ToastrAnimations.js @@ -0,0 +1,101 @@ +import { Fragment } from 'react' +import Avatar from '@components/avatar' +import { toast, Slide, Zoom, Flip, Bounce } from 'react-toastify' +import { Check, X, AlertTriangle, Info } from 'react-feather' +import { Card, CardHeader, CardBody, CardTitle, Button } from 'reactstrap' + +const SuccessToast = () => ( + +
    +
    + } /> +
    Bounce!
    +
    + 11 Min Ago +
    +
    + I do not think that word means what you think it means. +
    +
    +) + +const WarningToast = () => ( + +
    +
    + } /> +
    Flip!
    +
    + 11 Min Ago +
    +
    + I do not think that word means what you think it means. +
    +
    +) + +const ErrorToast = () => ( + +
    +
    + } /> +
    Zoom!
    +
    + 11 Min Ago +
    +
    + I do not think that word means what you think it means. +
    +
    +) + +const InfoToast = () => ( + +
    +
    + } /> +
    Slide!
    +
    + 11 Min Ago +
    +
    + I do not think that word means what you think it means. +
    +
    +) + +const ToastAnimations = () => { + const notifyBounce = () => toast.success(, { transition: Bounce, hideProgressBar: true }) + const notifyFlip = () => toast.warning(, { transition: Flip, hideProgressBar: true }) + const notifyZoom = () => toast.error(, { transition: Zoom, hideProgressBar: true }) + const notifySlide = () => toast.info(, { transition: Slide, hideProgressBar: true }) + + return ( + + + Animations + + +
    + + Bounce + + + + Flip + + + + Zoom + + + + Slide + +
    +
    +
    + ) +} + +export default ToastAnimations diff --git a/src/views/extensions/toastify/index.js b/src/views/extensions/toastify/index.js new file mode 100644 index 0000000..a132f14 --- /dev/null +++ b/src/views/extensions/toastify/index.js @@ -0,0 +1,36 @@ +import { Fragment } from 'react' +import ExtensionsHeader from '@components/extensions-header' +import { Row, Col } from 'reactstrap' +import ToastrTypes from './ToastTypes' +import ToastrPositions from './ToastPositions' +import ToastrAnimations from './ToastrAnimations' +import ToastrOptions from './ToastifyOptions' + +const Toastr = () => { + return ( + + + + + + + + + + + + + + + + + + + ) +} + +export default Toastr diff --git a/src/views/extensions/tour/index.js b/src/views/extensions/tour/index.js new file mode 100644 index 0000000..cfe1ff9 --- /dev/null +++ b/src/views/extensions/tour/index.js @@ -0,0 +1,127 @@ +import { Fragment, useContext } from 'react' +import ExtensionsHeader from '@components/extensions-header' +import { Row, Col, Card, CardHeader, CardTitle, CardBody, Button } from 'reactstrap' +import { ShepherdTour, ShepherdTourContext } from 'react-shepherd' + +import 'shepherd.js/dist/css/shepherd.css' +import '@styles/react/libs/shepherd-tour/shepherd-tour.scss' + +const backBtnClass = 'btn btn-sm btn-outline-primary', + nextBtnClass = 'btn btn-sm btn-primary btn-next' + +let instance = null + +const steps = [ + { + id: 'navbar', + title: 'Navbar', + text: 'This is your navbar', + attachTo: { element: '.navbar', on: 'bottom' }, + cancelIcon: { + enabled: true + }, + buttons: [ + { + action: () => instance.cancel(), + classes: backBtnClass, + text: 'Skip' + }, + { + text: 'Next', + classes: nextBtnClass, + action: () => instance.next() + } + ] + }, + { + id: 'card', + title: 'Card', + text: 'This is a card', + attachTo: { element: '#basic-tour .card', on: 'top' }, + cancelIcon: { + enabled: true + }, + buttons: [ + { + text: 'Skip', + classes: backBtnClass, + action: () => instance.cancel() + }, + { + text: 'Back', + classes: backBtnClass, + action: () => instance.back() + }, + { + text: 'Next', + classes: nextBtnClass, + action: () => instance.next() + } + ] + }, + { + id: 'footer', + title: 'Footer', + text: 'This is the footer', + attachTo: { element: '.footer', on: 'top' }, + cancelIcon: { + enabled: true + }, + buttons: [ + { + text: 'Back', + classes: backBtnClass, + action: () => instance.back() + }, + { + text: 'Finish', + classes: nextBtnClass, + action: () => instance.cancel() + } + ] + } +] + +const Content = () => { + const tour = useContext(ShepherdTourContext) + instance = tour + + return ( + + ) +} + +const TourComponent = () => { + return ( + + + + + + + Tour + + + + + + + + + + + ) +} + +export default TourComponent diff --git a/src/views/pages/account-settings/GeneralTabContent.js b/src/views/pages/account-settings/GeneralTabContent.js new file mode 100644 index 0000000..b499749 --- /dev/null +++ b/src/views/pages/account-settings/GeneralTabContent.js @@ -0,0 +1,138 @@ +import { Fragment, useState } from 'react' +import classnames from 'classnames' +import { useForm, Controller } from 'react-hook-form' +import { Button, Media, Label, Row, Col, Input, FormGroup, Alert, Form } from 'reactstrap' + +const GeneralTabs = ({ data }) => { + const { register, errors, handleSubmit, control, setValue, trigger } = useForm() + + const [avatar, setAvatar] = useState(data.avatar ? data.avatar : '') + + const onChange = e => { + const reader = new FileReader(), + files = e.target.files + reader.onload = function () { + setAvatar(reader.result) + } + reader.readAsDataURL(files[0]) + } + + const onSubmit = data => trigger() + + return ( + + + + + + + + Upload + + + + Reset + +

    Allowed JPG, GIF or PNG. Max size of 800kB

    +
    +
    +
    + + + + + setValue('username', e.target.value)} + className={classnames({ + 'is-invalid': errors.username + })} + /> + + + + + + setValue('fullName', e.target.value)} + className={classnames({ + 'is-invalid': errors.fullName + })} + /> + + + + + + setValue('email', e.target.value)} + className={classnames({ + 'is-invalid': errors.email + })} + /> + + + + + + setValue('company', e.target.value)} + className={classnames({ + 'is-invalid': errors.company + })} + /> + + + + +

    Your email is not confirmed. Please check your inbox.

    + +
    + + + + Save changes + + + Cancel + + +
    +
    +
    + ) +} + +export default GeneralTabs diff --git a/src/views/pages/account-settings/InfoTabContent.js b/src/views/pages/account-settings/InfoTabContent.js new file mode 100644 index 0000000..7142b99 --- /dev/null +++ b/src/views/pages/account-settings/InfoTabContent.js @@ -0,0 +1,113 @@ +import classnames from 'classnames' +import Flatpickr from 'react-flatpickr' +import { useForm, Controller } from 'react-hook-form' +import { Label, Input, FormGroup, Row, Col, Button, Form } from 'reactstrap' + +import '@styles/react/libs/flatpickr/flatpickr.scss' + +const InfoTabContent = ({ data }) => { + const { register, errors, handleSubmit, control, trigger } = useForm({ + defaultValues: { dob: data.dob || new Date() } + }) + + const onSubmit = data => trigger() + + return ( +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Save changes + + + Cancel + + + +
    + ) +} + +export default InfoTabContent diff --git a/src/views/pages/account-settings/NotificationsTabContent.js b/src/views/pages/account-settings/NotificationsTabContent.js new file mode 100644 index 0000000..46904fb --- /dev/null +++ b/src/views/pages/account-settings/NotificationsTabContent.js @@ -0,0 +1,88 @@ +import { useState } from 'react' +import { Row, Col, CustomInput, Button } from 'reactstrap' + +const NotificationsTabContent = ({ data }) => { + const [followMe, setFollowMe] = useState(data.followMe) + const [blogDigest, setBlogDigest] = useState(data.blogDigest) + const [answerOnForm, setAnswerOnForm] = useState(data.answerOnForm) + const [productUpdates, setProductUpdates] = useState(data.productUpdates) + const [newAnnouncements, setNewAnnouncements] = useState(data.newAnnouncements) + const [commentOnArticle, setCommentOnArticle] = useState(data.commentOnArticle) + + return ( + +
    Activity
    + + setCommentOnArticle(e.target.checked)} + name='customSwitch' + label='Email me when someone comments on my article' + /> + + + setAnswerOnForm(e.target.checked)} + name='customSwitch' + label='Email me when someone answers on my form' + /> + + + setFollowMe(e.target.checked)} + name='customSwitch' + label='Email me when someone follows me' + /> + +
    Application
    + + setNewAnnouncements(e.target.checked)} + name='customSwitch' + label='News and announcements' + /> + + + setProductUpdates(e.target.checked)} + name='customSwitch' + label='Weekly product updates' + /> + + + setBlogDigest(e.target.checked)} + name='customSwitch' + label='Weekly blog digest' + /> + + + + Save changes + + + Cancel + + +
    + ) +} + +export default NotificationsTabContent diff --git a/src/views/pages/account-settings/PasswordTabContent.js b/src/views/pages/account-settings/PasswordTabContent.js new file mode 100644 index 0000000..4f52442 --- /dev/null +++ b/src/views/pages/account-settings/PasswordTabContent.js @@ -0,0 +1,81 @@ +import * as yup from 'yup' +import classnames from 'classnames' +import { useForm } from 'react-hook-form' +import { yupResolver } from '@hookform/resolvers/yup' +import { Form, FormGroup, Row, Col, Button } from 'reactstrap' +import InputPasswordToggle from '@components/input-password-toggle' + +const PasswordTabContent = () => { + const SignupSchema = yup.object().shape({ + 'old-password': yup.string().required(), + 'new-password': yup.string().required(), + 'retype-new-password': yup + .string() + .required() + .oneOf([yup.ref(`new-password`), null], 'Passwords must match') + }) + + const { register, errors, handleSubmit, trigger } = useForm({ + resolver: yupResolver(SignupSchema) + }) + + const onSubmit = () => trigger() + + return ( +
    + + + + + + + + + + + + + + + + + + + + + Save changes + + + Cancel + + + +
    + ) +} + +export default PasswordTabContent diff --git a/src/views/pages/account-settings/SocialTabContent.js b/src/views/pages/account-settings/SocialTabContent.js new file mode 100644 index 0000000..540aa11 --- /dev/null +++ b/src/views/pages/account-settings/SocialTabContent.js @@ -0,0 +1,205 @@ +import { useState, Fragment } from 'react' +import { isObjEmpty } from '@utils' +import Avatar from '@components/avatar' +import { Link, User } from 'react-feather' +import { Form, Label, Input, Button, Row, Col, FormGroup } from 'reactstrap' + +const SocialTabContent = ({ data }) => { + const [twitter, setTwitter] = useState(data.socialLinks.twitter ? data.socialLinks.twitter : '') + const [facebook, setFacebook] = useState(data.socialLinks.facebook ? data.socialLinks.facebook : '') + const [google, setGoogle] = useState(data.socialLinks.google ? data.socialLinks.google : '') + const [linkedIn, setLinkedIn] = useState(data.socialLinks.linkedIn ? data.socialLinks.linkedIn : '') + const [instagram, setInstagram] = useState(data.socialLinks.instagram ? data.socialLinks.instagram : '') + const [quora, setQuora] = useState(data.socialLinks.quora ? data.socialLinks.quora : '') + + const renderTwitterConnection = () => { + if (!isObjEmpty(data.connections.twitter)) { + return ( + + +

    @{data.connections.twitter.id}

    + e.preventDefault()}> + Disconnect + +
    + ) + } else { + return ( + + Connect + + ) + } + } + + const renderFacebookConnection = () => { + if (!isObjEmpty(data.connections.facebook)) { + return ( + + +

    @{data.connections.facebook.id}

    + e.preventDefault()}> + Disconnect + +
    + ) + } else { + return ( + + Connect + + ) + } + } + + const renderGoogleConnection = () => { + if (!isObjEmpty(data.connections.google)) { + return ( + + +

    @{data.connections.google.id}

    + e.preventDefault()}> + Disconnect + +
    + ) + } else { + return ( + + Connect + + ) + } + } + + const renderGithubConnection = () => { + if (!isObjEmpty(data.connections.github)) { + return ( + + +

    @{data.connections.github.id}

    + e.preventDefault()}> + Disconnect + +
    + ) + } else { + return ( + + Connect + + ) + } + } + + return ( +
    e.preventDefault()}> + + +
    + +

    Social Links

    +
    + + + + + setTwitter(e.target.value)} + placeholder='Add Link' + /> + + + + + + setFacebook(e.target.value)} + placeholder='Add Link' + /> + + + + + + setGoogle(e.target.value)} + placeholder='Add Link' + /> + + + + + + setLinkedIn(e.target.value)} + placeholder='Add Link' + /> + + + + + + setInstagram(e.target.value)} + placeholder='Add Link' + /> + + + + + + setQuora(e.target.value)} placeholder='Add Link' /> + + + +
    + + +
    + +

    Profile Connections

    +
    + + +

    Your Twitter

    + {renderTwitterConnection()} + + +

    Your Facebook

    + {renderFacebookConnection()} + + +

    Your Google

    + {renderGoogleConnection()} + + +

    Your Github

    + {renderGithubConnection()} + +
    + + + + Save changes + + + Cancel + + +
    +
    + ) +} + +export default SocialTabContent diff --git a/src/views/pages/account-settings/Tabs.js b/src/views/pages/account-settings/Tabs.js new file mode 100644 index 0000000..95af593 --- /dev/null +++ b/src/views/pages/account-settings/Tabs.js @@ -0,0 +1,41 @@ +import { Nav, NavItem, NavLink } from 'reactstrap' +import { User, Lock, Info, Link, Bell } from 'react-feather' + +const Tabs = ({ activeTab, toggleTab }) => { + return ( + + ) +} + +export default Tabs diff --git a/src/views/pages/account-settings/index.js b/src/views/pages/account-settings/index.js new file mode 100644 index 0000000..d4853cb --- /dev/null +++ b/src/views/pages/account-settings/index.js @@ -0,0 +1,63 @@ +import { Fragment, useState, useEffect } from 'react' +import Tabs from './Tabs' +import axios from 'axios' +import InfoTabContent from './InfoTabContent' +import Breadcrumbs from '@components/breadcrumbs' +import SocialTabContent from './SocialTabContent' +import GeneralTabContent from './GeneralTabContent' +import PasswordTabContent from './PasswordTabContent' +import NotificationsTabContent from './NotificationsTabContent' +import { Row, Col, TabContent, TabPane, Card, CardBody } from 'reactstrap' + +import '@styles/react/libs/flatpickr/flatpickr.scss' +import '@styles/react/pages/page-account-settings.scss' + +const AccountSettings = () => { + const [activeTab, setActiveTab] = useState('1'), + [data, setData] = useState(null) + + const toggleTab = tab => { + setActiveTab(tab) + } + + useEffect(() => { + axios.get('/account-setting/data').then(response => setData(response.data)) + }, []) + + return ( + + {data !== null ? ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) : null} + + ) +} + +export default AccountSettings diff --git a/src/views/pages/authentication/ForgotPassword.js b/src/views/pages/authentication/ForgotPassword.js new file mode 100644 index 0000000..f88a53e --- /dev/null +++ b/src/views/pages/authentication/ForgotPassword.js @@ -0,0 +1,109 @@ +import { isUserLoggedIn } from '@utils' +import { useSkin } from '@hooks/useSkin' +import { ChevronLeft } from 'react-feather' +import { Link, Redirect } from 'react-router-dom' +import { Row, Col, CardTitle, CardText, Form, FormGroup, Label, Input, Button } from 'reactstrap' +import '@styles/base/pages/page-auth.scss' + +const ForgotPassword = () => { + const [skin, setSkin] = useSkin() + + const illustration = skin === 'dark' ? 'forgot-password-v2-dark.svg' : 'forgot-password-v2.svg', + source = require(`@src/assets/images/pages/${illustration}`).default + + if (!isUserLoggedIn()) { + return ( +
    + + e.preventDefault()}> + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    + + +
    + Login V2 +
    + + + + + Forgot Password? 🔒 + + + Enter your email and we'll send you instructions to reset your password + +
    e.preventDefault()}> + + + + + + Send reset link + +
    +

    + + + Back to login + +

    + + +
    +
    + ) + } else { + return + } +} + +export default ForgotPassword diff --git a/src/views/pages/authentication/Login.js b/src/views/pages/authentication/Login.js new file mode 100644 index 0000000..0adaa9c --- /dev/null +++ b/src/views/pages/authentication/Login.js @@ -0,0 +1,186 @@ +import { useState, useContext, Fragment } from 'react' +import classnames from 'classnames' +import Avatar from '@components/avatar' +import { useSkin } from '@hooks/useSkin' +import useJwt from '@src/auth/jwt/useJwt' +import { useDispatch } from 'react-redux' +import { useForm } from 'react-hook-form' +import { toast, Slide } from 'react-toastify' +import { handleLogin } from '@store/actions/auth' +import { AbilityContext } from '@src/utility/context/Can' +import { Link, useHistory } from 'react-router-dom' +import InputPasswordToggle from '@components/input-password-toggle' +import { getHomeRouteForLoggedInUser, isObjEmpty } from '@utils' +import { Facebook, Twitter, Mail, GitHub, HelpCircle, Coffee } from 'react-feather' +import { + Alert, + Row, + Col, + CardTitle, + CardText, + Form, + Input, + FormGroup, + Label, + CustomInput, + Button, + UncontrolledTooltip +} from 'reactstrap' + +import '@styles/base/pages/page-auth.scss' + +const ToastContent = ({ name, role }) => ( + +
    +
    + } /> +
    Welcome, {name}
    +
    +
    +
    + You have successfully logged in as an {role} user to Vuexy. Now you can start to explore. Enjoy! +
    +
    +) + +const Login = props => { + const [skin, setSkin] = useSkin() + const ability = useContext(AbilityContext) + const dispatch = useDispatch() + const history = useHistory() + const [email, setEmail] = useState('') + const [password, setPassword] = useState('') + + const { register, errors, handleSubmit } = useForm() + const illustration = skin === 'dark' ? 'login-v2-dark.svg' : 'login-v2.svg', + source = require(`@src/assets/images/pages/${illustration}`).default + + const onSubmit = data => { + if (isObjEmpty(errors)) { + useJwt + .login({ email, password }) + .then(res => { + const data = { ...res.data.userData, accessToken: res.data.accessToken, refreshToken: res.data.refreshToken } + dispatch(handleLogin(data)) + ability.update(res.data.userData.ability) + history.push(getHomeRouteForLoggedInUser(data.role)) + toast.success( + , + { transition: Slide, hideProgressBar: true, autoClose: 2000 } + ) + }) + .catch(err => console.log(err)) + } + } + + return ( +
    + + e.preventDefault()}> + + +
    + Login V2 +
    + + + + + Please sign-in to your account and start the adventure + +
    +

    + + Admin: admin@demo.com | admin + +

    +

    + + Client: client@demo.com | client + +

    +
    + + + This is just for ACL demo purpose. + +
    +
    + + + setEmail(e.target.value)} + className={classnames({ 'is-invalid': errors['login-email'] })} + innerRef={register({ required: true, validate: value => value !== '' })} + /> + + +
    + + + Forgot Password? + +
    + setPassword(e.target.value)} + className={classnames({ 'is-invalid': errors['login-password'] })} + innerRef={register({ required: true, validate: value => value !== '' })} + /> +
    + + + + + Sign in + +
    +

    + New on our platform? + + Create an account + +

    +
    +
    or
    +
    +
    + + + + + + + + + + + + +
    + + +
    +
    + ) +} + +export default Login diff --git a/src/views/pages/authentication/Register.js b/src/views/pages/authentication/Register.js new file mode 100644 index 0000000..f949d86 --- /dev/null +++ b/src/views/pages/authentication/Register.js @@ -0,0 +1,252 @@ +import { Fragment, useState, useContext } from 'react' +import { isObjEmpty } from '@utils' +import classnames from 'classnames' +import { useSkin } from '@hooks/useSkin' +import useJwt from '@src/auth/jwt/useJwt' +import { useDispatch } from 'react-redux' +import { useForm } from 'react-hook-form' +import { handleLogin } from '@store/actions/auth' +import { Link, useHistory } from 'react-router-dom' +import { AbilityContext } from '@src/utility/context/Can' +import InputPasswordToggle from '@components/input-password-toggle' +import { Facebook, Twitter, Mail, GitHub } from 'react-feather' +import { Row, Col, CardTitle, CardText, FormGroup, Label, Button, Form, Input, CustomInput } from 'reactstrap' + +import '@styles/base/pages/page-auth.scss' + +const Register = () => { + const ability = useContext(AbilityContext) + + const [skin, setSkin] = useSkin() + + const history = useHistory() + + const dispatch = useDispatch() + + const { register, errors, handleSubmit, trigger } = useForm() + + const [email, setEmail] = useState('') + const [valErrors, setValErrors] = useState({}) + const [username, setUsername] = useState('') + const [password, setPassword] = useState('') + const [terms, setTerms] = useState(false) + + const illustration = skin === 'dark' ? 'register-v2-dark.svg' : 'register-v2.svg', + source = require(`@src/assets/images/pages/${illustration}`).default + + const Terms = () => { + return ( + + I agree to + e.preventDefault()}> + privacy policy & terms + + + ) + } + + const onSubmit = () => { + if (isObjEmpty(errors)) { + useJwt + .register({ username, email, password }) + .then(res => { + if (res.data.error) { + const arr = {} + for (const property in res.data.error) { + if (res.data.error[property] !== null) arr[property] = res.data.error[property] + } + setValErrors(arr) + if (res.data.error.email !== null) console.error(res.data.error.email) + if (res.data.error.username !== null) console.error(res.data.error.username) + } else { + setValErrors({}) + const data = { ...res.data.user, accessToken: res.data.accessToken } + ability.update(res.data.user.ability) + dispatch(handleLogin(data)) + history.push('/') + } + }) + .catch(err => console.log(err)) + } + } + + const handleUsernameChange = e => { + const errs = valErrors + if (errs.username) delete errs.username + setUsername(e.target.value) + setValErrors(errs) + } + + const handleEmailChange = e => { + const errs = valErrors + if (errs.email) delete errs.email + setEmail(e.target.value) + setValErrors(errs) + } + + return ( +
    + + e.preventDefault()}> + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    + + +
    + Login V2 +
    + + + + + Adventure starts here 🚀 + + Make your app management easy and fun! + +
    + + + value !== '' })} + /> + {Object.keys(valErrors).length && valErrors.username ? ( + {valErrors.username} + ) : null} + + + + value !== '' })} + /> + {Object.keys(valErrors).length && valErrors.email ? ( + {valErrors.email} + ) : null} + + + + setPassword(e.target.value)} + className={classnames({ 'is-invalid': errors['register-password'] })} + innerRef={register({ required: true, validate: value => value !== '' })} + /> + + + } + className='custom-control-Primary' + innerRef={register({ required: true })} + onChange={e => setTerms(e.target.checked)} + invalid={errors.terms && true} + /> + + + Sign up + +
    +

    + Already have an account? + + Sign in instead + +

    +
    +
    or
    +
    +
    + + + + + + + + + + + + +
    + + +
    +
    + ) +} + +export default Register diff --git a/src/views/pages/authentication/ResetPasswordV1.js b/src/views/pages/authentication/ResetPasswordV1.js new file mode 100644 index 0000000..557d6c1 --- /dev/null +++ b/src/views/pages/authentication/ResetPasswordV1.js @@ -0,0 +1,98 @@ +import { Link } from 'react-router-dom' +import { ChevronLeft } from 'react-feather' +import InputPassword from '@components/input-password-toggle' +import { Card, CardBody, CardTitle, CardText, Form, FormGroup, Label, Button } from 'reactstrap' +import '@styles/base/pages/page-auth.scss' + +const ResetPasswordV1 = () => { + return ( +
    +
    + + + e.preventDefault()}> + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    + + + Reset Password 🔒 + + Your new password must be different from previously used passwords +
    e.preventDefault()}> + + + + + + + + + + Set New Password + +
    +

    + + + Back to login + +

    +
    +
    +
    +
    + ) +} + +export default ResetPasswordV1 diff --git a/src/views/pages/faq/FaqContact.js b/src/views/pages/faq/FaqContact.js new file mode 100644 index 0000000..d758291 --- /dev/null +++ b/src/views/pages/faq/FaqContact.js @@ -0,0 +1,41 @@ +import { Row, Col, Card, CardBody } from 'reactstrap' +import { PhoneCall, Mail } from 'react-feather' + +const FaqContact = () => { + return ( +
    + + +

    You still have a question?

    +

    + If you cannot find a question in our FAQ, you can always contact us. We will answer to you shortly! +

    + + + + +
    + +
    +

    + (810) 2548 2568

    + We are always happy to help! +
    +
    + + + + +
    + +
    +

    hello@help.com

    + Best way to get answer faster! +
    +
    + +
    +
    + ) +} + +export default FaqContact diff --git a/src/views/pages/faq/FaqFilter.js b/src/views/pages/faq/FaqFilter.js new file mode 100644 index 0000000..98db310 --- /dev/null +++ b/src/views/pages/faq/FaqFilter.js @@ -0,0 +1,37 @@ +import { Search } from 'react-feather' +import { Card, CardBody, CardText, Form, Input, InputGroup, InputGroupAddon, InputGroupText } from 'reactstrap' + +const FaqFilter = ({ searchTerm, setSearchTerm, getFAQData }) => { + const handleFaqFilter = e => { + setSearchTerm(e.target.value) + getFAQData(e.target.value) + } + + return ( +
    + + +

    Let's answer some questions

    + or choose a category to quickly find the help you need +
    e.preventDefault()}> + + + + + + + handleFaqFilter(e)} placeholder='search faq...' /> + +
    +
    +
    +
    + ) +} + +export default FaqFilter diff --git a/src/views/pages/faq/Faqs.js b/src/views/pages/faq/Faqs.js new file mode 100644 index 0000000..b2a47d6 --- /dev/null +++ b/src/views/pages/faq/Faqs.js @@ -0,0 +1,87 @@ +import { useState } from 'react' +import * as Icon from 'react-feather' +import AppCollapse from '@components/app-collapse' +import illustration from '@src/assets/images/illustration/faq-illustrations.svg' +import { Nav, NavItem, NavLink, Row, Col, TabContent, TabPane } from 'reactstrap' + +const Faqs = ({ data }) => { + const dataToRender = [] + + const [activeTab, setActiveTab] = useState('Payment') + + const toggleTab = tab => setActiveTab(tab) + + Object.entries(data).forEach(([key, val]) => { + dataToRender.push(val) + }) + + const renderTabs = () => { + return dataToRender.map(item => { + const IconTag = Icon[item.icon] + return ( + + toggleTab(item.title)}> + + {item.title} + + + ) + }) + } + + const renderTabContent = () => { + return dataToRender.map(item => { + const IconTag = Icon[item.icon] + + return ( + +
    +
    + +
    +
    +

    {item.title}

    + {item.subtitle} +
    +
    + +
    + ) + }) + } + + return ( +
    + + +
    + + illustration +
    + + + {renderTabContent()} + +
    +
    + ) +} + +export default Faqs diff --git a/src/views/pages/faq/index.js b/src/views/pages/faq/index.js new file mode 100644 index 0000000..c72d507 --- /dev/null +++ b/src/views/pages/faq/index.js @@ -0,0 +1,34 @@ +import { Fragment, useState, useEffect } from 'react' +import axios from 'axios' +import Faqs from './Faqs' +import FaqFilter from './FaqFilter' +import FaqContact from './FaqContact' +import Breadcrumbs from '@components/breadcrumbs' + +import '@styles/base/pages/page-faq.scss' + +const Faq = () => { + const [data, setData] = useState(null), + [searchTerm, setSearchTerm] = useState('') + + const getFAQData = query => { + return axios.get('/faq/data', { params: { q: query } }).then(response => { + setData(response.data) + }) + } + + useEffect(() => { + getFAQData(searchTerm) + }, []) + + return ( + + + + {data !== null ? : null} + + + ) +} + +export default Faq diff --git a/src/views/pages/misc/ComingSoon.js b/src/views/pages/misc/ComingSoon.js new file mode 100644 index 0000000..64a6a50 --- /dev/null +++ b/src/views/pages/misc/ComingSoon.js @@ -0,0 +1,76 @@ +import { Button, Form, Input, Row, Col } from 'reactstrap' +import comingSoonImg from '@src/assets/images/pages/coming-soon.svg' + +import '@styles/base/pages/page-misc.scss' + +const ComingSoon = () => { + return ( +
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    +
    +
    +
    +

    We are launching soon 🚀

    +

    We're creating something awesome. Please subscribe to get notified when it's ready!

    +
    e.preventDefault()}> + + +
    + Coming soon page +
    +
    +
    + ) +} +export default ComingSoon diff --git a/src/views/pages/misc/Error.js b/src/views/pages/misc/Error.js new file mode 100644 index 0000000..42d1c01 --- /dev/null +++ b/src/views/pages/misc/Error.js @@ -0,0 +1,26 @@ +import { Button } from 'reactstrap' +import { Link } from 'react-router-dom' +import errorImg from '@src/assets/images/pages/error.svg' + +import '@styles/base/pages/page-misc.scss' +import { useEffect } from 'react' + +const Error = () => { + return ( +
    + + +
    +
    +

    Page Not Found 🕵🏻‍♀️

    +

    Oops! 😖 The requested URL was not found on this server.

    + + Not authorized page +
    +
    +
    + ) +} +export default Error diff --git a/src/views/pages/misc/Maintenance.js b/src/views/pages/misc/Maintenance.js new file mode 100644 index 0000000..7eefeff --- /dev/null +++ b/src/views/pages/misc/Maintenance.js @@ -0,0 +1,76 @@ +import { Button, Form, Input, Row, Col } from 'reactstrap' +import maintenanceImg from '@src/assets/images/pages/under-maintenance.svg' + +import '@styles/base/pages/page-misc.scss' + +const Maintenance = () => { + return ( +
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    +
    +
    +
    +

    Under Maintenance 🛠

    +

    Sorry for the inconvenience but we're performing some maintenance at the moment

    +
    e.preventDefault()}> + + +
    + Under maintenance page +
    +
    +
    + ) +} +export default Maintenance diff --git a/src/views/pages/misc/NotAuthorized.js b/src/views/pages/misc/NotAuthorized.js new file mode 100644 index 0000000..23088a1 --- /dev/null +++ b/src/views/pages/misc/NotAuthorized.js @@ -0,0 +1,77 @@ +import { Button } from 'reactstrap' +import { Link } from 'react-router-dom' +import notAuthImg from '@src/assets/images/pages/not-authorized.svg' + +import '@styles/base/pages/page-misc.scss' + +const NotAuthorized = () => { + return ( +
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Vuexy

    +
    +
    +
    +

    You are not authorized! 🔐

    +

    + The Webtrends Marketing Lab website in IIS uses the default IUSR account credentials to access the web pages + it serves. +

    + + Not authorized page +
    +
    +
    + ) +} +export default NotAuthorized diff --git a/src/views/pages/profile/ProfileAbout.js b/src/views/pages/profile/ProfileAbout.js new file mode 100644 index 0000000..7f5c1a8 --- /dev/null +++ b/src/views/pages/profile/ProfileAbout.js @@ -0,0 +1,30 @@ +import { Card, CardBody, CardText } from 'reactstrap' + +const ProfileAbout = ({ data }) => { + return ( + + +
    About
    + {data.about} +
    +
    Joined:
    + {data.joined} +
    +
    +
    Lives:
    + {data.lives} +
    +
    +
    Email:
    + {data.email} +
    +
    +
    Website:
    + {data.website} +
    +
    +
    + ) +} + +export default ProfileAbout diff --git a/src/views/pages/profile/ProfileFriendsSuggestions.js b/src/views/pages/profile/ProfileFriendsSuggestions.js new file mode 100644 index 0000000..583247b --- /dev/null +++ b/src/views/pages/profile/ProfileFriendsSuggestions.js @@ -0,0 +1,42 @@ +import classnames from 'classnames' +import Avatar from '@components/avatar' +import { UserPlus } from 'react-feather' +import { Card, CardBody, Button } from 'reactstrap' + +const ProfileFriendsSuggestions = ({ data }) => { + const renderSuggestion = () => { + return data.map((suggestion, index) => { + return ( +
    + +
    +
    {suggestion.name}
    + {suggestion.mutualFriend} +
    +
    + + + +
    +
    + ) + }) + } + + return ( + + +
    Suggestions
    + {renderSuggestion()} +
    +
    + ) +} + +export default ProfileFriendsSuggestions diff --git a/src/views/pages/profile/ProfileHeader.js b/src/views/pages/profile/ProfileHeader.js new file mode 100644 index 0000000..2390bb6 --- /dev/null +++ b/src/views/pages/profile/ProfileHeader.js @@ -0,0 +1,69 @@ +import { useState } from 'react' +import { AlignJustify, Rss, Info, Image, Users, Edit } from 'react-feather' +import { Card, CardImg, Collapse, Navbar, Nav, NavItem, NavLink, Button } from 'reactstrap' + +const ProfileHeader = ({ data }) => { + const [isOpen, setIsOpen] = useState(false) + + const toggle = () => setIsOpen(!isOpen) + + return ( + + +
    +
    +
    + Card image +
    +
    +

    {data.username}

    +

    {data.designation}

    +
    +
    +
    +
    + + + +
    + + +
    +
    +
    +
    +
    + ) +} + +export default ProfileHeader diff --git a/src/views/pages/profile/ProfileLatestPhotos.js b/src/views/pages/profile/ProfileLatestPhotos.js new file mode 100644 index 0000000..efac754 --- /dev/null +++ b/src/views/pages/profile/ProfileLatestPhotos.js @@ -0,0 +1,26 @@ +import { Card, CardBody, Row, Col } from 'reactstrap' + +const ProfileLatestPhotos = ({ data }) => { + const renderPhotos = () => { + return data.map((item, index) => { + return ( + + e.preventDefault()}> + latest-photo + + + ) + }) + } + + return ( + + +
    Latest Photos
    + {renderPhotos()} +
    +
    + ) +} + +export default ProfileLatestPhotos diff --git a/src/views/pages/profile/ProfilePolls.js b/src/views/pages/profile/ProfilePolls.js new file mode 100644 index 0000000..6e06efe --- /dev/null +++ b/src/views/pages/profile/ProfilePolls.js @@ -0,0 +1,54 @@ +import { Fragment } from 'react' +import Avatar from '@components/avatar' +import { Card, CardBody, CardText, Progress, CustomInput, UncontrolledTooltip } from 'reactstrap' + +const ProfilePolls = ({ data }) => { + const renderOptions = () => { + return data.map(option => { + return ( +
    +
    + +
    {option.result}
    +
    + +
    + {option.votedUser.map(user => { + return ( + + + + {user.username} + + + ) + })} +
    +
    + ) + }) + } + + return ( + + +
    Polls
    + Who is the best actor in Marvel Cinematic Universe? + {renderOptions()} +
    +
    + ) +} + +export default ProfilePolls diff --git a/src/views/pages/profile/ProfilePosts.js b/src/views/pages/profile/ProfilePosts.js new file mode 100644 index 0000000..ce9b7b6 --- /dev/null +++ b/src/views/pages/profile/ProfilePosts.js @@ -0,0 +1,112 @@ +import { Fragment } from 'react' +import classnames from 'classnames' +import Avatar from '@components/avatar' +import { Heart, MessageSquare, Share2 } from 'react-feather' +import { Card, CardBody, CardText, Row, Col, UncontrolledTooltip, Input, Label, Button } from 'reactstrap' + +const ProfilePosts = ({ data }) => { + const renderPosts = () => { + return data.map(post => { + return ( + + +
    + +
    +
    {post.username}
    + {post.postTime} +
    +
    + {post.postText} + {post.postImg ? ( + {post.username} + ) : post.postVid ? ( + + ) : null} + + +
    + + {post.likes} +
    +
    +
    + {post.likedUsers.map(user => { + return ( + + + + {user.username} + + + ) + })} +
    + e.preventDefault()}> + +140 more + +
    + + + e.preventDefault()}> + + {post.comments} + + e.preventDefault()}> + + {post.share} + + +
    + {post.detailedComments.map(comment => ( +
    + +
    + + {comment.comment} +
    +
    + ))} +
    + + +
    + + Post Comment + +
    +
    + ) + }) + } + return renderPosts() +} +export default ProfilePosts diff --git a/src/views/pages/profile/ProfileSuggestedPages.js b/src/views/pages/profile/ProfileSuggestedPages.js new file mode 100644 index 0000000..6bbbdb0 --- /dev/null +++ b/src/views/pages/profile/ProfileSuggestedPages.js @@ -0,0 +1,44 @@ +import classnames from 'classnames' +import { Star } from 'react-feather' +import Avatar from '@components/avatar' +import { Card, CardBody } from 'reactstrap' + +const ProfileSuggestedPages = ({ data }) => { + const renderSuggestions = () => { + return data.map((suggestion, index) => { + return ( +
    + +
    +
    {suggestion.username}
    + {suggestion.subtitle} +
    +
    + +
    +
    + ) + }) + } + + return ( + + +
    Suggested Pages
    + {renderSuggestions()} +
    +
    + ) +} + +export default ProfileSuggestedPages diff --git a/src/views/pages/profile/ProfileTwitterFeeds.js b/src/views/pages/profile/ProfileTwitterFeeds.js new file mode 100644 index 0000000..ef04655 --- /dev/null +++ b/src/views/pages/profile/ProfileTwitterFeeds.js @@ -0,0 +1,54 @@ +import classnames from 'classnames' +import Avatar from '@components/avatar' +import { CheckCircle, Star } from 'react-feather' +import { Card, CardBody, CardText } from 'reactstrap' + +const ProfileTwitterFeeds = ({ data }) => { + const renderFeeds = () => { + return data.map((feed, index) => { + return ( + + ) + }) + } + + return ( + + +
    Twitter Feeds
    + {renderFeeds()} +
    +
    + ) +} + +export default ProfileTwitterFeeds diff --git a/src/views/pages/profile/index.js b/src/views/pages/profile/index.js new file mode 100644 index 0000000..f593bde --- /dev/null +++ b/src/views/pages/profile/index.js @@ -0,0 +1,73 @@ +import { Fragment, useState, useEffect } from 'react' +import axios from 'axios' +import UILoader from '@components/ui-loader' +import ProfilePoll from './ProfilePolls' +import ProfileAbout from './ProfileAbout' +import ProfilePosts from './ProfilePosts' +import ProfileHeader from './ProfileHeader' +import { Row, Col, Button } from 'reactstrap' +import ProfileTwitterFeeds from './ProfileTwitterFeeds' +import ProfileLatestPhotos from './ProfileLatestPhotos' +import ProfileSuggestedPages from './ProfileSuggestedPages' +import ProfileFriendsSuggestions from './ProfileFriendsSuggestions' +import Breadcrumbs from '@components/breadcrumbs' + +import '@styles/react/pages/page-profile.scss' + +const Profile = () => { + const [data, setData] = useState(null) + const [block, setBlock] = useState(false) + + const handleBlock = () => { + setBlock(true) + setTimeout(() => { + setBlock(false) + }, 2000) + } + + useEffect(() => { + axios.get('/profile/data').then(response => setData(response.data)) + }, []) + return ( + + + {data !== null ? ( +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + ) : null} +
    + ) +} + +export default Profile diff --git a/src/views/tables/data-tables/advance/TableAdvSearch.js b/src/views/tables/data-tables/advance/TableAdvSearch.js new file mode 100644 index 0000000..cc725d0 --- /dev/null +++ b/src/views/tables/data-tables/advance/TableAdvSearch.js @@ -0,0 +1,336 @@ +// ** React Imports +import { useState, Fragment } from 'react' + +// ** Table Columns +import { data, advSearchColumns } from '../data' + +// ** Third Party Components +import Flatpickr from 'react-flatpickr' +import ReactPaginate from 'react-paginate' +import { ChevronDown } from 'react-feather' +import DataTable from 'react-data-table-component' +import { Card, CardHeader, CardBody, CardTitle, Input, Label, FormGroup, Row, Col } from 'reactstrap' + +// ** Styles +import '@styles/react/libs/flatpickr/flatpickr.scss' + +const DataTableAdvSearch = () => { + // ** States + const [Picker, setPicker] = useState('') + const [searchName, setSearchName] = useState('') + const [searchPost, setSearchPost] = useState('') + const [searchCity, setSearchCity] = useState('') + const [currentPage, setCurrentPage] = useState(0) + const [searchEmail, setSearchEmail] = useState('') + const [searchSalary, setSearchSalary] = useState('') + const [filteredData, setFilteredData] = useState([]) + + // ** Function to handle Pagination + const handlePagination = page => setCurrentPage(page.selected) + + // ** Table data to render + const dataToRender = () => { + if ( + searchName.length || + searchPost.length || + searchEmail.length || + searchCity.length || + searchSalary.length || + Picker.length + ) { + return filteredData + } else { + return data + } + } + + // ** Custom Pagination + const CustomPagination = () => ( + handlePagination(page)} + pageCount={dataToRender().length / 7 || 1} + breakLabel={'...'} + pageRangeDisplayed={2} + marginPagesDisplayed={2} + activeClassName={'active'} + pageClassName={'page-item'} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + breakClassName='page-item' + breakLinkClassName='page-link' + containerClassName={'pagination react-paginate separated-pagination pagination-sm justify-content-end pr-1 mt-1'} + /> + ) + + // ** Function to handle name filter + const handleNameFilter = e => { + const value = e.target.value + let updatedData = [] + const dataToFilter = () => { + if (searchEmail.length || searchPost.length || searchCity.length || searchSalary.length || Picker.length) { + return filteredData + } else { + return data + } + } + + setSearchName(value) + if (value.length) { + updatedData = dataToFilter().filter(item => { + const startsWith = item.full_name.toLowerCase().startsWith(value.toLowerCase()) + + const includes = item.full_name.toLowerCase().includes(value.toLowerCase()) + + if (startsWith) { + return startsWith + } else if (!startsWith && includes) { + return includes + } else return null + }) + setFilteredData([...updatedData]) + setSearchName(value) + } + } + + // ** Function to handle email filter + const handleEmailFilter = e => { + const value = e.target.value + let updatedData = [] + const dataToFilter = () => { + if (searchName.length || searchPost.length || searchCity.length || searchSalary.length || Picker.length) { + return filteredData + } else { + return data + } + } + + setSearchEmail(value) + if (value.length) { + updatedData = dataToFilter().filter(item => { + const startsWith = item.email.toLowerCase().startsWith(value.toLowerCase()) + + const includes = item.email.toLowerCase().includes(value.toLowerCase()) + + if (startsWith) { + return startsWith + } else if (!startsWith && includes) { + return includes + } else return null + }) + setFilteredData([...updatedData]) + setSearchEmail(value) + } + } + + // ** Function to handle post filter + const handlePostFilter = e => { + const value = e.target.value + let updatedData = [] + const dataToFilter = () => { + if (searchEmail.length || searchName.length || searchCity.length || searchSalary.length || Picker.length) { + return filteredData + } else { + return data + } + } + + setSearchPost(value) + if (value.length) { + updatedData = dataToFilter().filter(item => { + const startsWith = item.post.toLowerCase().startsWith(value.toLowerCase()) + + const includes = item.post.toLowerCase().includes(value.toLowerCase()) + + if (startsWith) { + return startsWith + } else if (!startsWith && includes) { + return includes + } else return null + }) + setFilteredData([...updatedData]) + setSearchPost(value) + } + } + + // ** Function to handle city filter + const handleCityFilter = e => { + const value = e.target.value + let updatedData = [] + const dataToFilter = () => { + if (searchEmail.length || searchName.length || searchPost.length || searchSalary.length || Picker.length) { + return filteredData + } else { + return data + } + } + + setSearchCity(value) + if (value.length) { + updatedData = dataToFilter().filter(item => { + const startsWith = item.city.toLowerCase().startsWith(value.toLowerCase()) + + const includes = item.city.toLowerCase().includes(value.toLowerCase()) + + if (startsWith) { + return startsWith + } else if (!startsWith && includes) { + return includes + } else return null + }) + setFilteredData([...updatedData]) + setSearchCity(value) + } + } + + // ** Function to handle salary filter + const handleSalaryFilter = e => { + const value = e.target.value + let updatedData = [] + const dataToFilter = () => { + if (searchEmail.length || searchName.length || searchPost.length || searchCity.length || Picker.length) { + return filteredData + } else { + return data + } + } + + setSearchSalary(value) + if (value.length) { + updatedData = dataToFilter().filter(item => { + const startsWith = item.salary.toLowerCase().startsWith(value.toLowerCase()) + + const includes = item.salary.toLowerCase().includes(value.toLowerCase()) + + if (startsWith) { + return startsWith + } else if (!startsWith && includes) { + return includes + } else return null + }) + setFilteredData([...updatedData]) + setSearchSalary(value) + } + } + + // ** Function to handle date filter + const handleDateFilter = range => { + const arr = [] + let updatedData = [] + const dataToFilter = () => { + if (searchEmail.length || searchName.length || searchPost.length || searchCity.length || searchSalary.length) { + return filteredData + } else { + return data + } + } + + range.map(i => { + const date = new Date(i) + + const year = date.getFullYear() + + let month = (1 + date.getMonth()).toString() + month = month.length > 1 ? month : `0${month}` + + let day = date.getDate().toString() + day = day.length > 1 ? day : `0${day}` + + arr.push(`${month}/${day}/${year}`) + return true + }) + + setPicker(range) + + if (range.length) { + updatedData = dataToFilter().filter(item => { + return ( + new Date(item.start_date).getTime() >= new Date(arr[0]).getTime() && + new Date(item.start_date).getTime() <= new Date(arr[1]).getTime() + ) + }) + setFilteredData([...updatedData]) + setPicker(range) + } + } + + return ( + + + + Advance Search + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + handleDateFilter(date)} + /> + + + + + + + + + + + } + paginationDefaultPage={currentPage + 1} + paginationComponent={CustomPagination} + data={dataToRender()} + /> + + + ) +} + +export default DataTableAdvSearch diff --git a/src/views/tables/data-tables/advance/TableServerSide.js b/src/views/tables/data-tables/advance/TableServerSide.js new file mode 100644 index 0000000..a1f7919 --- /dev/null +++ b/src/views/tables/data-tables/advance/TableServerSide.js @@ -0,0 +1,180 @@ +// ** React Imports +import { Fragment, useState, useEffect, memo } from 'react' + +// ** Table Columns +import { serverSideColumns } from '../data' + +// ** Store & Actions +import { getData } from '../store/actions' +import { useSelector, useDispatch } from 'react-redux' + +// ** Third Party Components +import ReactPaginate from 'react-paginate' +import { ChevronDown } from 'react-feather' +import DataTable from 'react-data-table-component' +import { Card, CardHeader, CardTitle, Input, Label, Row, Col } from 'reactstrap' + +const DataTableServerSide = () => { + // ** Store Vars + const dispatch = useDispatch() + const store = useSelector(state => state.dataTables) + + // ** States + const [currentPage, setCurrentPage] = useState(1) + const [rowsPerPage, setRowsPerPage] = useState(7) + const [searchValue, setSearchValue] = useState('') + + // ** Get data on mount + useEffect(() => { + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + q: searchValue + }) + ) + }, [dispatch]) + + // ** Function to handle filter + const handleFilter = e => { + setSearchValue(e.target.value) + + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + q: e.target.value + }) + ) + } + + // ** Function to handle Pagination and get data + const handlePagination = page => { + dispatch( + getData({ + page: page.selected + 1, + perPage: rowsPerPage, + q: searchValue + }) + ) + setCurrentPage(page.selected + 1) + } + + // ** Function to handle per page + const handlePerPage = e => { + dispatch( + getData({ + page: currentPage, + perPage: parseInt(e.target.value), + q: searchValue + }) + ) + setRowsPerPage(parseInt(e.target.value)) + } + + // ** Custom Pagination + const CustomPagination = () => { + const count = Number((store.total / rowsPerPage).toFixed(0)) + + return ( + handlePagination(page)} + pageClassName={'page-item'} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + breakClassName='page-item' + breakLinkClassName='page-link' + containerClassName={ + 'pagination react-paginate separated-pagination pagination-sm justify-content-end pr-1 mt-1' + } + /> + ) + } + + // ** Table data to render + const dataToRender = () => { + const filters = { + q: searchValue + } + + const isFiltered = Object.keys(filters).some(function (k) { + return filters[k].length > 0 + }) + + if (store.data.length > 0) { + return store.data + } else if (store.data.length === 0 && isFiltered) { + return [] + } else { + return store.allData.slice(0, rowsPerPage) + } + } + + return ( + + + + Server Side + + + +
    + + handlePerPage(e)} + > + + + + + + + + +
    + + + + + +
    + } + paginationComponent={CustomPagination} + data={dataToRender()} + /> +
    +
    + ) +} + +export default memo(DataTableServerSide) diff --git a/src/views/tables/data-tables/advance/index.js b/src/views/tables/data-tables/advance/index.js new file mode 100644 index 0000000..0ba475d --- /dev/null +++ b/src/views/tables/data-tables/advance/index.js @@ -0,0 +1,33 @@ +// ** React Imports +import { Fragment } from 'react' + +// ** Custom Components +import Breadcrumbs from '@components/breadcrumbs' + +// ** Third Party Components +import { Row, Col } from 'reactstrap' + +// ** Tables +import TableServerSide from './TableServerSide' +import TableAdvSearch from './TableAdvSearch' + +// ** Styles +import '@styles/react/libs/tables/react-dataTable-component.scss' + +const Tables = () => { + return ( + + + + + + + + + + + + ) +} + +export default Tables diff --git a/src/views/tables/data-tables/basic/AddNewModal.js b/src/views/tables/data-tables/basic/AddNewModal.js new file mode 100644 index 0000000..379282e --- /dev/null +++ b/src/views/tables/data-tables/basic/AddNewModal.js @@ -0,0 +1,108 @@ +// ** React Imports +import { useState } from 'react' + +// ** Third Party Components +import Flatpickr from 'react-flatpickr' +import { User, Briefcase, Mail, Calendar, DollarSign, X } from 'react-feather' +import { + Button, + Modal, + ModalHeader, + ModalBody, + FormGroup, + InputGroup, + InputGroupAddon, + InputGroupText, + Input, + Label +} from 'reactstrap' + +// ** Styles +import '@styles/react/libs/flatpickr/flatpickr.scss' + +const AddNewModal = ({ open, handleModal }) => { + // ** State + const [Picker, setPicker] = useState(new Date()) + + // ** Custom close btn + const CloseBtn = + + return ( + + +
    New Record
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + setPicker(date)} /> + + + + + + + + + + + + + + + + +
    + ) +} + +export default AddNewModal diff --git a/src/views/tables/data-tables/basic/TableExpandable.js b/src/views/tables/data-tables/basic/TableExpandable.js new file mode 100644 index 0000000..2374674 --- /dev/null +++ b/src/views/tables/data-tables/basic/TableExpandable.js @@ -0,0 +1,69 @@ +// ** React Imports +import { useState } from 'react' + +// ** Table columns & Expandable Data +import ExpandableTable, { data, columns } from '../data' + +// ** Third Party Components +import ReactPaginate from 'react-paginate' +import { ChevronDown } from 'react-feather' +import DataTable from 'react-data-table-component' +import { Card, CardHeader, CardTitle } from 'reactstrap' + +const DataTableWithButtons = () => { + // ** State + const [currentPage, setCurrentPage] = useState(0) + + // ** Function to handle filter + const handlePagination = page => { + setCurrentPage(page.selected) + } + + // ** Custom Pagination + const CustomPagination = () => ( + handlePagination(page)} + pageCount={10} + breakLabel={'...'} + pageRangeDisplayed={2} + marginPagesDisplayed={2} + activeClassName={'active'} + pageClassName={'page-item'} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + breakClassName='page-item' + breakLinkClassName='page-link' + containerClassName={'pagination react-paginate separated-pagination pagination-sm justify-content-end pr-1'} + /> + ) + + return ( + + + Expandable Row + + } + paginationDefaultPage={currentPage + 1} + expandableRowsComponent={} + paginationRowsPerPageOptions={[10, 25, 50, 100]} + paginationComponent={CustomPagination} + /> + + ) +} + +export default DataTableWithButtons diff --git a/src/views/tables/data-tables/basic/TableMultilingual.js b/src/views/tables/data-tables/basic/TableMultilingual.js new file mode 100644 index 0000000..d117801 --- /dev/null +++ b/src/views/tables/data-tables/basic/TableMultilingual.js @@ -0,0 +1,158 @@ +// ** React Imports +import { Fragment, useState } from 'react' + +// ** Table Columns +import { data, multiLingColumns } from '../data' + +// ** Third Party Components +import ReactPaginate from 'react-paginate' +import { ChevronDown } from 'react-feather' +import { FormattedMessage } from 'react-intl' +import DataTable from 'react-data-table-component' +import { Card, CardHeader, CardTitle, CardFooter, CardText, Input, Label, Row, Col } from 'reactstrap' + +const DataTableWithButtons = () => { + // ** State + const [currentPage, setCurrentPage] = useState(0) + const [searchValue, setSearchValue] = useState('') + const [filteredData, setFilteredData] = useState([]) + + // ** Function to handle pagination + const handlePagination = page => { + setCurrentPage(page.selected) + } + + // ** Function to handle filter + const handleFilter = e => { + const value = e.target.value + let updatedData = [] + setSearchValue(value) + + const status = { + 1: { title: 'Current', color: 'light-primary' }, + 2: { title: 'Professional', color: 'light-success' }, + 3: { title: 'Rejected', color: 'light-danger' }, + 4: { title: 'Resigned', color: 'light-warning' }, + 5: { title: 'Applied', color: 'light-info' } + } + + if (value.length) { + updatedData = data.filter(item => { + const startsWith = + item.full_name.toLowerCase().startsWith(value.toLowerCase()) || + item.post.toLowerCase().startsWith(value.toLowerCase()) || + item.email.toLowerCase().startsWith(value.toLowerCase()) || + item.age.toLowerCase().startsWith(value.toLowerCase()) || + item.salary.toLowerCase().startsWith(value.toLowerCase()) || + item.start_date.toLowerCase().startsWith(value.toLowerCase()) || + status[item.status].title.toLowerCase().startsWith(value.toLowerCase()) + + const includes = + item.full_name.toLowerCase().includes(value.toLowerCase()) || + item.post.toLowerCase().includes(value.toLowerCase()) || + item.email.toLowerCase().includes(value.toLowerCase()) || + item.age.toLowerCase().includes(value.toLowerCase()) || + item.salary.toLowerCase().includes(value.toLowerCase()) || + item.start_date.toLowerCase().includes(value.toLowerCase()) || + status[item.status].title.toLowerCase().includes(value.toLowerCase()) + + if (startsWith) { + return startsWith + } else if (!startsWith && includes) { + return includes + } else return null + }) + setFilteredData(updatedData) + setSearchValue(value) + } + } + + // ** Pagination Previous Component + const Previous = () => { + return ( + + + + + + ) + } + + // ** Pagination Next Component + const Next = () => { + return ( + + + + + + ) + } + + // ** Custom Pagination Component + const CustomPagination = () => ( + } + nextLabel={} + forcePage={currentPage} + onPageChange={page => handlePagination(page)} + pageCount={searchValue.length ? filteredData.length / 7 : data.length / 7 || 1} + breakLabel={'...'} + pageRangeDisplayed={2} + marginPagesDisplayed={2} + activeClassName={'active'} + pageClassName={'page-item'} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + breakClassName='page-item' + breakLinkClassName='page-link' + containerClassName={'pagination react-paginate pagination-sm justify-content-end pr-1 mt-1'} + /> + ) + + return ( + + + Multilingual + + + + + + + + } + paginationDefaultPage={currentPage + 1} + paginationComponent={CustomPagination} + data={searchValue.length ? filteredData : data} + /> + + + Note:{' '} + Use Intl Dropdown in Navbar to change table language + + + + ) +} + +export default DataTableWithButtons diff --git a/src/views/tables/data-tables/basic/TableWithButtons.js b/src/views/tables/data-tables/basic/TableWithButtons.js new file mode 100644 index 0000000..ebd1d48 --- /dev/null +++ b/src/views/tables/data-tables/basic/TableWithButtons.js @@ -0,0 +1,241 @@ +// ** React Imports +import { Fragment, useState, forwardRef } from 'react' + +// ** Table Data & Columns +import { data, columns } from '../data' + +// ** Add New Modal Component +import AddNewModal from './AddNewModal' + +// ** Third Party Components +import ReactPaginate from 'react-paginate' +import DataTable from 'react-data-table-component' +import { ChevronDown, Share, Printer, FileText, File, Grid, Copy, Plus } from 'react-feather' +import { + Card, + CardHeader, + CardTitle, + Button, + UncontrolledButtonDropdown, + DropdownToggle, + DropdownMenu, + DropdownItem, + Input, + Label, + Row, + Col +} from 'reactstrap' + +// ** Bootstrap Checkbox Component +const BootstrapCheckbox = forwardRef(({ onClick, ...rest }, ref) => ( +
    + +
    +)) + +const DataTableWithButtons = () => { + // ** States + const [modal, setModal] = useState(false) + const [currentPage, setCurrentPage] = useState(0) + const [searchValue, setSearchValue] = useState('') + const [filteredData, setFilteredData] = useState([]) + + // ** Function to handle Modal toggle + const handleModal = () => setModal(!modal) + + // ** Function to handle filter + const handleFilter = e => { + const value = e.target.value + let updatedData = [] + setSearchValue(value) + + const status = { + 1: { title: 'Current', color: 'light-primary' }, + 2: { title: 'Professional', color: 'light-success' }, + 3: { title: 'Rejected', color: 'light-danger' }, + 4: { title: 'Resigned', color: 'light-warning' }, + 5: { title: 'Applied', color: 'light-info' } + } + + if (value.length) { + updatedData = data.filter(item => { + const startsWith = + item.full_name.toLowerCase().startsWith(value.toLowerCase()) || + item.post.toLowerCase().startsWith(value.toLowerCase()) || + item.email.toLowerCase().startsWith(value.toLowerCase()) || + item.age.toLowerCase().startsWith(value.toLowerCase()) || + item.salary.toLowerCase().startsWith(value.toLowerCase()) || + item.start_date.toLowerCase().startsWith(value.toLowerCase()) || + status[item.status].title.toLowerCase().startsWith(value.toLowerCase()) + + const includes = + item.full_name.toLowerCase().includes(value.toLowerCase()) || + item.post.toLowerCase().includes(value.toLowerCase()) || + item.email.toLowerCase().includes(value.toLowerCase()) || + item.age.toLowerCase().includes(value.toLowerCase()) || + item.salary.toLowerCase().includes(value.toLowerCase()) || + item.start_date.toLowerCase().includes(value.toLowerCase()) || + status[item.status].title.toLowerCase().includes(value.toLowerCase()) + + if (startsWith) { + return startsWith + } else if (!startsWith && includes) { + return includes + } else return null + }) + setFilteredData(updatedData) + setSearchValue(value) + } + } + + // ** Function to handle Pagination + const handlePagination = page => { + setCurrentPage(page.selected) + } + + // ** Custom Pagination + const CustomPagination = () => ( + handlePagination(page)} + pageCount={searchValue.length ? filteredData.length / 7 : data.length / 7 || 1} + breakLabel='...' + pageRangeDisplayed={2} + marginPagesDisplayed={2} + activeClassName='active' + pageClassName='page-item' + breakClassName='page-item' + breakLinkClassName='page-link' + nextLinkClassName='page-link' + nextClassName='page-item next' + previousClassName='page-item prev' + previousLinkClassName='page-link' + pageLinkClassName='page-link' + breakClassName='page-item' + breakLinkClassName='page-link' + containerClassName='pagination react-paginate separated-pagination pagination-sm justify-content-end pr-1 mt-1' + /> + ) + + // ** Converts table to CSV + function convertArrayOfObjectsToCSV(array) { + let result + + const columnDelimiter = ',' + const lineDelimiter = '\n' + const keys = Object.keys(data[0]) + + result = '' + result += keys.join(columnDelimiter) + result += lineDelimiter + + array.forEach(item => { + let ctr = 0 + keys.forEach(key => { + if (ctr > 0) result += columnDelimiter + + result += item[key] + + ctr++ + }) + result += lineDelimiter + }) + + return result + } + + // ** Downloads CSV + function downloadCSV(array) { + const link = document.createElement('a') + let csv = convertArrayOfObjectsToCSV(array) + if (csv === null) return + + const filename = 'export.csv' + + if (!csv.match(/^data:text\/csv/i)) { + csv = `data:text/csv;charset=utf-8,${csv}` + } + + link.setAttribute('href', encodeURI(csv)) + link.setAttribute('download', filename) + link.click() + } + + return ( + + + + DataTable with Buttons +
    + + + + Export + + + + + Print + + downloadCSV(data)}> + + CSV + + + + Excel + + + + PDF + + + + Copy + + + + +
    +
    + + + + + + + } + paginationDefaultPage={currentPage + 1} + paginationComponent={CustomPagination} + data={searchValue.length ? filteredData : data} + selectableRowsComponent={BootstrapCheckbox} + /> +
    + +
    + ) +} + +export default DataTableWithButtons diff --git a/src/views/tables/data-tables/basic/TableZeroConfig.js b/src/views/tables/data-tables/basic/TableZeroConfig.js new file mode 100644 index 0000000..45f4d42 --- /dev/null +++ b/src/views/tables/data-tables/basic/TableZeroConfig.js @@ -0,0 +1,28 @@ +// ** Table Columns +import { data, basicColumns } from '../data' + +// ** Third Party Components +import { ChevronDown } from 'react-feather' +import DataTable from 'react-data-table-component' +import { Card, CardHeader, CardTitle } from 'reactstrap' + +const DataTablesBasic = () => { + return ( + + + Zero Configuration + + } + paginationRowsPerPageOptions={[10, 25, 50, 100]} + /> + + ) +} + +export default DataTablesBasic diff --git a/src/views/tables/data-tables/basic/index.js b/src/views/tables/data-tables/basic/index.js new file mode 100644 index 0000000..7af8ebc --- /dev/null +++ b/src/views/tables/data-tables/basic/index.js @@ -0,0 +1,41 @@ +// ** React Imports +import { Fragment } from 'react' + +// ** Custom Components +import Breadcrumbs from '@components/breadcrumbs' + +// ** Third Party Components +import { Row, Col } from 'reactstrap' + +// ** Tables +import TableExpandable from './TableExpandable' +import TableZeroConfig from './TableZeroConfig' +import TableWithButtons from './TableWithButtons' +import TableMultilingual from './TableMultilingual' + +// ** Styles +import '@styles/react/libs/tables/react-dataTable-component.scss' + +const Tables = () => { + return ( + + + + + + + + + + + + + + + + + + ) +} + +export default Tables diff --git a/src/views/tables/data-tables/data.js b/src/views/tables/data-tables/data.js new file mode 100644 index 0000000..16fc944 --- /dev/null +++ b/src/views/tables/data-tables/data.js @@ -0,0 +1,334 @@ +// ** Custom Components +import Avatar from '@components/avatar' + +// ** Third Party Components +import axios from 'axios' +import { MoreVertical, Edit, FileText, Archive, Trash } from 'react-feather' +import { Badge, UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap' + +// ** Vars +const states = ['success', 'danger', 'warning', 'info', 'dark', 'primary', 'secondary'] + +const status = { + 1: { title: 'Current', color: 'light-primary' }, + 2: { title: 'Professional', color: 'light-success' }, + 3: { title: 'Rejected', color: 'light-danger' }, + 4: { title: 'Resigned', color: 'light-warning' }, + 5: { title: 'Applied', color: 'light-info' } +} + +export let data + +// ** Get initial Data +axios.get('/api/datatables/initial-data').then(response => { + data = response.data +}) + +// ** Table Zero Config Column +export const basicColumns = [ + { + name: 'ID', + selector: 'id', + sortable: true, + maxWidth: '100px' + }, + { + name: 'Name', + selector: 'full_name', + sortable: true, + minWidth: '225px' + }, + { + name: 'Email', + selector: 'email', + sortable: true, + minWidth: '310px' + }, + { + name: 'Position', + selector: 'post', + sortable: true, + minWidth: '250px' + }, + { + name: 'Age', + selector: 'age', + sortable: true, + minWidth: '100px' + }, + { + name: 'Salary', + selector: 'salary', + sortable: true, + minWidth: '175px' + } +] + +// ** Expandable table component +const ExpandableTable = ({ data }) => { + return ( +
    +

    + City: {data.city} +

    +

    + Experience: {data.experience} +

    +

    + Post: {data.post} +

    +
    + ) +} + +// ** Table Common Column +export const columns = [ + { + name: 'Name', + selector: 'full_name', + sortable: true, + minWidth: '250px', + cell: row => ( +
    + {row.avatar === '' ? ( + + ) : ( + + )} +
    + {row.full_name} + {row.post} +
    +
    + ) + }, + { + name: 'Email', + selector: 'email', + sortable: true, + minWidth: '250px' + }, + { + name: 'Date', + selector: 'start_date', + sortable: true, + minWidth: '150px' + }, + + { + name: 'Salary', + selector: 'salary', + sortable: true, + minWidth: '150px' + }, + { + name: 'Age', + selector: 'age', + sortable: true, + minWidth: '100px' + }, + { + name: 'Status', + selector: 'status', + sortable: true, + minWidth: '150px', + cell: row => { + return ( + + {status[row.status].title} + + ) + } + }, + { + name: 'Actions', + allowOverflow: true, + cell: row => { + return ( +
    + + + + + + e.preventDefault()}> + + Details + + e.preventDefault()}> + + Archive + + e.preventDefault()}> + + Delete + + + + +
    + ) + } + } +] + +// ** Table Intl Column +export const multiLingColumns = [ + { + name: 'Name', + selector: 'full_name', + sortable: true, + minWidth: '200px' + }, + { + name: 'Position', + selector: 'post', + sortable: true, + minWidth: '250px' + }, + { + name: 'Email', + selector: 'email', + sortable: true, + minWidth: '250px' + }, + { + name: 'Date', + selector: 'start_date', + sortable: true, + minWidth: '150px' + }, + + { + name: 'Salary', + selector: 'salary', + sortable: true, + minWidth: '150px' + }, + { + name: 'Status', + selector: 'status', + sortable: true, + minWidth: '150px', + cell: row => { + return ( + + {status[row.status].title} + + ) + } + }, + { + name: 'Actions', + allowOverflow: true, + cell: row => { + return ( +
    + + + + + + + + Details + + + + Archive + + + + Delete + + + + +
    + ) + } + } +] + +// ** Table Server Side Column +export const serverSideColumns = [ + { + name: 'Full Name', + selector: 'full_name', + sortable: true, + minWidth: '225px' + }, + { + name: 'Email', + selector: 'email', + sortable: true, + minWidth: '250px' + }, + { + name: 'Position', + selector: 'post', + sortable: true, + minWidth: '250px' + }, + { + name: 'Office', + selector: 'city', + sortable: true, + minWidth: '150px' + }, + { + name: 'Start Date', + selector: 'start_date', + sortable: true, + minWidth: '150px' + }, + { + name: 'Salary', + selector: 'salary', + sortable: true, + minWidth: '150px' + } +] + +// ** Table Adv Search Column +export const advSearchColumns = [ + { + name: 'Name', + selector: 'full_name', + sortable: true, + minWidth: '200px' + }, + { + name: 'Email', + selector: 'email', + sortable: true, + minWidth: '250px' + }, + { + name: 'Post', + selector: 'post', + sortable: true, + minWidth: '250px' + }, + { + name: 'City', + selector: 'city', + sortable: true, + minWidth: '150px' + }, + { + name: 'Date', + selector: 'start_date', + sortable: true, + minWidth: '150px' + }, + + { + name: 'Salary', + selector: 'salary', + sortable: true, + minWidth: '100px' + } +] + +export default ExpandableTable diff --git a/src/views/tables/data-tables/store/actions/index.js b/src/views/tables/data-tables/store/actions/index.js new file mode 100644 index 0000000..a2fbaec --- /dev/null +++ b/src/views/tables/data-tables/store/actions/index.js @@ -0,0 +1,16 @@ +import axios from 'axios' + +// ** Get table Data +export const getData = params => { + return async dispatch => { + await axios.get('/api/datatables/data', params).then(response => { + dispatch({ + type: 'GET_DATA', + allData: response.data.allData, + data: response.data.invoices, + totalPages: response.data.total, + params + }) + }) + } +} diff --git a/src/views/tables/data-tables/store/reducer/index.js b/src/views/tables/data-tables/store/reducer/index.js new file mode 100644 index 0000000..92c1df4 --- /dev/null +++ b/src/views/tables/data-tables/store/reducer/index.js @@ -0,0 +1,24 @@ +// ** Initial State +const initialState = { + data: [], + total: 1, + params: {}, + allData: [] +} + +const DataTablesReducer = (state = initialState, action) => { + switch (action.type) { + case 'GET_DATA': + return { + ...state, + allData: action.allData, + data: action.data, + total: action.totalPages, + params: action.params + } + default: + return state + } +} + +export default DataTablesReducer diff --git a/src/views/tables/reactstrap/TableBasic.js b/src/views/tables/reactstrap/TableBasic.js new file mode 100644 index 0000000..7da42ea --- /dev/null +++ b/src/views/tables/reactstrap/TableBasic.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Lilian', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Alberto', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Bruce', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Diana', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Rey', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'James', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Lee', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Mario', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Oswald', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Christie', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Barnes', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Arthur', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableBasic = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableBasic diff --git a/src/views/tables/reactstrap/TableBordered.js b/src/views/tables/reactstrap/TableBordered.js new file mode 100644 index 0000000..4e461d8 --- /dev/null +++ b/src/views/tables/reactstrap/TableBordered.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Leslie', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Quinn', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Quinn', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Felicia', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Brent', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Patricia', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Breanna', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Peter', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Cherokee', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Martina', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Butcher', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Noel', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableBordered = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableBordered diff --git a/src/views/tables/reactstrap/TableBorderless.js b/src/views/tables/reactstrap/TableBorderless.js new file mode 100644 index 0000000..c5835c3 --- /dev/null +++ b/src/views/tables/reactstrap/TableBorderless.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Sarah', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Ainsley', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Charissa', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Vanna', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Inga', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Patricia', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Justina', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Lamar', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Briar', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Jenette', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Francis', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Isaac', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableBorderless = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableBorderless diff --git a/src/views/tables/reactstrap/TableContextual.js b/src/views/tables/reactstrap/TableContextual.js new file mode 100644 index 0000000..094760c --- /dev/null +++ b/src/views/tables/reactstrap/TableContextual.js @@ -0,0 +1,541 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import figma from '@src/assets/images/icons/figma.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Illiana', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Wyatt', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Troy', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Mufutau', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Denton', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Carol', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Kyla', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Hop', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Yvonne', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Lunea', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Francis', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Kameko', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData5 = [ + { + title: 'Blair', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Aspen', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Tyler', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData6 = [ + { + title: 'Florence', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Kieran', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Anthony', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData7 = [ + { + title: 'Lysandra', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Russell', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Curran', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData8 = [ + { + title: 'Britanney', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Avye', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Castor', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData9 = [ + { + title: 'Charissa', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Elijah', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Giacomo', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData10 = [ + { + title: 'Chaim', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Virginia', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Kristen', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableContextual = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + figma + Figma Project + Ronnie Shane + {' '} + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + angular + Angular Project + Peter Charls + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + figma + Figma Project + Janne Ale + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Custom + Ted Richer + + + + Schedule + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Latest Bootstrap + Perry Parker + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + angular + Angular UI + Ana Bell + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap UI + Jerry Milton + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableContextual diff --git a/src/views/tables/reactstrap/TableDark.js b/src/views/tables/reactstrap/TableDark.js new file mode 100644 index 0000000..ad9305e --- /dev/null +++ b/src/views/tables/reactstrap/TableDark.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Levi', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Nina', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Brynn', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Liberty', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Fallon', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Minerva', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Palmer', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Tana', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Evangeline', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Winter', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Carl', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Andrew', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableDark = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableDark diff --git a/src/views/tables/reactstrap/TableHover.js b/src/views/tables/reactstrap/TableHover.js new file mode 100644 index 0000000..32932d0 --- /dev/null +++ b/src/views/tables/reactstrap/TableHover.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Griffith', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Hu', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Felicia', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Quinlan', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Patrick', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Castor', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Mohammad', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Isabella', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Michael', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Lavinia', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Nelle', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Virginia', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableHover = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableHover diff --git a/src/views/tables/reactstrap/TableHoverAnimation.js b/src/views/tables/reactstrap/TableHoverAnimation.js new file mode 100644 index 0000000..8b4286d --- /dev/null +++ b/src/views/tables/reactstrap/TableHoverAnimation.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Yoshi', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Kevyn', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Louis', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Aileen', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Karleigh', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Elmo', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Blossom', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Jescie', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Gemma', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Thor', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Jack', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Reece', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableHoverAnimation = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableHoverAnimation diff --git a/src/views/tables/reactstrap/TableResponsive.js b/src/views/tables/reactstrap/TableResponsive.js new file mode 100644 index 0000000..5011efe --- /dev/null +++ b/src/views/tables/reactstrap/TableResponsive.js @@ -0,0 +1,122 @@ +import { Table } from 'reactstrap' + +const TableResponsive = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + Heading 1 + + Heading 2 + + Heading 3 + + Heading 4 + + Heading 5 + + Heading 6 + + Heading 7 + + Heading 8 + + Heading 9 + + Heading 10 + + Heading 11 + + Heading 12 + + Heading 13 +
    1Table cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cell
    2Table cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cell
    3Table cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cell
    4Table cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cell
    + ) +} + +export default TableResponsive diff --git a/src/views/tables/reactstrap/TableSmall.js b/src/views/tables/reactstrap/TableSmall.js new file mode 100644 index 0000000..1f39c30 --- /dev/null +++ b/src/views/tables/reactstrap/TableSmall.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Melissa', + img: avatar1, + imgHeight: 22, + imgWidth: 22 + }, + { + title: 'Jana', + img: avatar2, + imgHeight: 22, + imgWidth: 22 + }, + { + title: 'Halla', + img: avatar3, + imgHeight: 22, + imgWidth: 22 + } +] + +const avatarGroupData2 = [ + { + title: 'Wing', + img: avatar1, + imgHeight: 22, + imgWidth: 22 + }, + { + title: 'Octavia', + img: avatar2, + imgHeight: 22, + imgWidth: 22 + }, + { + title: 'Benedict', + img: avatar3, + imgHeight: 22, + imgWidth: 22 + } +] + +const avatarGroupData3 = [ + { + title: 'Jade', + img: avatar1, + imgHeight: 22, + imgWidth: 22 + }, + { + title: 'Alisa', + img: avatar2, + imgHeight: 22, + imgWidth: 22 + }, + { + title: 'Alisa', + img: avatar3, + imgHeight: 22, + imgWidth: 22 + } +] + +const avatarGroupData4 = [ + { + title: 'Alexa', + img: avatar1, + imgHeight: 22, + imgWidth: 22 + }, + { + title: 'Lee', + img: avatar2, + imgHeight: 22, + imgWidth: 22 + }, + { + title: 'Shellie', + img: avatar3, + imgHeight: 22, + imgWidth: 22 + } +] + +const TableSmall = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableSmall diff --git a/src/views/tables/reactstrap/TableSourceCode.js b/src/views/tables/reactstrap/TableSourceCode.js new file mode 100644 index 0000000..40fd5cb --- /dev/null +++ b/src/views/tables/reactstrap/TableSourceCode.js @@ -0,0 +1,3084 @@ +export const tableBasic = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Lilian',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Alberto',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Bruce',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Diana',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Rey',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'James',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Lee',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Mario',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Oswald',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Christie',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Barnes',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Arthur',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const TableBasic = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableBasic +`}
    +
    +) + +export const tableDark = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Levi',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Nina',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Brynn',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Liberty',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Fallon',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Minerva',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Palmer',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Tana',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Evangeline',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Winter',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Carl',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Andrew',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const TableDark = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableDark +`}
    +
    +) + +export const tableTheadOptions = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Adara',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Kalia ',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Oliver',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Tyler',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Hanae',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Brynn',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Tate',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Norman',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Lana',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Emerald',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Sebastian',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Jamal',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +// Change class to thead-light for light variant
    +const TableTheadDark = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableTheadDark`}
    +
    +) + +export const tableStriped = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Gretchen',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Hunter',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Allistair',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Macy',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Eve',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Damian',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Jade',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Destiny',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Cade',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Bruno',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Griffin',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Anthony',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const TableStriped = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableStriped +`}
    +
    +) + +export const tableStripedDark = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Galvin',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Malcolm',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Leo',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Nola',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Brett',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Harper',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Jamalia',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Arden',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Laith',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Kirby',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Forrest',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Jordan',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +const TableStripedDark = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableStripedDark +`}
    +
    +) + +export const tableBorderless = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Sarah',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Ainsley',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Charissa',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Vanna',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Inga',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Patricia',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Justina',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Lamar',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Briar',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Jenette',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Francis',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Isaac',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const TableBorderless = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableBorderless +`}
    +
    +) + +export const tableBordered = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Leslie',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Quinn',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Quinn',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Felicia',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Brent',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Patricia',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Breanna',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Peter',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Cherokee',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Martina',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Butcher',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Noel',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const TableBordered = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableBordered +`}
    +
    +) + +export const tableHover = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Griffith',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Hu',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Felicia',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Quinlan',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Patrick',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Castor',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Mohammad',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Isabella',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Michael',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Lavinia',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Nelle',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Virginia',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const TableHover = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableHover +`}
    +
    +) + +export const tableSmall = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Melissa',
    +    img: avatar1,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  },
    +  {
    +    title: 'Jana',
    +    img: avatar2,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  },
    +  {
    +    title: 'Halla',
    +    img: avatar3,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Wing',
    +    img: avatar1,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  },
    +  {
    +    title: 'Octavia',
    +    img: avatar2,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  },
    +  {
    +    title: 'Benedict',
    +    img: avatar3,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Jade',
    +    img: avatar1,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  },
    +  {
    +    title: 'Alisa',
    +    img: avatar2,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  },
    +  {
    +    title: 'Alisa',
    +    img: avatar3,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Alexa',
    +    img: avatar1,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  },
    +  {
    +    title: 'Lee',
    +    img: avatar2,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  },
    +  {
    +    title: 'Shellie',
    +    img: avatar3,
    +    imgHeight: 22,
    +    imgWidth: 22
    +  }
    +]
    +
    +const TableSmall = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableSmall +`}
    +
    +) + +export const tableContextual = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import figma from '@src/assets/images/icons/figma.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Illiana',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Wyatt',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Troy',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Mufutau',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Denton',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Carol',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Kyla',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Hop',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Yvonne',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Lunea',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Francis',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Kameko',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData5 = [
    +  {
    +    title: 'Blair',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Aspen',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Tyler',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData6 = [
    +  {
    +    title: 'Florence',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Kieran',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Anthony',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData7 = [
    +  {
    +    title: 'Lysandra',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Russell',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Curran',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData8 = [
    +  {
    +    title: 'Britanney',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Avye',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Castor',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData9 = [
    +  {
    +    title: 'Charissa',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Elijah',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Giacomo',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData10 = [
    +  {
    +    title: 'Chaim',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Virginia',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Kristen',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const TableContextual = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + figma + Figma Project + Ronnie Shane + {' '} + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + angular + Angular Project + Peter Charls + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + figma + Figma Project + Janne Ale + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Custom + Ted Richer + + + + Schedule + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Latest Bootstrap + Perry Parker + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + angular + Angular UI + Ana Bell + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap UI + Jerry Milton + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableContextual +`}
    +
    +) + +export const tableResponsive = ( +
    +    {`
    +import { Table } from 'reactstrap'
    +
    +const TableResponsive = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    + # + + Heading 1 + + Heading 2 + + Heading 3 + + Heading 4 + + Heading 5 + + Heading 6 + + Heading 7 + + Heading 8 + + Heading 9 + + Heading 10 + + Heading 11 + + Heading 12 + + Heading 13 +
    1Table cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cell
    2Table cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cell
    3Table cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cell
    4Table cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cellTable cell
    + ) +} + +export default TableResponsive +`}
    +
    +) + +export const tableHoverAnimation = ( +
    +    {`
    +import AvatarGroup from '@components/avatar-group'
    +import react from '@src/assets/images/icons/react.svg'
    +import vuejs from '@src/assets/images/icons/vuejs.svg'
    +import angular from '@src/assets/images/icons/angular.svg'
    +import bootstrap from '@src/assets/images/icons/bootstrap.svg'
    +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg'
    +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg'
    +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg'
    +import { MoreVertical, Edit, Trash } from 'react-feather'
    +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap'
    +
    +const avatarGroupData1 = [
    +  {
    +    title: 'Yoshi',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Kevyn',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Louis',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData2 = [
    +  {
    +    title: 'Aileen',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Karleigh',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Elmo',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData3 = [
    +  {
    +    title: 'Blossom',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Jescie',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Gemma',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const avatarGroupData4 = [
    +  {
    +    title: 'Thor',
    +    img: avatar1,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Jack',
    +    img: avatar2,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  },
    +  {
    +    title: 'Reece',
    +    img: avatar3,
    +    imgHeight: 26,
    +    imgWidth: 26
    +  }
    +]
    +
    +const TableHoverAnimation = () => {
    +  return (
    +    
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +      
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +        
    +          
    +          
    +          
    +          
    +          
    +        
    +      
    +    
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableHoverAnimation +`}
    +
    +) diff --git a/src/views/tables/reactstrap/TableStriped.js b/src/views/tables/reactstrap/TableStriped.js new file mode 100644 index 0000000..5df3dca --- /dev/null +++ b/src/views/tables/reactstrap/TableStriped.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Gretchen', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Hunter', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Allistair', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Macy', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Eve', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Damian', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Jade', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Destiny', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Cade', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Bruno', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Griffin', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Anthony', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableStriped = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableStriped diff --git a/src/views/tables/reactstrap/TableStripedDark.js b/src/views/tables/reactstrap/TableStripedDark.js new file mode 100644 index 0000000..0396b51 --- /dev/null +++ b/src/views/tables/reactstrap/TableStripedDark.js @@ -0,0 +1,233 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Galvin', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Malcolm', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Leo', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Nola', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Brett', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Harper', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Jamalia', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Arden', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Laith', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Kirby', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Forrest', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Jordan', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] +const TableStripedDark = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableStripedDark diff --git a/src/views/tables/reactstrap/TableTheadDark.js b/src/views/tables/reactstrap/TableTheadDark.js new file mode 100644 index 0000000..5011d30 --- /dev/null +++ b/src/views/tables/reactstrap/TableTheadDark.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Adara', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Kalia ', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Oliver', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Tyler', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Hanae', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Brynn', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Tate', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Norman', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Lana', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Emerald', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Sebastian', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Jamal', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableTheadDark = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableTheadDark diff --git a/src/views/tables/reactstrap/TableTheadLight.js b/src/views/tables/reactstrap/TableTheadLight.js new file mode 100644 index 0000000..01cc270 --- /dev/null +++ b/src/views/tables/reactstrap/TableTheadLight.js @@ -0,0 +1,234 @@ +import AvatarGroup from '@components/avatar-group' +import react from '@src/assets/images/icons/react.svg' +import vuejs from '@src/assets/images/icons/vuejs.svg' +import angular from '@src/assets/images/icons/angular.svg' +import bootstrap from '@src/assets/images/icons/bootstrap.svg' +import avatar1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import avatar2 from '@src/assets/images/portrait/small/avatar-s-6.jpg' +import avatar3 from '@src/assets/images/portrait/small/avatar-s-7.jpg' +import { MoreVertical, Edit, Trash } from 'react-feather' +import { Table, Badge, UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +const avatarGroupData1 = [ + { + title: 'Aristotle', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Nolan ', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Baxter', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData2 = [ + { + title: 'Zane', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Tatum', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Rae', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData3 = [ + { + title: 'Rhiannon', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'William', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Vaughan', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const avatarGroupData4 = [ + { + title: 'Unity', + img: avatar1, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Emerson', + img: avatar2, + imgHeight: 26, + imgWidth: 26 + }, + { + title: 'Ima', + img: avatar3, + imgHeight: 26, + imgWidth: 26 + } +] + +const TableTheadLight = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProjectClientUsersStatusActions
    + angular + Angular Project + Peter Charles + + + + Active + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + react + React Project + Ronald Frest + + + + Completed + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + vuejs + Vuejs Project + Jack Obes + + + + Scheduled + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + bootstrap + Bootstrap Project + Jerry Milton + + + + Pending + + + + + + + + e.preventDefault()}> + Edit + + e.preventDefault()}> + Delete + + + +
    + ) +} + +export default TableTheadLight diff --git a/src/views/tables/reactstrap/index.js b/src/views/tables/reactstrap/index.js new file mode 100644 index 0000000..7781a9d --- /dev/null +++ b/src/views/tables/reactstrap/index.js @@ -0,0 +1,175 @@ +import { Fragment, useEffect } from 'react' +import { Row, Col, CardBody, CardText } from 'reactstrap' +import prism from 'prismjs' +import TableBasic from './TableBasic' +import TableDark from './TableDark' +import TableTheadDark from './TableTheadDark' +import TableTheadLight from './TableTheadLight' +import TableStriped from './TableStriped' +import TableStripedDark from './TableStripedDark' +import TableBordered from './TableBordered' +import TableBorderless from './TableBorderless' +import TableHover from './TableHover' +import TableSmall from './TableSmall' +import TableContextual from './TableContextual' +import TableResponsive from './TableResponsive' +import TableHoverAnimation from './TableHoverAnimation' +import Breadcrumbs from '@components/breadcrumbs' +import Card from '@components/card-snippet' +import { + tableBasic, + tableDark, + tableTheadOptions, + tableStriped, + tableStripedDark, + tableBordered, + tableBorderless, + tableContextual, + tableHover, + tableSmall, + tableHoverAnimation, + tableResponsive +} from './TableSourceCode' + +const Tables = () => { + useEffect(() => { + prism.highlightAll() + }) + + return ( + + + + + + + + + + + + + Use prop dark to create a dark inverted table. + + + + + + + + + + Similar to tables and dark tables, use the modifier classes .thead-dark + to make <thead> appear dark. + + + + +

    + Use the modifier class .thead-light to make + <thead>s appear light. +

    +
    + +
    + + + + + + Use prop striped to create a striped table. + + + + + + + + + + Use props striped & dark to create a dark striped table. + + + + + + + + + + Use prop bordered to create a bordered table. + + + + + + + + + + Use prop borderless to create a borderless table. + + + + + + + + + + Use prop hover to create a hoverable table. + + + + + + + + + + Use prop size="sm" to create a small table. + + + + + + + + + + Use class table-[colorName] with <tr> for contextual rows. + + + + + + +
    Table without card
    + + + + + + + Use prop responsive to make your table responsive. + + + + + + + + + + Use class table-hover-animation for Table Hover Animation. + + + + + +
    +
    + ) +} + +export default Tables diff --git a/src/views/ui-elements/cards/actions/index.js b/src/views/ui-elements/cards/actions/index.js new file mode 100644 index 0000000..0f55edf --- /dev/null +++ b/src/views/ui-elements/cards/actions/index.js @@ -0,0 +1,110 @@ +import { Fragment } from 'react' +import Breadcrumbs from '@components/breadcrumbs' +import CardAction from '@components/card-actions' +import { ChevronDown, RotateCw, X } from 'react-feather' +import { CardBody, CardText, Row, Col, Table } from 'reactstrap' + +const CardActions = () => { + return ( + + + + + { + setTimeout(() => endLoading(), 2000) + }} + > + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ActionIconDetails
    Collapse + + Collapse card content using collapse action.
    Refresh Content + + Refresh your card content using refresh action.
    Remove Card + + Remove card from page using remove card action
    +
    +
    + +
    + + + + + + You can create a collapsible content by using our + CardAction component and by passing prop + actions='collapse'. + + + Click on to see card collapse in action + + + + + + { + setTimeout(() => endLoading(), 2000) + }} + > + + + To create a re-loadable card pass prop + actions='reload' and pass prop endReload + to end the loading. + + + Click on to see card refresh in action + + + + + + + + + You can add refresh content action to card by adding class + .card-reload with your card tag, and add conditional spinner into card body to show when + card is refreshing. + + + Click on to see card refresh in action + + + + + +
    + ) +} +export default CardActions diff --git a/src/views/ui-elements/cards/advance/CardAppDesign.js b/src/views/ui-elements/cards/advance/CardAppDesign.js new file mode 100644 index 0000000..2a854a2 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardAppDesign.js @@ -0,0 +1,92 @@ +import classnames from 'classnames' +import Avatar from '@components/avatar' +import { Card, CardTitle, CardBody, CardText, Badge, Button } from 'reactstrap' + +const CardAppDesign = () => { + const avatarArr = [ + { + img: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + imgHeight: 34, + imgWidth: 34 + }, + { + content: 'PI', + color: 'light-danger' + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-14.jpg').default, + imgHeight: 34, + imgWidth: 34 + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-7.jpg').default, + imgHeight: 34, + imgWidth: 34 + }, + { + content: 'AL', + color: 'light-secondary' + } + ] + + const designPlanningArr = [ + { + title: 'Due Date', + subtitle: '12 Apr, 21' + }, + { + title: 'Budget', + subtitle: '$49251.91' + }, + { + title: 'Cost', + subtitle: '$840.99' + } + ] + + return ( + + + 03 Sep, 20 + App design + + You can Find Only Post and Quotes Related to IOS like ipad app design, iphone app design + +
    +
    Team
    + + Figma + + Wireframe +
    +
    +
    Members
    + {avatarArr.map((obj, index) => { + return ( + + ) + })} +
    +
    + {designPlanningArr.map(item => ( +
    + {item.title} +
    {item.subtitle}
    +
    + ))} +
    + + Join Team + +
    +
    + ) +} + +export default CardAppDesign diff --git a/src/views/ui-elements/cards/advance/CardBrowserState.js b/src/views/ui-elements/cards/advance/CardBrowserState.js new file mode 100644 index 0000000..0ee3d32 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardBrowserState.js @@ -0,0 +1,291 @@ +import Chart from 'react-apexcharts' +import { MoreVertical } from 'react-feather' +import { + Card, + CardHeader, + CardTitle, + CardBody, + CardText, + Media, + UncontrolledDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle +} from 'reactstrap' + +const CardBrowserState = ({ colors, trackBgColor }) => { + const statesArr = [ + { + avatar: require('@src/assets/images/icons/google-chrome.png').default, + title: 'Google Chrome', + value: '54.4%', + chart: { + type: 'radialBar', + series: [54.4], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.primary.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/icons/mozila-firefox.png').default, + title: 'Mozila Firefox', + value: '6.1%', + chart: { + type: 'radialBar', + series: [6.1], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.warning.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/icons/apple-safari.png').default, + title: 'Apple Safari', + value: '14.6%', + chart: { + type: 'radialBar', + series: [14.6], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.secondary.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/icons/internet-explorer.png').default, + title: 'Internet Explorer', + value: '4.2%', + chart: { + type: 'radialBar', + series: [4.2], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.info.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/icons/opera.png').default, + title: 'Opera Mini', + value: '8.4%', + chart: { + type: 'radialBar', + series: [8.4], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.danger.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + } + ] + + const renderStates = () => { + return statesArr.map(state => { + return ( +
    + + {state.title} +
    {state.title}
    +
    +
    +
    {state.value}
    + +
    +
    + ) + }) + } + + return ( + + +
    + Browser States + Counter August 2020 +
    + + + + + + Last 28 Days + Last Month + Last Year + + +
    + {renderStates()} +
    + ) +} + +export default CardBrowserState diff --git a/src/views/ui-elements/cards/advance/CardBusiness.js b/src/views/ui-elements/cards/advance/CardBusiness.js new file mode 100644 index 0000000..22601f5 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardBusiness.js @@ -0,0 +1,70 @@ +import { MoreVertical } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody, CardText, CustomInput, Badge, Button } from 'reactstrap' + +const CardBusiness = () => { + const dataArr = [ + { + id: 'option-1', + title: 'Option #1', + badgeColor: 'light-success', + amount: '+$39' + }, + { + id: 'option-2', + title: 'Option #2', + badgeColor: 'light-primary', + amount: '+$85', + checked: true + }, + { + id: 'option-3', + title: 'Option #3', + badgeColor: 'light-success', + amount: '+$199' + }, + { + id: 'option-4', + title: 'Option #4', + badgeColor: 'light-success', + amount: '+$459' + } + ] + + const renderOptions = () => { + return dataArr.map(item => { + return ( +
    +
    + + {item.amount} +
    +
    + ) + }) + } + + return ( + + + For Business Sharks + + + + Here, i focus ona range of items and featured that we use in life without giving them +
    Basic price is $130
    +
    {renderOptions()}
    + + Purchase + +
    +
    + ) +} + +export default CardBusiness diff --git a/src/views/ui-elements/cards/advance/CardChat.js b/src/views/ui-elements/cards/advance/CardChat.js new file mode 100644 index 0000000..eae81e7 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardChat.js @@ -0,0 +1,196 @@ +import classnames from 'classnames' +import Avatar from '@components/avatar' +import { useState, useEffect } from 'react' +import PerfectScrollbar from 'react-perfect-scrollbar' +import { MoreVertical, Send, Image } from 'react-feather' +import { Card, CardHeader, Form, Label, InputGroup, InputGroupAddon, Input, InputGroupText, Button } from 'reactstrap' + +import profilePic from '@src/assets/images/portrait/small/avatar-s-11.jpg' + +import '@styles/base/pages/app-chat-list.scss' + +const data = { + chat: { + id: 2, + userId: 1, + unseenMsgs: 0, + chat: [ + { + message: "How can we help? We're here for you!", + time: 'Mon Dec 10 2018 07:45:00 GMT+0000 (GMT)', + senderId: 11 + }, + { + message: 'Hey John, I am looking for the best admin template. Could you please help me to find it out?', + time: 'Mon Dec 10 2018 07:45:23 GMT+0000 (GMT)', + senderId: 1 + }, + { + message: 'It should be Bootstrap 4 compatible.', + time: 'Mon Dec 10 2018 07:45:55 GMT+0000 (GMT)', + senderId: 1 + }, + { message: 'Absolutely!', time: 'Mon Dec 10 2018 07:46:00 GMT+0000 (GMT)', senderId: 11 }, + { + message: 'Modern admin is the responsive bootstrap 4 admin template.!', + time: 'Mon Dec 10 2018 07:46:05 GMT+0000 (GMT)', + senderId: 11 + }, + { message: 'Looks clean and fresh UI.', time: 'Mon Dec 10 2018 07:46:23 GMT+0000 (GMT)', senderId: 1 }, + { message: "It's perfect for my next project.", time: 'Mon Dec 10 2018 07:46:33 GMT+0000 (GMT)', senderId: 1 }, + { message: 'How can I purchase it?', time: 'Mon Dec 10 2018 07:46:43 GMT+0000 (GMT)', senderId: 1 }, + { message: 'Thanks, from ThemeForest.', time: 'Mon Dec 10 2018 07:46:53 GMT+0000 (GMT)', senderId: 11 }, + { message: 'I will purchase it for sure. 👍', time: '2020-12-08T13:52:38.013Z', senderId: 1 } + ] + }, + contact: { + id: 1, + fullName: 'Felecia Rower', + avatar: require('@src/assets/images/portrait/small/avatar-s-20.jpg').default, + status: 'away' + } +} + +const CardChat = () => { + const [msg, setMsg] = useState('') + const [chatRef, setChatRef] = useState(null) + const [chatData, setChatData] = useState(data) + + //** Formats chat data based on sender + const formattedChatData = () => { + let chatLog = [] + if (chatData) { + chatLog = chatData.chat.chat + } + + const formattedChatLog = [] + let chatMessageSenderId = chatLog[0] ? chatLog[0].senderId : undefined + let msgGroup = { + senderId: chatMessageSenderId, + messages: [] + } + chatLog.forEach((msg, index) => { + if (chatMessageSenderId === msg.senderId) { + msgGroup.messages.push({ + msg: msg.message, + time: msg.time + }) + } else { + chatMessageSenderId = msg.senderId + formattedChatLog.push(msgGroup) + msgGroup = { + senderId: msg.senderId, + messages: [ + { + msg: msg.message, + time: msg.time + } + ] + } + } + if (index === chatLog.length - 1) formattedChatLog.push(msgGroup) + }) + return formattedChatLog + } + + //** Renders user chat + const renderChats = () => { + return formattedChatData().map((item, index) => { + return ( +
    +
    + +
    + +
    + {item.messages.map(chat => ( +
    +

    {chat.msg}

    +
    + ))} +
    +
    + ) + }) + } + + //** Scroll to chat bottom + const scrollToBottom = () => { + chatRef.scrollTop = Number.MAX_SAFE_INTEGER + } + + useEffect(() => { + if (chatRef !== null) { + scrollToBottom() + } + }, [chatRef, chatData.chat.chat.length]) + + const handleSendMsg = e => { + e.preventDefault() + if (msg.trim().length) { + const newMsg = chatData + + newMsg.chat.chat.push({ + message: msg, + time: new Date(), + senderId: 11 + }) + + setChatData(newMsg) + setMsg('') + } + } + + return ( + + +
    + +
    Carrie Hawkins
    +
    + +
    +
    + setChatRef(el)} + className='user-chats scroll-area' + options={{ wheelPropagation: false }} + > +
    {renderChats()}
    +
    +
    handleSendMsg(e)}> + + + + + + + setMsg(e.target.value)} + placeholder='Type your message' + /> + + +
    +
    +
    + ) +} + +export default CardChat diff --git a/src/views/ui-elements/cards/advance/CardCongratulations.js b/src/views/ui-elements/cards/advance/CardCongratulations.js new file mode 100644 index 0000000..bc62472 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardCongratulations.js @@ -0,0 +1,25 @@ +import { Award } from 'react-feather' +import Avatar from '@components/avatar' +import { Card, CardBody, CardText } from 'reactstrap' +import decorationLeft from '@src/assets/images/elements/decore-left.png' +import decorationRight from '@src/assets/images/elements/decore-right.png' + +const CardCongratulations = () => { + return ( + + + decor-left + decor-right + } className='shadow' color='primary' size='xl' /> +
    +

    Congratulations John,

    + + You have done 57.6% more sales today. Check your new badge in your profile. + +
    +
    +
    + ) +} + +export default CardCongratulations diff --git a/src/views/ui-elements/cards/advance/CardEmployeesTask.js b/src/views/ui-elements/cards/advance/CardEmployeesTask.js new file mode 100644 index 0000000..eed6221 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardEmployeesTask.js @@ -0,0 +1,323 @@ +import Chart from 'react-apexcharts' +import Avatar from '@components/avatar' +import { MoreVertical } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody, Media } from 'reactstrap' + +const CardEmployeesTasks = ({ colors, trackBgColor }) => { + const employeesTasks = [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + title: 'Ryan Harrington', + subtitle: 'iOS Developer', + time: '9hr 20m', + chart: { + type: 'radialBar', + series: [45], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.primary.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-20.jpg').default, + title: 'Louisa Norton', + subtitle: 'UI Designer', + time: '4hr 17m', + chart: { + type: 'radialBar', + series: [65], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.danger.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-1.jpg').default, + title: 'Jayden Duncan', + subtitle: 'Java Developer', + time: '12hr 8m', + chart: { + type: 'radialBar', + series: [60], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.success.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-20.jpg').default, + title: 'Cynthia Howell', + subtitle: 'Angular Developer', + time: '3hr 19m', + chart: { + type: 'radialBar', + series: [35], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.secondary.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-16.jpg').default, + title: 'Helena Payne', + subtitle: 'Marketing', + time: '9hr 50m', + chart: { + type: 'radialBar', + series: [65], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.warning.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-13.jpg').default, + title: 'Troy Jensen', + subtitle: 'iOS Developer', + time: '4hr 48m', + chart: { + type: 'radialBar', + series: [80], + height: 30, + width: 30, + options: { + grid: { + show: false, + padding: { + left: -15, + right: -15, + top: -12, + bottom: -15 + } + }, + colors: [colors.primary.main], + plotOptions: { + radialBar: { + hollow: { + size: '22%' + }, + track: { + background: trackBgColor + }, + dataLabels: { + showOn: 'always', + name: { + show: false + }, + value: { + show: false + } + } + } + }, + stroke: { + lineCap: 'round' + } + } + } + } + ] + + const renderTasks = () => { + return employeesTasks.map(task => { + return ( +
    + + + +
    {task.title}
    + {task.subtitle} +
    +
    +
    + {task.time} + +
    +
    + ) + }) + } + + return ( + + + Employee Task + + + {renderTasks()} + + ) +} + +export default CardEmployeesTasks diff --git a/src/views/ui-elements/cards/advance/CardJob.js b/src/views/ui-elements/cards/advance/CardJob.js new file mode 100644 index 0000000..f8ec8e8 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardJob.js @@ -0,0 +1,48 @@ +import Avatar from '@components/avatar' +import { Card, CardBody, CardText, Button, Badge, Media } from 'reactstrap' +import profileImg from '@src/assets/images/portrait/small/avatar-s-7.jpg' + +const CardJob = () => { + return ( + + +
    + + + +
    Mittie Evans
    + Updated 12m ago +
    +
    + + Design + +
    +
    Need a designer to form branding essentials for my business.
    + + Design high-quality designs, graphics, mock-ups and layouts for both new and existing web sites/ web + applications / mobile applications. + +
    +
    + + $ + +

    9,800

    + + / month + +
    + + Full Time + +
    + +
    +
    + ) +} + +export default CardJob diff --git a/src/views/ui-elements/cards/advance/CardMedal.js b/src/views/ui-elements/cards/advance/CardMedal.js new file mode 100644 index 0000000..caf5d5b --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardMedal.js @@ -0,0 +1,22 @@ +import { Card, CardBody, CardText, Button } from 'reactstrap' +import medal from '@src/assets/images/illustration/badge.svg' + +const CardMedal = () => { + return ( + + +
    Congratulations 🎉 John!
    + You have won gold medal +

    + e.preventDefault()}> + $48.9k + +

    + View Sales + Medal Pic +
    +
    + ) +} + +export default CardMedal diff --git a/src/views/ui-elements/cards/advance/CardMeetup.js b/src/views/ui-elements/cards/advance/CardMeetup.js new file mode 100644 index 0000000..437bce3 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardMeetup.js @@ -0,0 +1,87 @@ +import Avatar from '@components/avatar' +import { Calendar, MapPin } from 'react-feather' +import AvatarGroup from '@components/avatar-group' +import { Card, CardTitle, CardBody, CardText, Media } from 'reactstrap' +import illustration from '@src/assets/images/illustration/email.svg' + +const CardMeetup = () => { + const data = [ + { + title: 'Billy Hopkins', + placement: 'bottom', + img: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + imgHeight: 33, + imgWidth: 33 + }, + { + title: 'Amy Carson', + placement: 'bottom', + img: require('@src/assets/images/portrait/small/avatar-s-6.jpg').default, + imgHeight: 33, + imgWidth: 33 + }, + { + title: 'Brandon Miles', + placement: 'bottom', + img: require('@src/assets/images/portrait/small/avatar-s-8.jpg').default, + imgHeight: 33, + imgWidth: 33 + }, + { + title: 'Daisy Weber', + placement: 'bottom', + img: require('@src/assets/images/portrait/small/avatar-s-7.jpg').default, + imgHeight: 33, + imgWidth: 33 + }, + { + title: 'Jenny Looper', + placement: 'bottom', + img: require('@src/assets/images/portrait/small/avatar-s-20.jpg').default, + imgHeight: 33, + imgWidth: 33 + }, + { + meta: '+42' + } + ] + + return ( + +
    + +
    + +
    +
    +
    THU
    +

    24

    +
    +
    + + Developer Meetup + + Meet world popular developers +
    +
    + + } /> + +
    Sat, May 25, 2020
    + 10:AM to 6:PM +
    +
    + + } /> + +
    Central Park
    + Manhattan, New york City +
    +
    + +
    +
    + ) +} + +export default CardMeetup diff --git a/src/views/ui-elements/cards/advance/CardPayment.js b/src/views/ui-elements/cards/advance/CardPayment.js new file mode 100644 index 0000000..9f8224b --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardPayment.js @@ -0,0 +1,62 @@ +import Cleave from 'cleave.js/react' +import { Card, CardHeader, CardTitle, CardBody, Form, FormGroup, Label, Input, Button, Row, Col } from 'reactstrap' + +const CardPayment = () => { + return ( + + + Pay Amount + + $455.60 + + + +
    e.preventDefault()}> + + + + + + + + + + + + + + + + + + + + + + + + + + + + Make Payment + + + +
    +
    +
    + ) +} + +export default CardPayment diff --git a/src/views/ui-elements/cards/advance/CardProfile.js b/src/views/ui-elements/cards/advance/CardProfile.js new file mode 100644 index 0000000..58d6f09 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardProfile.js @@ -0,0 +1,41 @@ +import Avatar from '@components/avatar' +import coverImg from '@src/assets/images/banner/banner-12.jpg' +import { Card, CardBody, CardImg, Badge } from 'reactstrap' +import profileImg from '@src/assets/images/portrait/small/avatar-s-9.jpg' + +const CardProfile = () => { + return ( + + + +
    +
    + +
    +
    +

    Curtis Stone

    +
    Malaysia
    + + Pro Level + +
    +
    +
    +
    Followers
    +

    10.3k

    +
    +
    +
    Projects
    +

    156

    +
    +
    +
    Rank
    +

    23

    +
    +
    +
    +
    + ) +} + +export default CardProfile diff --git a/src/views/ui-elements/cards/advance/CardTransactions.js b/src/views/ui-elements/cards/advance/CardTransactions.js new file mode 100644 index 0000000..8eb53a1 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardTransactions.js @@ -0,0 +1,74 @@ +import Avatar from '@components/avatar' +import * as Icon from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody, Media } from 'reactstrap' + +const CardTransactions = () => { + const transactionsArr = [ + { + title: 'Wallet', + color: 'light-primary', + subtitle: 'Starbucks', + amount: '- $74', + Icon: Icon['Pocket'], + down: true + }, + { + title: 'Bank Transfer', + color: 'light-success', + subtitle: 'Add Money', + amount: '+ $480', + Icon: Icon['Check'] + }, + { + title: 'Paypal', + color: 'light-danger', + subtitle: 'Add Money', + amount: '+ $590', + Icon: Icon['DollarSign'] + }, + { + title: 'Mastercard', + color: 'light-warning', + subtitle: 'Ordered Food', + amount: '- $12', + Icon: Icon['CreditCard'], + down: true + }, + { + title: 'Transfer', + color: 'light-info', + subtitle: 'Refund', + amount: '+ $98', + Icon: Icon['TrendingUp'] + } + ] + + const renderTransactions = () => { + return transactionsArr.map(item => { + return ( +
    + + } /> + +
    {item.title}
    + {item.subtitle} +
    +
    +
    {item.amount}
    +
    + ) + }) + } + + return ( + + + Transactions + + + {renderTransactions()} + + ) +} + +export default CardTransactions diff --git a/src/views/ui-elements/cards/advance/CardUserTimeline.js b/src/views/ui-elements/cards/advance/CardUserTimeline.js new file mode 100644 index 0000000..6760eb5 --- /dev/null +++ b/src/views/ui-elements/cards/advance/CardUserTimeline.js @@ -0,0 +1,112 @@ +import Avatar from '@components/avatar' +import Timeline from '@components/timeline' +import AvatarGroup from '@components/avatar-group' +import { List, MoreVertical } from 'react-feather' +import jsonImg from '@src/assets/images/icons/json.png' +import ceo from '@src/assets/images/portrait/small/avatar-s-9.jpg' +import { Card, CardHeader, CardTitle, CardBody, Media } from 'reactstrap' + +const avatarGroupArr = [ + { + title: 'Billy Hopkins', + img: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + placement: 'bottom', + imgHeight: 33, + imgWidth: 33 + }, + { + title: 'Amy Carson', + img: require('@src/assets/images/portrait/small/avatar-s-6.jpg').default, + placement: 'bottom', + imgHeight: 33, + imgWidth: 33 + }, + { + title: 'Brandon Miles', + img: require('@src/assets/images/portrait/small/avatar-s-8.jpg').default, + placement: 'bottom', + imgHeight: 33, + imgWidth: 33 + }, + { + title: 'Daisy Weber', + img: require('@src/assets/images/portrait/small/avatar-s-7.jpg').default, + placement: 'bottom', + imgHeight: 33, + imgWidth: 33 + }, + { + title: 'Jenny Looper', + img: require('@src/assets/images/portrait/small/avatar-s-20.jpg').default, + placement: 'bottom', + imgHeight: 33, + imgWidth: 33 + } +] + +const data = [ + { + title: '12 Invoices have been paid', + content: 'Invoices have been paid to the company.', + meta: '12 min ago', + metaClassName: 'mr-1', + customContent: ( + + data.json + + data.json + + + ) + }, + { + title: 'Client Meeting', + content: 'Project meeting with john @10:15am.', + meta: '45 min ago', + metaClassName: 'mr-1', + color: 'warning', + customContent: ( + + + +
    John Doe (Client)
    + CEO of Infibeam +
    +
    + ) + }, + { + title: 'Create a new project for client', + content: 'Add files to new design folder', + color: 'info', + meta: '2 days ago', + metaClassName: 'mr-1', + customContent: + }, + { + title: 'Create a new project for client', + content: 'Add files to new design folder', + color: 'danger', + meta: '5 days ago', + metaClassName: 'mr-1' + } +] + +const UserTimeline = () => { + return ( + + +
    + + User Timeline +
    + +
    + + + +
    + ) +} + +export default UserTimeline diff --git a/src/views/ui-elements/cards/advance/index.js b/src/views/ui-elements/cards/advance/index.js new file mode 100644 index 0000000..b5954c3 --- /dev/null +++ b/src/views/ui-elements/cards/advance/index.js @@ -0,0 +1,74 @@ +import { Fragment, useContext } from 'react' +import { Row, Col } from 'reactstrap' +import CardJob from './CardJob' +import CardChat from './CardChat' +import CardMedal from './CardMedal' +import CardMeetup from './CardMeetup' +import CardPayment from './CardPayment' +import CardProfile from './CardProfile' +import CardBusiness from './CardBusiness' +import CardAppDesign from './CardAppDesign' +import CardUserTimeline from './CardUserTimeline' +import CardBrowserState from './CardBrowserState' +import Breadcrumbs from '@components/breadcrumbs' +import CardTransactions from './CardTransactions' +import CardEmployeesTasks from './CardEmployeesTask' +import CardCongratulations from './CardCongratulations' +import { ThemeColors } from '@src/utility/context/ThemeColors' + +const Cards = () => { + const { colors } = useContext(ThemeColors), + trackBgColor = '#e9ecef' + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default Cards diff --git a/src/views/ui-elements/cards/analytics/AvgSessions.js b/src/views/ui-elements/cards/analytics/AvgSessions.js new file mode 100644 index 0000000..c8f20c2 --- /dev/null +++ b/src/views/ui-elements/cards/analytics/AvgSessions.js @@ -0,0 +1,127 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { kFormatter } from '@utils' +import { + Card, + CardBody, + CardText, + Row, + Col, + Button, + UncontrolledDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle, + Progress +} from 'reactstrap' +import Chart from 'react-apexcharts' + +const AvgSessions = props => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-analytics/avg-sessions').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + sparkline: { enabled: true }, + toolbar: { show: false } + }, + grid: { + show: false, + padding: { + left: 0, + right: 0 + } + }, + states: { + hover: { + filter: 'none' + } + }, + colors: ['#ebf0f7', '#ebf0f7', props.primary, '#ebf0f7', '#ebf0f7', '#ebf0f7'], + plotOptions: { + bar: { + columnWidth: '45%', + distributed: true, + endingShape: 'rounded' + } + }, + tooltip: { + x: { show: false } + }, + xaxis: { + type: 'numeric' + } + }, + series = [ + { + name: 'Sessions', + data: [75, 125, 225, 175, 125, 75, 25] + } + ] + + return data !== null ? ( + + + + +
    +

    {kFormatter(data.sessions)}

    + Avg Sessions +
    + {data.growth} + vs last 7 days +
    +
    + + + + + + Last 7 days + + + {data.last_days.map(item => ( + + {item} + + ))} + + + + +
    +
    + + +

    Goal: ${data.goal}

    + + + +

    Users: {kFormatter(data.users)}

    + + + +

    Retention: {data.retention}%

    + + + +

    Duration: {data.duration}yr

    + + +
    +
    +
    + ) : null +} +export default AvgSessions diff --git a/src/views/ui-elements/cards/analytics/Customers.js b/src/views/ui-elements/cards/analytics/Customers.js new file mode 100644 index 0000000..4f020af --- /dev/null +++ b/src/views/ui-elements/cards/analytics/Customers.js @@ -0,0 +1,92 @@ +import { useEffect, useState } from 'react' +import classnames from 'classnames' +import axios from 'axios' +import { + Card, + CardHeader, + CardTitle, + CardBody, + UncontrolledDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle +} from 'reactstrap' +import * as Icon from 'react-feather' +import Chart from 'react-apexcharts' + +const Customers = props => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-analytics/customers').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + toolbar: { + show: false + } + }, + labels: ['New', 'Returning', 'Referrals'], + dataLabels: { + enabled: false + }, + legend: { show: false }, + stroke: { + width: 4 + }, + colors: [props.primary, props.warning, props.danger] + }, + series = [690, 258, 149] + + const renderChartInfo = () => { + return data.listData.map((item, index) => { + const IconTag = Icon[item.icon] + + return ( +
    +
    + + {item.text} +
    + {item.result} +
    + ) + }) + } + + return data !== null ? ( + + + Customers + + + Last 7 days + + + {data.last_days.map(item => ( + + {item} + + ))} + + + + + +
    {renderChartInfo()}
    +
    +
    + ) : null +} +export default Customers diff --git a/src/views/ui-elements/cards/analytics/Earnings.js b/src/views/ui-elements/cards/analytics/Earnings.js new file mode 100644 index 0000000..3352cda --- /dev/null +++ b/src/views/ui-elements/cards/analytics/Earnings.js @@ -0,0 +1,111 @@ +import Chart from 'react-apexcharts' +import { Card, CardTitle, CardText, CardBody, Row, Col } from 'reactstrap' + +const Earnings = ({ success }) => { + const options = { + chart: { + toolbar: { + show: false + } + }, + dataLabels: { + enabled: false + }, + legend: { show: false }, + comparedResult: [2, -3, 8], + labels: ['App', 'Service', 'Product'], + stroke: { width: 0 }, + colors: ['#28c76f66', '#28c76f33', success], + grid: { + padding: { + right: -20, + bottom: -8, + left: -20 + } + }, + plotOptions: { + pie: { + startAngle: -10, + donut: { + labels: { + show: true, + name: { + offsetY: 15 + }, + value: { + offsetY: -15, + formatter(val) { + return `${parseInt(val)} %` + } + }, + total: { + show: true, + offsetY: 15, + label: 'App', + formatter(w) { + return '53%' + } + } + } + } + } + }, + responsive: [ + { + breakpoint: 1325, + options: { + chart: { + height: 100 + } + } + }, + { + breakpoint: 1200, + options: { + chart: { + height: 120 + } + } + }, + { + breakpoint: 1065, + options: { + chart: { + height: 100 + } + } + }, + { + breakpoint: 992, + options: { + chart: { + height: 120 + } + } + } + ] + } + + return ( + + + + + Earnings +
    This Month
    +
    $4055.56
    + + 68.2% + more earnings than last month. + + + + + +
    +
    +
    + ) +} + +export default Earnings diff --git a/src/views/ui-elements/cards/analytics/GoalOverview.js b/src/views/ui-elements/cards/analytics/GoalOverview.js new file mode 100644 index 0000000..bafbb10 --- /dev/null +++ b/src/views/ui-elements/cards/analytics/GoalOverview.js @@ -0,0 +1,99 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import Chart from 'react-apexcharts' +import { HelpCircle } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody, CardText, Row, Col } from 'reactstrap' + +const GoalOverview = props => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-analytics/goal-overview').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + sparkline: { + enabled: true + }, + dropShadow: { + enabled: true, + blur: 3, + left: 1, + top: 1, + opacity: 0.1 + } + }, + colors: ['#51e5a8'], + plotOptions: { + radialBar: { + offsetY: 10, + startAngle: -150, + endAngle: 150, + hollow: { + size: '77%' + }, + track: { + background: '#ebe9f1', + strokeWidth: '50%' + }, + dataLabels: { + name: { + show: false + }, + value: { + color: '#5e5873', + fontFamily: 'Montserrat', + fontSize: '2.86rem', + fontWeight: '600' + } + } + } + }, + fill: { + type: 'gradient', + gradient: { + shade: 'dark', + type: 'horizontal', + shadeIntensity: 0.5, + gradientToColors: [props.success], + inverseColors: true, + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100] + } + }, + stroke: { + lineCap: 'round' + }, + grid: { + padding: { + bottom: 30 + } + } + }, + series = [83] + + return data !== null ? ( + + + Goal Overview + + + + + + + + Completed +

    {data.completed}

    + + + In Progress +

    {data.inProgress}

    + +
    +
    + ) : null +} +export default GoalOverview diff --git a/src/views/ui-elements/cards/analytics/ProductOrders.js b/src/views/ui-elements/cards/analytics/ProductOrders.js new file mode 100644 index 0000000..c3750c3 --- /dev/null +++ b/src/views/ui-elements/cards/analytics/ProductOrders.js @@ -0,0 +1,118 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { + Card, + CardHeader, + CardTitle, + CardBody, + UncontrolledDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle +} from 'reactstrap' +import Chart from 'react-apexcharts' +import { Circle } from 'react-feather' + +const ProductOrders = props => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-analytics/product-orders').then(res => setData(res.data)) + }, []) + + const options = { + labels: ['Finished', 'Pending', 'Rejected'], + plotOptions: { + radialBar: { + size: 150, + hollow: { + size: '20%' + }, + track: { + strokeWidth: '100%', + margin: 15 + }, + dataLabels: { + value: { + fontSize: '1rem', + colors: '#5e5873', + fontWeight: '500', + offsetY: 5 + }, + total: { + show: true, + label: 'Total', + fontSize: '1.286rem', + colors: '#5e5873', + fontWeight: '500', + + formatter() { + // By default this function returns the average of all series. The below is just an example to show the use of custom formatter function + return 42459 + } + } + } + } + }, + colors: [props.primary, props.warning, props.danger], + stroke: { + lineCap: 'round' + }, + chart: { + height: 355, + dropShadow: { + enabled: true, + blur: 3, + left: 1, + top: 1, + opacity: 0.1 + } + } + }, + series = [70, 52, 26] + + return data !== null ? ( + + + Product Orders + + + Last 7 days + + + {data.last_days.map(item => ( + + {item} + + ))} + + + + + +
    +
    + + Finished +
    + {data.chart_info.finished} +
    +
    +
    + + Pending +
    + {data.chart_info.pending} +
    +
    +
    + + Rejected +
    + {data.chart_info.rejected} +
    +
    +
    + ) : null +} +export default ProductOrders diff --git a/src/views/ui-elements/cards/analytics/Revenue.js b/src/views/ui-elements/cards/analytics/Revenue.js new file mode 100644 index 0000000..ef51ded --- /dev/null +++ b/src/views/ui-elements/cards/analytics/Revenue.js @@ -0,0 +1,127 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import Chart from 'react-apexcharts' +import { Settings } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody, CardText } from 'reactstrap' + +const Revenue = props => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-analytics/revenue').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + toolbar: { show: false }, + zoom: { enabled: false }, + type: 'line', + offsetX: -10 + }, + stroke: { + curve: 'smooth', + dashArray: [0, 12], + width: [4, 3] + }, + legend: { + show: false + }, + colors: ['#d0ccff', '#ebe9f1'], + fill: { + type: 'gradient', + gradient: { + shade: 'dark', + inverseColors: false, + gradientToColors: [props.primary, '#ebe9f1'], + shadeIntensity: 1, + type: 'horizontal', + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100, 100, 100] + } + }, + markers: { + size: 0, + hover: { + size: 5 + } + }, + xaxis: { + labels: { + style: { + colors: '#b9b9c3', + fontSize: '1rem' + } + }, + axisTicks: { + show: false + }, + categories: ['01', '05', '09', '13', '17', '21', '26', '31'], + axisBorder: { + show: false + }, + tickPlacement: 'on' + }, + yaxis: { + tickAmount: 5, + labels: { + style: { + colors: '#b9b9c3', + fontSize: '1rem' + }, + formatter(val) { + return val > 999 ? `${(val / 1000).toFixed(0)}k` : val + } + } + }, + grid: { + borderColor: '#e7eef7', + padding: { + top: -20, + bottom: -10, + left: 20 + } + }, + tooltip: { + x: { show: false } + } + }, + series = [ + { + name: 'This Month', + data: [45000, 47000, 44800, 47500, 45500, 48000, 46500, 48600] + }, + { + name: 'Last Month', + data: [46000, 48000, 45500, 46600, 44500, 46500, 45000, 47000] + } + ] + return data !== null ? ( + + + Revenue + + + +
    +
    + This Month +

    + $ + 86,589 +

    +
    +
    + Last Month +

    + $ + 73,683 +

    +
    +
    + +
    +
    + ) : null +} +export default Revenue diff --git a/src/views/ui-elements/cards/analytics/RevenueReport.js b/src/views/ui-elements/cards/analytics/RevenueReport.js new file mode 100644 index 0000000..46d3145 --- /dev/null +++ b/src/views/ui-elements/cards/analytics/RevenueReport.js @@ -0,0 +1,158 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { + Card, + CardTitle, + Row, + Col, + Button, + UncontrolledButtonDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle +} from 'reactstrap' +import Chart from 'react-apexcharts' + +const RevenueReport = props => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-analytics/revenue-report').then(res => setData(res.data)) + }, []) + + const revenueOptions = { + chart: { + stacked: true, + type: 'bar', + toolbar: { show: false } + }, + grid: { + padding: { + top: -20, + bottom: -10 + }, + yaxis: { + lines: { show: false } + } + }, + xaxis: { + categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'], + labels: { + style: { + colors: '#b9b9c3', + fontSize: '0.86rem' + } + }, + axisTicks: { + show: false + }, + axisBorder: { + show: false + } + }, + legend: { + show: false + }, + dataLabels: { + enabled: false + }, + colors: [props.primary, props.warning], + plotOptions: { + bar: { + columnWidth: '17%', + endingShape: 'rounded' + }, + distributed: true + }, + yaxis: { + labels: { + style: { + colors: '#b9b9c3', + fontSize: '0.86rem' + } + } + } + }, + revenueSeries = [ + { + name: 'Earning', + data: [95, 177, 284, 256, 105, 63, 168, 218, 72] + }, + { + name: 'Expense', + data: [-145, -80, -60, -180, -100, -60, -85, -75, -100] + } + ] + + const budgetSeries = [ + { + data: [61, 48, 69, 52, 60, 40, 79, 60, 59, 43, 62] + }, + { + data: [20, 10, 30, 15, 23, 0, 25, 15, 20, 5, 27] + } + ], + budgetOptions = { + chart: { + toolbar: { show: false }, + zoom: { enabled: false }, + type: 'line', + sparkline: { enabled: true } + }, + stroke: { + curve: 'smooth', + dashArray: [0, 5], + width: [2] + }, + colors: [props.primary, '#dcdae3'], + tooltip: { + enabled: false + } + } + + return data !== null ? ( + + + +
    + Revenue Report +
    +
    + + Earning +
    +
    + + Expense +
    +
    +
    + + + + + + 2020 + + + {data.years.map(item => ( + + {item} + + ))} + + +

    ${data.price}

    +
    + Budget: + {data.budget} +
    + + + +
    +
    + ) : null +} + +export default RevenueReport diff --git a/src/views/ui-elements/cards/analytics/Sales.js b/src/views/ui-elements/cards/analytics/Sales.js new file mode 100644 index 0000000..75b2895 --- /dev/null +++ b/src/views/ui-elements/cards/analytics/Sales.js @@ -0,0 +1,126 @@ +import Chart from 'react-apexcharts' +import { MoreVertical, Circle } from 'react-feather' +import { + Card, + CardHeader, + CardTitle, + CardBody, + CardText, + UncontrolledDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle +} from 'reactstrap' + +const Sales = props => { + const options = { + chart: { + height: 300, + type: 'radar', + dropShadow: { + enabled: true, + blur: 8, + left: 1, + top: 1, + opacity: 0.2 + }, + toolbar: { + show: false + }, + offsetY: 5 + }, + stroke: { + width: 0 + }, + dataLabels: { + background: { + foreColor: ['#ebe9f1'] + } + }, + legend: { show: false }, + colors: [props.primary, props.info], + plotOptions: { + radar: { + polygons: { + strokeColors: ['#ebe9f1', 'transparent', 'transparent', 'transparent', 'transparent', 'transparent'], + connectorColors: 'transparent' + } + } + }, + fill: { + type: 'gradient', + gradient: { + shade: 'dark', + gradientToColors: [props.primary, props.info], + shadeIntensity: 1, + type: 'horizontal', + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100, 100, 100] + } + }, + labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], + markers: { + size: 0 + }, + yaxis: { + show: false + }, + grid: { + show: false, + padding: { + bottom: -27 + } + } + }, + series = [ + { + name: 'Sales', + data: [90, 50, 86, 40, 100, 20] + }, + { + name: 'Visit', + data: [70, 75, 70, 76, 20, 85] + } + ] + return ( + + +
    + + Sales + + Last 6 months +
    + + + + + + + Last 28 Days + Last Month + Last Year + + +
    + + +
    +
    + +
    Sales
    +
    +
    +
    +
    + +
    Visits
    +
    +
    + +
    +
    + ) +} +export default Sales diff --git a/src/views/ui-elements/cards/analytics/Sales2.js b/src/views/ui-elements/cards/analytics/Sales2.js new file mode 100644 index 0000000..a851d8f --- /dev/null +++ b/src/views/ui-elements/cards/analytics/Sales2.js @@ -0,0 +1,113 @@ +import Chart from 'react-apexcharts' +import { Settings } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody, CardText } from 'reactstrap' + +const Sales2 = props => { + const options = { + chart: { + toolbar: { show: false }, + zoom: { enabled: false }, + type: 'line', + dropShadow: { + enabled: true, + top: 18, + left: 2, + blur: 5, + opacity: 0.2 + }, + offsetX: -10 + }, + stroke: { + curve: 'smooth', + width: 4 + }, + grid: { + borderColor: '#ebe9f1', + padding: { + top: -20, + bottom: 5, + left: 20 + } + }, + legend: { + show: false + }, + colors: ['#df87f2'], + fill: { + type: 'gradient', + gradient: { + shade: 'dark', + inverseColors: false, + gradientToColors: [props.primary], + shadeIntensity: 1, + type: 'horizontal', + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100, 100, 100] + } + }, + markers: { + size: 0, + hover: { + size: 5 + } + }, + xaxis: { + labels: { + offsetY: 5, + style: { + colors: '#b9b9c3', + fontSize: '0.857rem', + fontFamily: 'Montserrat' + } + }, + axisTicks: { + show: false + }, + categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + axisBorder: { + show: false + }, + tickPlacement: 'on' + }, + yaxis: { + tickAmount: 5, + labels: { + style: { + colors: '#b9b9c3', + fontSize: '0.857rem', + fontFamily: 'Montserrat' + }, + formatter(val) { + return val > 999 ? `${(val / 1000).toFixed(1)}k` : val + } + } + }, + tooltip: { + x: { show: false } + } + }, + series = [ + { + name: 'Sales', + data: [140, 180, 150, 205, 160, 295, 125, 255, 205, 305, 240, 295] + } + ] + return ( + + +
    + + Sales + + 2020 Total Sales: 12.84k +
    + +
    + + + +
    + ) +} +export default Sales2 diff --git a/src/views/ui-elements/cards/analytics/SessionByDevice.js b/src/views/ui-elements/cards/analytics/SessionByDevice.js new file mode 100644 index 0000000..16cbc59 --- /dev/null +++ b/src/views/ui-elements/cards/analytics/SessionByDevice.js @@ -0,0 +1,98 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import classnames from 'classnames' +import { + Card, + CardHeader, + CardTitle, + CardBody, + UncontrolledDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle +} from 'reactstrap' +import Chart from 'react-apexcharts' +import * as Icon from 'react-feather' + +const SessionByDevice = props => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-analytics/sessions-device').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + toolbar: { + show: false + } + }, + labels: ['Desktop', 'Mobile', 'Tablet'], + dataLabels: { + enabled: false + }, + legend: { show: false }, + comparedResult: [2, -3, 8], + stroke: { width: 0 }, + colors: [props.primary, props.warning, props.danger] + }, + series = [58.6, 34.9, 6.5] + + const renderChartInfo = () => { + return data.chart_info.map((item, index) => { + const IconTag = Icon[item.icon] + return ( +
    +
    + + {item.name} + - {item.usage}% +
    +
    + {item.upDown}% + {item.upDown > 0 ? ( + + ) : ( + + )} +
    +
    + ) + }) + } + + return data !== null ? ( + + + Session By Device + + + Last 7 days + + + {data.last_days.map(item => ( + + {item} + + ))} + + + + + + {renderChartInfo()} + + + ) : null +} +export default SessionByDevice diff --git a/src/views/ui-elements/cards/analytics/SupportTracker.js b/src/views/ui-elements/cards/analytics/SupportTracker.js new file mode 100644 index 0000000..604c1fb --- /dev/null +++ b/src/views/ui-elements/cards/analytics/SupportTracker.js @@ -0,0 +1,119 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { + Card, + CardHeader, + CardTitle, + CardBody, + CardText, + UncontrolledDropdown, + DropdownMenu, + DropdownItem, + DropdownToggle, + Row, + Col +} from 'reactstrap' +import Chart from 'react-apexcharts' + +const SupportTracker = props => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-analytics/support-tracker').then(res => setData(res.data)) + }, []) + + const options = { + plotOptions: { + radialBar: { + size: 150, + offsetY: 20, + startAngle: -150, + endAngle: 150, + hollow: { + size: '65%' + }, + track: { + background: '#fff', + strokeWidth: '100%' + }, + dataLabels: { + name: { + offsetY: -5, + fontFamily: 'Montserrat', + fontSize: '1rem' + }, + value: { + offsetY: 15, + fontFamily: 'Montserrat', + fontSize: '1.714rem' + } + } + } + }, + colors: [props.danger], + fill: { + type: 'gradient', + gradient: { + shade: 'dark', + type: 'horizontal', + shadeIntensity: 0.5, + gradientToColors: [props.primary], + inverseColors: true, + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100] + } + }, + stroke: { + dashArray: 8 + }, + labels: ['Completed Tickets'] + }, + series = [83] + + return data !== null ? ( + + + {data.title} + + + Last 7 days + + + {data.last_days.map(item => ( + + {item} + + ))} + + + + + + +

    {data.totalTicket}

    + Tickets + + + + +
    +
    +
    + New Tickets + {data.newTicket} +
    +
    + Open Tickets + {data.openTicket} +
    +
    + Response Time + {data.responseTime}d +
    +
    +
    +
    + ) : null +} +export default SupportTracker diff --git a/src/views/ui-elements/cards/analytics/index.js b/src/views/ui-elements/cards/analytics/index.js new file mode 100644 index 0000000..6e82e59 --- /dev/null +++ b/src/views/ui-elements/cards/analytics/index.js @@ -0,0 +1,89 @@ +import { Fragment, useContext } from 'react' +import { Row, Col } from 'reactstrap' +import Breadcrumbs from '@components/breadcrumbs' +import SessionByDevice from './SessionByDevice' +import ProductOrders from './ProductOrders' +import Customers from './Customers' +import Sales from './Sales' +import SupportTracker from './SupportTracker' +import RevenueReport from './RevenueReport' +import Revenue from './Revenue' +import GoalOverview from './GoalOverview' +import AvgSession from './AvgSessions' +import Sales2 from './Sales2' +import Earnings from './Earnings' +import { ThemeColors } from '@src/utility/context/ThemeColors' + +import '@styles/react/libs/charts/apex-charts.scss' + +const AnalyticsCards = () => { + const context = useContext(ThemeColors) + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default AnalyticsCards diff --git a/src/views/ui-elements/cards/basic/CardColumns.js b/src/views/ui-elements/cards/basic/CardColumns.js new file mode 100644 index 0000000..96f2f3e --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardColumns.js @@ -0,0 +1,89 @@ +import { CardColumns, Card, CardImg, CardBody, CardTitle, CardText } from 'reactstrap' +import img1 from '@src/assets/images/slider/06.jpg' +import img2 from '@src/assets/images/slider/01.jpg' +import img3 from '@src/assets/images/slider/02.jpg' +const CardColumnsComponent = () => { + return ( + + + + + Card title that wraps to a new line + + This is a longer card with supporting text below as a natural lead-in to additional content. This content is + a little bit longer. + + + + +
    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    +
    + + Someone famous in + Source Title + +
    +
    +
    + + + + Card title + This card has supporting text below as a natural lead-in to additional content. + + Last updated 3 mins ago + + + + +
    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    +
    + + Someone famous in + Source Title + +
    +
    +
    + + + Card title + This card has supporting text below as a natural lead-in to additional content. + + Last updated 3 mins ago + + + + + + + +
    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    +
    + + Someone famous in + Source Title + +
    +
    +
    + + + Card title + + This is a wider card with supporting text below as a natural lead-in to additional content. This card has + even longer content than the first to show that equal height action. + + + Last updated 3 mins ago + + + +
    + ) +} + +export default CardColumnsComponent diff --git a/src/views/ui-elements/cards/basic/CardContentTypes.js b/src/views/ui-elements/cards/basic/CardContentTypes.js new file mode 100644 index 0000000..2f1a5c4 --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardContentTypes.js @@ -0,0 +1,100 @@ +import { Fragment } from 'react' +import { + Card, + CardTitle, + CardBody, + CardText, + CardSubtitle, + CardLink, + CardImg, + ListGroup, + ListGroupItem, + Row, + Col +} from 'reactstrap' +import img1 from '@src/assets/images/slider/01.jpg' +import img2 from '@src/assets/images/slider/02.jpg' + +const CardContentTypes = () => { + return ( + +
    Content types
    + + +
    Body
    + + + + This is some text within a card body. Jelly lemon drops tiramisu chocolate cake cotton candy soufflé oat + cake sweet roll. Sugar plum marzipan dragée topping cheesecake chocolate bar. Danish muffin icing donut. + + + +
    Titles, text, and links
    + + + Card Title + Support card subtitle + + Some quick example text to build on the card title and make up the bulk of the card's content. + + e.preventDefault()}> + Card Link + + e.preventDefault()}> + Another Link + + + +
    List groups
    + + + Cras justo odio + Dapibus ac facilisis in + Vestibulum at eros + + + + +
    Images
    + + Card cap + + + Some quick example text to build on the card title and make up the bulk of the card's content. + + + Cookie topping caramels jujubes gingerbread. Lollipop apple pie cupcake candy canes cookie ice cream. + Wafer chocolate bar carrot cake jelly-o. + + + + + +
    Kitchen sink
    + + + + Card Title + Some quick example text to build on the card title. + + + Cras justo odio + Vestibulum at eros + + + e.preventDefault()}> + Card Link + + e.preventDefault()}> + Another Link + + + + +
    +
    + ) +} + +export default CardContentTypes diff --git a/src/views/ui-elements/cards/basic/CardDeck.js b/src/views/ui-elements/cards/basic/CardDeck.js new file mode 100644 index 0000000..a98e63b --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardDeck.js @@ -0,0 +1,49 @@ +import { CardDeck, Card, CardImg, CardBody, CardTitle, CardText, CardFooter } from 'reactstrap' +import img1 from '@src/assets/images/slider/03.jpg' +import img2 from '@src/assets/images/slider/02.jpg' +import img3 from '@src/assets/images/slider/01.jpg' + +const CardDeckComponent = () => { + return ( + + + + + Card title + + This is a wider card with supporting text below as a natural lead-in to additional content. This content is + a little bit longer. + + + + Last updated 3 mins ago + + + + + + Card title + This card has supporting text below as a natural lead-in to additional content. + + + Last updated 3 mins ago + + + + + + Card title + + This is a wider card with supporting text below as a natural lead-in to additional content. This card has + even longer content than the first to show that equal height action. + + + + Last updated 3 mins ago + + + + ) +} + +export default CardDeckComponent diff --git a/src/views/ui-elements/cards/basic/CardGroup.js b/src/views/ui-elements/cards/basic/CardGroup.js new file mode 100644 index 0000000..7960c46 --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardGroup.js @@ -0,0 +1,49 @@ +import { CardGroup, Card, CardImg, CardBody, CardTitle, CardText, CardFooter } from 'reactstrap' +import img1 from '@src/assets/images/slider/01.jpg' +import img2 from '@src/assets/images/slider/05.jpg' +import img3 from '@src/assets/images/slider/03.jpg' + +const CardGroupComponent = () => { + return ( + + + + + Card title + + This is a wider card with supporting text below as a natural lead-in to additional content. This content is + a little bit longer. + + + + Last updated 3 mins ago + + + + + + Card title + This card has supporting text below as a natural lead-in to additional content. + + + Last updated 3 mins ago + + + + + + Card title + + This is a wider card with supporting text below as a natural lead-in to additional content. This card has + even longer content than the first to show that equal height action. + + + + Last updated 3 mins ago + + + + ) +} + +export default CardGroupComponent diff --git a/src/views/ui-elements/cards/basic/CardHeaderFooter.js b/src/views/ui-elements/cards/basic/CardHeaderFooter.js new file mode 100644 index 0000000..682c80d --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardHeaderFooter.js @@ -0,0 +1,59 @@ +import { Fragment } from 'react' +import { Card, CardHeader, CardTitle, CardBody, CardText, CardFooter, Row, Col, Button } from 'reactstrap' + +const CardHeaderFooter = () => { + return ( + +
    Header and footer
    + + + + Featured + + Special title treatment + + With supporting text below as a natural lead-in to additional content natural lead-in to additional + content. + + + Go somewhere + + + + + + + Quote + +
    +

    + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.Lorem ipsum dolor + sit amet, Integer posuere erat a ante Integer posuere erat a anteconsectetur. +

    +
    + Someone famous in + Source Title +
    +
    +
    +
    + + + + Featured + + Special title treatment + With supporting text below as a natural. + + Go somewhere + + + 2 days ago + + +
    +
    + ) +} + +export default CardHeaderFooter diff --git a/src/views/ui-elements/cards/basic/CardImages.js b/src/views/ui-elements/cards/basic/CardImages.js new file mode 100644 index 0000000..31df110 --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardImages.js @@ -0,0 +1,64 @@ +import { Fragment } from 'react' +import { Card, CardImg, CardTitle, CardBody, CardImgOverlay, CardText, Row, Col } from 'reactstrap' +import img1 from '@src/assets/images/slider/06.jpg' +import img2 from '@src/assets/images/slider/09.jpg' +import img3 from '@src/assets/images/slider/10.jpg' + +const CardImages = () => { + return ( + +
    Images
    + + + + + + Card title + + This is a wider card with supporting text below as a natural lead-in to additional content. This content + is a little bit longer. + + + Last updated 3 mins ago + + + + + + + + Card title + + This is a wider card with supporting text below as a natural lead-in to additional content. This content + is a little bit longer. + + + Last updated 3 mins ago + + + + + + + + + + + Card title + + + This is a wider card with supporting text below as a natural lead-in to additional content. This content + is a little bit longer. + + + Last updated 3 mins ago + + + + + +
    + ) +} + +export default CardImages diff --git a/src/views/ui-elements/cards/basic/CardLayout.js b/src/views/ui-elements/cards/basic/CardLayout.js new file mode 100644 index 0000000..90f72a2 --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardLayout.js @@ -0,0 +1,19 @@ +import { Fragment } from 'react' +import CardGroup from './CardGroup' +import CardDeck from './CardDeck' +import CardColumns from './CardColumns' +const CardLayout = () => { + return ( + +
    Card layout
    +
    Card Group
    + +
    Card Deck
    + +
    Card Columns
    + +
    + ) +} + +export default CardLayout diff --git a/src/views/ui-elements/cards/basic/CardNavigation.js b/src/views/ui-elements/cards/basic/CardNavigation.js new file mode 100644 index 0000000..2ce94f8 --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardNavigation.js @@ -0,0 +1,140 @@ +import { Fragment, useState } from 'react' +import { + Card, + CardHeader, + CardTitle, + CardBody, + CardText, + Row, + Col, + Button, + TabContent, + TabPane, + Nav, + NavItem, + NavLink +} from 'reactstrap' + +const CardNavigation = () => { + const [activePill, setPillActive] = useState('1') + const [activeTab, setTabActive] = useState('1') + + const togglePills = tab => { + if (activePill !== tab) { + setPillActive(tab) + } + } + + const toggleTabs = tab => { + if (activeTab !== tab) { + setTabActive(tab) + } + } + return ( + +
    Navigation
    + + + + + + + + + + Special title treatment + With supporting text below as a natural lead-in to additional content. + + Go somewhere + + + + Special title + With supporting text below as a natural lead-in to additional content. + + Go somewhere + + + + + + + + + + + + + + + Special title treatment + With supporting text below as a natural lead-in to additional content. + + Go somewhere + + + + Special title + With supporting text below as a natural lead-in to additional content. + + Go somewhere + + + + + + + +
    + ) +} + +export default CardNavigation diff --git a/src/views/ui-elements/cards/basic/CardStyleVariation.js b/src/views/ui-elements/cards/basic/CardStyleVariation.js new file mode 100644 index 0000000..ba0e6f0 --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardStyleVariation.js @@ -0,0 +1,124 @@ +import { Fragment } from 'react' +import { Card, CardBody, CardTitle, CardText, Row, Col } from 'reactstrap' + +const CardStyleVariation = () => { + return ( + +
    Style variation
    + + + + + + Primary Card Title + + Some quick example text to build on the card title and make up. + + + + + + + + Secondary Card Title + + Some quick example text to build on the card title and make up. + + + + + + + + Success Card Title + + Some quick example text to build on the card title and make up. + + + + + + + + Danger Card Title + + Some quick example text to build on the card title and make up. + + + + + + + + Warning Card Title + + Some quick example text to build on the card title and make up. + + + + + + + + Info Card Title + + Some quick example text to build on the card title and make up. + + + + + + + + + Primary Card Title + Some quick example text to build on the card title and make up. + + + + + + + Secondary Card Title + Some quick example text to build on the card title and make up. + + + + + + + Success Card Title + Some quick example text to build on the card title and make up. + + + + + + + Danger Card Title + Some quick example text to build on the card title and make up. + + + + + + + Warning Card Title + Some quick example text to build on the card title and make up. + + + + + + + Info Card Title + Some quick example text to build on the card title and make up. + + + + +
    + ) +} + +export default CardStyleVariation diff --git a/src/views/ui-elements/cards/basic/CardTextAlignment.js b/src/views/ui-elements/cards/basic/CardTextAlignment.js new file mode 100644 index 0000000..dfe640d --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardTextAlignment.js @@ -0,0 +1,47 @@ +import { Fragment } from 'react' +import { Card, CardTitle, CardBody, CardText, Row, Col, Button } from 'reactstrap' + +const CardTextAlignment = () => { + return ( + +
    Text alignment
    + + + + + Special title treatment + With supporting text below as a natural lead-in to additional content. + + Go somewhere + + + + + + + + Special title treatment + With supporting text below as a natural lead-in to additional content. + + Go somewhere + + + + + + + + Special title treatment + With supporting text below as a natural lead-in to additional content. + + Go somewhere + + + + + +
    + ) +} + +export default CardTextAlignment diff --git a/src/views/ui-elements/cards/basic/CardTitles.js b/src/views/ui-elements/cards/basic/CardTitles.js new file mode 100644 index 0000000..9653349 --- /dev/null +++ b/src/views/ui-elements/cards/basic/CardTitles.js @@ -0,0 +1,61 @@ +import { Button, Card, CardTitle, CardBody, CardText, CardSubtitle, CardLink, CardImg, Row, Col } from 'reactstrap' +import img1 from '@src/assets/images/slider/04.jpg' +import img2 from '@src/assets/images/slider/03.jpg' +import img3 from '@src/assets/images/slider/06.jpg' + +const CardTitles = () => { + return ( + + + + + + Card Title + + Some quick example text to build on the card title and make up the bulk of the card's content. + + + Go Somewhere + + + + + + + + Card Title + Support card subtitle + + Card cap + + Bear claw sesame snaps gummies chocolate. + e.preventDefault()}> + Card Link + + e.preventDefault()}> + Another Link + + + + + + + + Card Title + Support card subtitle + Card cap + Bear claw sesame snaps gummies chocolate. + e.preventDefault()}> + Card Link + + e.preventDefault()}> + Another Link + + + + + + ) +} + +export default CardTitles diff --git a/src/views/ui-elements/cards/basic/index.js b/src/views/ui-elements/cards/basic/index.js new file mode 100644 index 0000000..cef075f --- /dev/null +++ b/src/views/ui-elements/cards/basic/index.js @@ -0,0 +1,27 @@ +import { Fragment } from 'react' +import CardTitles from './CardTitles' +import CardImages from './CardImages' +import CardNavigation from './CardNavigation' +import CardHeaderFooter from './CardHeaderFooter' +import CardContentTypes from './CardContentTypes' +import CardTextAlignment from './CardTextAlignment' +import CardStyleVariation from './CardStyleVariation' +import CardLayout from './CardLayout' +import Breadcrumbs from '@components/breadcrumbs' +const BasicCards = () => { + return ( + + + + + + + + + + + + ) +} + +export default BasicCards diff --git a/src/views/ui-elements/cards/statistics/ActiveUsers.js b/src/views/ui-elements/cards/statistics/ActiveUsers.js new file mode 100644 index 0000000..d55d177 --- /dev/null +++ b/src/views/ui-elements/cards/statistics/ActiveUsers.js @@ -0,0 +1,83 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { UserCheck } from 'react-feather' +import StatsWithLineChart from '@components/widgets/stats/StatsWithLineChart' + +const ActiveUsers = ({ success }) => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-statistics/active-users').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + id: 'activeUsers', + toolbar: { + show: false + }, + sparkline: { + enabled: true + }, + dropShadow: { + enabled: true, + top: 5, + left: 0, + blur: 4, + opacity: 0.1 + } + }, + grid: { + show: false + }, + colors: [success], + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + width: 5 + }, + fill: { + type: 'gradient', + gradient: { + shadeIntensity: 1, + gradientToColors: ['#55DD92'], + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100, 100, 100] + } + }, + + xaxis: { + labels: { + show: false + }, + axisBorder: { + show: false + } + }, + yaxis: { + labels: { + show: false + } + }, + tooltip: { + x: { show: false } + } + } + + return data !== null ? ( + } + color='success' + stats='659.8k' + statTitle='Active Users' + series={data.series} + options={options} + type='line' + /> + ) : null +} + +export default ActiveUsers diff --git a/src/views/ui-elements/cards/statistics/Newsletter.js b/src/views/ui-elements/cards/statistics/Newsletter.js new file mode 100644 index 0000000..da0efc0 --- /dev/null +++ b/src/views/ui-elements/cards/statistics/Newsletter.js @@ -0,0 +1,83 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { Mail } from 'react-feather' +import StatsWithLineChart from '@components/widgets/stats/StatsWithLineChart' + +const Newsletter = ({ warning }) => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-statistics/newsletter').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + id: 'newsletter', + toolbar: { + show: false + }, + sparkline: { + enabled: true + }, + dropShadow: { + enabled: true, + top: 5, + left: 0, + blur: 4, + opacity: 0.1 + } + }, + grid: { + show: false + }, + colors: [warning], + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + width: 5 + }, + fill: { + type: 'gradient', + gradient: { + shadeIntensity: 1, + gradientToColors: ['#ffc085'], + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100, 100, 100] + } + }, + + xaxis: { + labels: { + show: false + }, + axisBorder: { + show: false + } + }, + yaxis: { + labels: { + show: false + } + }, + tooltip: { + x: { show: false } + } + } + + return data !== null ? ( + } + color='warning' + stats='28.7k' + statTitle='Newsletter' + series={data.series} + type='line' + options={options} + /> + ) : null +} + +export default Newsletter diff --git a/src/views/ui-elements/cards/statistics/OrdersBarChart.js b/src/views/ui-elements/cards/statistics/OrdersBarChart.js new file mode 100644 index 0000000..3ab6b3e --- /dev/null +++ b/src/views/ui-elements/cards/statistics/OrdersBarChart.js @@ -0,0 +1,79 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import TinyChartStats from '@components/widgets/stats/TinyChartStats' + +const OrdersBarChart = ({ warning }) => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-statistics/orders-bar-chart').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + stacked: true, + toolbar: { + show: false + } + }, + grid: { + show: false, + padding: { + left: 0, + right: 0, + top: -15, + bottom: -15 + } + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: '20%', + startingShape: 'rounded', + colors: { + backgroundBarColors: ['#f3f3f3', '#f3f3f3', '#f3f3f3', '#f3f3f3', '#f3f3f3'], + backgroundBarRadius: 5 + } + } + }, + legend: { + show: false + }, + dataLabels: { + enabled: false + }, + colors: [warning], + xaxis: { + labels: { + show: false + }, + axisBorder: { + show: false + }, + axisTicks: { + show: false + } + }, + yaxis: { + show: false + }, + tooltip: { + x: { + show: false + } + } + } + + return data !== null ? ( + + ) : null +} + +export default OrdersBarChart diff --git a/src/views/ui-elements/cards/statistics/OrdersReceived.js b/src/views/ui-elements/cards/statistics/OrdersReceived.js new file mode 100644 index 0000000..8a70077 --- /dev/null +++ b/src/views/ui-elements/cards/statistics/OrdersReceived.js @@ -0,0 +1,74 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { Package } from 'react-feather' +import StatsWithAreaChart from '@components/widgets/stats/StatsWithAreaChart' + +const OrdersReceived = ({ kFormatter, warning }) => { + const [data, setData] = useState(null) + + const options = { + chart: { + id: 'revenue', + toolbar: { + show: false + }, + sparkline: { + enabled: true + } + }, + grid: { + show: false + }, + colors: [warning], + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + width: 2.5 + }, + fill: { + type: 'gradient', + gradient: { + shadeIntensity: 0.9, + opacityFrom: 0.7, + opacityTo: 0.5, + stops: [0, 80, 100] + } + }, + + xaxis: { + labels: { + show: false + }, + axisBorder: { + show: false + } + }, + yaxis: { + labels: { + show: false + } + }, + tooltip: { + x: { show: false } + } + } + + useEffect(() => { + axios.get('/card/card-statistics/orders').then(res => setData(res.data)) + }, []) + + return data !== null ? ( + } + color='warning' + stats={kFormatter(data.analyticsData.orders)} + statTitle='Orders Received' + options={options} + series={data.series} + type='area' + /> + ) : null +} +export default OrdersReceived diff --git a/src/views/ui-elements/cards/statistics/ProfitLineChart.js b/src/views/ui-elements/cards/statistics/ProfitLineChart.js new file mode 100644 index 0000000..6349b32 --- /dev/null +++ b/src/views/ui-elements/cards/statistics/ProfitLineChart.js @@ -0,0 +1,107 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import TinyChartStats from '@components/widgets/stats/TinyChartStats' + +const ProfitLineChart = ({ info }) => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-statistics/profit-line-chart').then(res => setData(res.data)) + }, []) + + const options = { + chart: { + toolbar: { + show: false + }, + zoom: { + enabled: false + } + }, + grid: { + borderColor: '#EBEBEB', + strokeDashArray: 5, + xaxis: { + lines: { + show: true + } + }, + yaxis: { + lines: { + show: false + } + }, + padding: { + top: -30, + bottom: -10 + } + }, + stroke: { + width: 3 + }, + colors: [info], + series: [ + { + data: [0, 20, 5, 30, 15, 45] + } + ], + markers: { + size: 2, + colors: info, + strokeColors: info, + strokeWidth: 2, + strokeOpacity: 1, + strokeDashArray: 0, + fillOpacity: 1, + discrete: [ + { + seriesIndex: 0, + dataPointIndex: 5, + fillColor: '#ffffff', + strokeColor: info, + size: 5 + } + ], + shape: 'circle', + radius: 2, + hover: { + size: 3 + } + }, + xaxis: { + labels: { + show: true, + style: { + fontSize: '0px' + } + }, + axisBorder: { + show: false + }, + axisTicks: { + show: false + } + }, + yaxis: { + show: false + }, + tooltip: { + x: { + show: false + } + } + } + + return data !== null ? ( + + ) : null +} + +export default ProfitLineChart diff --git a/src/views/ui-elements/cards/statistics/QuaterlySales.js b/src/views/ui-elements/cards/statistics/QuaterlySales.js new file mode 100644 index 0000000..5ef6a6b --- /dev/null +++ b/src/views/ui-elements/cards/statistics/QuaterlySales.js @@ -0,0 +1,74 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { ShoppingCart } from 'react-feather' +import StatsWithAreaChart from '@components/widgets/stats/StatsWithAreaChart' + +const QuarterlySales = ({ danger }) => { + const [data, setData] = useState(null) + + const options = { + chart: { + id: 'revenue', + toolbar: { + show: false + }, + sparkline: { + enabled: true + } + }, + grid: { + show: false + }, + colors: [danger], + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + width: 2.5 + }, + fill: { + type: 'gradient', + gradient: { + shadeIntensity: 0.9, + opacityFrom: 0.7, + opacityTo: 0.5, + stops: [0, 80, 100] + } + }, + + xaxis: { + labels: { + show: false + }, + axisBorder: { + show: false + } + }, + yaxis: { + labels: { + show: false + } + }, + tooltip: { + x: { show: false } + } + } + + useEffect(() => { + axios.get('/card/card-statistics/sales').then(res => setData(res.data)) + }, []) + + return data !== null ? ( + } + color='danger' + stats={data.analyticsData.sales} + statTitle='Quarterly Sales' + options={options} + series={data.series} + type='area' + /> + ) : null +} +export default QuarterlySales diff --git a/src/views/ui-elements/cards/statistics/RevenueGenerated.js b/src/views/ui-elements/cards/statistics/RevenueGenerated.js new file mode 100644 index 0000000..80a9461 --- /dev/null +++ b/src/views/ui-elements/cards/statistics/RevenueGenerated.js @@ -0,0 +1,74 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { CreditCard } from 'react-feather' +import StatsWithAreaChart from '@components/widgets/stats/StatsWithAreaChart' + +const RevenueGenerated = ({ kFormatter, success }) => { + const [data, setData] = useState(null) + + const options = { + chart: { + id: 'revenue', + toolbar: { + show: false + }, + sparkline: { + enabled: true + } + }, + grid: { + show: false + }, + colors: [success], + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + width: 2.5 + }, + fill: { + type: 'gradient', + gradient: { + shadeIntensity: 0.9, + opacityFrom: 0.7, + opacityTo: 0.5, + stops: [0, 80, 100] + } + }, + + xaxis: { + labels: { + show: false + }, + axisBorder: { + show: false + } + }, + yaxis: { + labels: { + show: false + } + }, + tooltip: { + x: { show: false } + } + } + + useEffect(() => { + axios.get('/card/card-statistics/revenue').then(res => setData(res.data)) + }, []) + + return data !== null ? ( + } + color='success' + stats={kFormatter(data.analyticsData.revenue)} + statTitle='Revenue Generated' + options={options} + series={data.series} + type='area' + /> + ) : null +} +export default RevenueGenerated diff --git a/src/views/ui-elements/cards/statistics/SiteTraffic.js b/src/views/ui-elements/cards/statistics/SiteTraffic.js new file mode 100644 index 0000000..c252c4c --- /dev/null +++ b/src/views/ui-elements/cards/statistics/SiteTraffic.js @@ -0,0 +1,25 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { Monitor } from 'react-feather' +import StatsWithLineChart from '@components/widgets/stats/StatsWithLineChart' + +const SiteTraffic = () => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-statistics/site-traffic').then(res => setData(res.data)) + }, []) + + return data !== null ? ( + } + color='primary' + stats='78.9k' + statTitle='Site Traffic' + series={data.series} + type='line' + /> + ) : null +} + +export default SiteTraffic diff --git a/src/views/ui-elements/cards/statistics/StatsCard.js b/src/views/ui-elements/cards/statistics/StatsCard.js new file mode 100644 index 0000000..f83b8f8 --- /dev/null +++ b/src/views/ui-elements/cards/statistics/StatsCard.js @@ -0,0 +1,70 @@ +import classnames from 'classnames' +import Avatar from '@components/avatar' +import { TrendingUp, User, Box, DollarSign } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody, CardText, Row, Col, Media } from 'reactstrap' + +const StatsCard = ({ cols }) => { + const data = [ + { + title: '230k', + subtitle: 'Sales', + color: 'light-primary', + icon: + }, + { + title: '8.549k', + subtitle: 'Customers', + color: 'light-info', + icon: + }, + { + title: '1.423k', + subtitle: 'Products', + color: 'light-danger', + icon: + }, + { + title: '$9745', + subtitle: 'Revenue', + color: 'light-success', + icon: + } + ] + + const renderData = () => { + return data.map((item, index) => { + const margin = Object.keys(cols) + return ( + + + + +

    {item.title}

    + {item.subtitle} +
    +
    + + ) + }) + } + + return ( + + + Statistics + Updated 1 month ago + + + {renderData()} + + + ) +} + +export default StatsCard diff --git a/src/views/ui-elements/cards/statistics/SubscribersGained.js b/src/views/ui-elements/cards/statistics/SubscribersGained.js new file mode 100644 index 0000000..e54903e --- /dev/null +++ b/src/views/ui-elements/cards/statistics/SubscribersGained.js @@ -0,0 +1,25 @@ +import { useEffect, useState } from 'react' +import axios from 'axios' +import { Users } from 'react-feather' +import StatsWithAreaChart from '@components/widgets/stats/StatsWithAreaChart' + +const SubscribersGained = ({ kFormatter }) => { + const [data, setData] = useState(null) + + useEffect(() => { + axios.get('/card/card-statistics/subscribers').then(res => setData(res.data)) + }, []) + + return data !== null ? ( + } + color='primary' + stats={kFormatter(data.analyticsData.subscribers)} + statTitle='Subscribers Gained' + series={data.series} + type='area' + /> + ) : null +} + +export default SubscribersGained diff --git a/src/views/ui-elements/cards/statistics/index.js b/src/views/ui-elements/cards/statistics/index.js new file mode 100644 index 0000000..1462752 --- /dev/null +++ b/src/views/ui-elements/cards/statistics/index.js @@ -0,0 +1,132 @@ +import { Fragment, useContext } from 'react' +import { Row, Col } from 'reactstrap' +import { kFormatter } from '@utils' +import Breadcrumbs from '@components/breadcrumbs' +import StatsCard from './StatsCard' +import OrdersBarChart from './OrdersBarChart' +import ProfitLineChart from './ProfitLineChart' +import SubscribersGained from './SubscribersGained' +import RevenueGenerated from './RevenueGenerated' +import QuaterlySales from './QuaterlySales' +import OrdersReceived from './OrdersReceived' +import SiteTraffic from './SiteTraffic' +import ActiveUsers from './ActiveUsers' +import Newsletter from './Newsletter' +import StatsVertical from '@components/widgets/stats/StatsVertical' +import StatsHorizontal from '@components/widgets/stats/StatsHorizontal' +import { + Eye, + MessageSquare, + ShoppingBag, + Heart, + Award, + Truck, + Cpu, + Server, + Activity, + AlertOctagon +} from 'react-feather' +import { ThemeColors } from '@src/utility/context/ThemeColors' + +const StatisticsCards = () => { + const context = useContext(ThemeColors) + + return ( + + + + + {/* Orders Bar Chart */} + + + + {/* Orders Bar Chart */} + + {/* Profit Line Chart */} + + + + {/* Profit Line Chart */} + + {/* Stats Card */} + + + + {/* Stats Card */} + + + + {/* Stats With Icons */} + + } color='info' stats='36.9k' statTitle='Views' /> + + + } color='warning' stats='12k' statTitle='Comments' /> + + + } color='danger' stats='97.8k' statTitle='Orders' /> + + + } color='primary' stats='26.8' statTitle='Bookmarks' /> + + + } color='success' stats='689' statTitle='Reviews' /> + + + } color='danger' stats='2.1k' statTitle='Returns' /> + + {/* Stats With Icons */} + + + + {/* Stats With Icons Horizontal */} + + } color='primary' stats='86%' statTitle='CPU Usage' /> + + + } color='success' stats='1.2gb' statTitle='Memory Usage' /> + + + } color='danger' stats='0.1%' statTitle='Downtime Ratio' /> + + + } color='warning' stats='13' statTitle='Issues Found' /> + + {/* Stats With Icons Horizontal */} + + + + {/* Stats Area Charts */} + + + + + + + + + + + + + {/* Stats Area Charts */} + + + + {/* Stats Line Charts */} + + + + + + + + + + {/* Stats Line Charts */} + + + ) +} + +export default StatisticsCards diff --git a/src/views/ui-elements/colors/DefaultColors.js b/src/views/ui-elements/colors/DefaultColors.js new file mode 100644 index 0000000..00234a3 --- /dev/null +++ b/src/views/ui-elements/colors/DefaultColors.js @@ -0,0 +1,127 @@ +import { ChevronsRight } from 'react-feather' +import { Card, CardHeader, CardTitle, CardBody, CardText, Alert } from 'reactstrap' + +const DefaultColors = () => { + return ( + + + Default Colors + + + +
    + For more color classes options please read the{' '} + + Documentation + +
    +
    + We have a series of colors that are used by default. They include: +
      +
    • + + Primary +
    • +
    • + + Secondary +
    • +
    • + + Success +
    • +
    • + + Danger +
    • +
    • + + Warning +
    • +
    • + + Info +
    • +
    + + For each color, we think has its functionality in the application as alerts of errors (danger), + warnings to the user (warning), communications of approval (success), or main color of the + application (primary). + +
    +
    + Primary +
    +
    + Secondary +
    +
    + Success +
    +
    + Danger +
    +
    + Warning +
    +
    + Info +
    +
    +
    Lighten Variant
    +

    + Use + .bg-[color].bg-lighten-[1 | 2 | 3 | 4 | 5] + classes for lighten background color. +

    +
    +
    + lighten-2 +
    +
    + lighten-2 +
    +
    + lighten-2 +
    +
    + lighten-2 +
    +
    + lighten-2 +
    +
    + lighten-2 +
    +
    +
    Darken Variant
    +

    + Use + .bg-[color].bg-darken-[1 | 2 | 3 | 4 | 5] + classes for darken background color. +

    +
    +
    + darken-2 +
    +
    + darken-2 +
    +
    + darken-2 +
    +
    + darken-2 +
    +
    + darken-2 +
    +
    + darken-2 +
    +
    +
    +
    + ) +} +export default DefaultColors diff --git a/src/views/ui-elements/colors/GradientColors.js b/src/views/ui-elements/colors/GradientColors.js new file mode 100644 index 0000000..bcaa489 --- /dev/null +++ b/src/views/ui-elements/colors/GradientColors.js @@ -0,0 +1,63 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' +import { ChevronsRight } from 'react-feather' + +const GradientColors = () => { + return ( + + + Gradient Colors + + +

    + We have created gradient colors based on our default colors, use below mentioned classes for gradient colors. +

    +
      +
    • + bg-gradient-primary +
    • +
    • + bg-gradient-secondary +
    • +
    • + bg-gradient-success +
    • +
    • + bg-gradient-danger +
    • +
    • + bg-gradient-warning +
    • +
    • + bg-gradient-info +
    • +
    +

    + For each color, we think has its functionality in the application as alerts of errors (danger), + warnings to the user (warning), communications of approval (success), or main color of the + application (primary). +

    +
    +
    + Primary Gradient +
    +
    + Secondary Gradient +
    +
    + Success Gradient +
    +
    + Danger Gradient +
    +
    + Warning Gradient +
    +
    + Info Gradient +
    +
    +
    +
    + ) +} +export default GradientColors diff --git a/src/views/ui-elements/colors/index.js b/src/views/ui-elements/colors/index.js new file mode 100644 index 0000000..96f3334 --- /dev/null +++ b/src/views/ui-elements/colors/index.js @@ -0,0 +1,25 @@ +import { Fragment } from 'react' +import { Row, Col } from 'reactstrap' +import Breadcrumbs from '@components/breadcrumbs' +import DefaultColors from './DefaultColors' +import GradientColors from './GradientColors' + +import '@styles/base/pages/ui-colors.scss' + +const Colors = () => { + return ( + + + + + + + + + + + + ) +} + +export default Colors diff --git a/src/views/ui-elements/icons/index.js b/src/views/ui-elements/icons/index.js new file mode 100644 index 0000000..a3ca794 --- /dev/null +++ b/src/views/ui-elements/icons/index.js @@ -0,0 +1,133 @@ +import { Fragment, useState } from 'react' +import classnames from 'classnames' +import { toast } from 'react-toastify' +import * as Icons from 'react-feather' +import Avatar from '@components/avatar' +import { + Card, + CardBody, + Row, + Col, + Input, + FormGroup, + InputGroup, + InputGroupAddon, + InputGroupText, + UncontrolledTooltip +} from 'reactstrap' +import Breadcrumbs from '@components/breadcrumbs' +import { CopyToClipboard } from 'react-copy-to-clipboard' + +import '@styles/base/pages/ui-feather.scss' + +const ToastContent = ({ icon }) => ( + +
    +
    + } /> +
    Icon Name Copied! 📋
    +
    +
    +
    + + {icon} + +
    +
    +) + +const FeatherIcons = () => { + const IconsArr = [], + [query, setQuery] = useState([]), + [filteredArr, setFilteredArr] = useState([]), + [active, setActive] = useState(null) + + for (const key in Icons) { + IconsArr.push(key) + } + + const handleFilter = val => { + const arr = [] + if (val.length) { + IconsArr.filter(icon => { + if (icon.toLowerCase().includes(val.toLowerCase())) { + arr.push(icon) + } + }) + } + setFilteredArr([...arr]) + } + + const handleIconCardClick = icon => { + setActive(icon) + toast.success(, { hideProgressBar: true }) + } + + const renderIcons = () => { + const dataToRender = query.length ? filteredArr : IconsArr + if (dataToRender.length) { + return dataToRender.map(icon => { + const IconTag = Icons[icon] + return ( + + `}> + handleIconCardClick(icon)} + > + +
    + +
    +

    {icon}

    +
    +
    +
    + + {icon.replace(/([A-Z])/g, ' $1').trim()} + +
    + ) + }) + } else { + return ( +
    +

    No Icons Found!

    +
    + ) + } + } + + return ( + + + + +
    + + + + + + + { + handleFilter(e.target.value) + setQuery(e.target.value) + }} + /> + +
    + +
    +
    + {renderIcons()} +
    +
    + ) +} +export default FeatherIcons diff --git a/src/views/ui-elements/page-layouts/BoxedLayout.js b/src/views/ui-elements/page-layouts/BoxedLayout.js new file mode 100644 index 0000000..dc4e834 --- /dev/null +++ b/src/views/ui-elements/page-layouts/BoxedLayout.js @@ -0,0 +1,30 @@ +import { Fragment } from 'react' +import { Alert } from 'reactstrap' +import Breadcrumbs from '@components/breadcrumbs' +import Ecommerce from '../../dashboard/ecommerce' + +const BoxedLayout = () => { + return ( + + + +
    + Info: + + Please check the{' '} + + Layout boxed documentation + {' '} + for more details. + +
    +
    + +
    + ) +} + +export default BoxedLayout diff --git a/src/views/ui-elements/page-layouts/CollapsedMenu.js b/src/views/ui-elements/page-layouts/CollapsedMenu.js new file mode 100644 index 0000000..f3c47fa --- /dev/null +++ b/src/views/ui-elements/page-layouts/CollapsedMenu.js @@ -0,0 +1,34 @@ +import { Fragment } from 'react' +import { Alert } from 'reactstrap' +import Breadcrumbs from '@components/breadcrumbs' +import Ecommerce from '../../dashboard/ecommerce' + +const CollapsedMenu = () => { + return ( + + + +
    + Info: + + Use this layout to set menu (navigation) default collapsed. Please check{' '} + + the Layout collapsed menu documentation + {' '} + for more details. + +
    +
    + +
    + ) +} + +export default CollapsedMenu diff --git a/src/views/ui-elements/page-layouts/LayoutBlank.js b/src/views/ui-elements/page-layouts/LayoutBlank.js new file mode 100644 index 0000000..d8f530b --- /dev/null +++ b/src/views/ui-elements/page-layouts/LayoutBlank.js @@ -0,0 +1,31 @@ +import { Fragment } from 'react' +import { Alert } from 'reactstrap' + +const LayoutBlank = () => { + return ( + +
    +
    +

    Layout Blank

    + +
    + Info: + + This layout is used in Authentication & Miscellaneous page. Please check the{' '} + + Layout blank documentation + + for more details. + +
    +
    +
    +
    +
    + ) +} + +export default LayoutBlank diff --git a/src/views/ui-elements/page-layouts/LayoutEmpty.js b/src/views/ui-elements/page-layouts/LayoutEmpty.js new file mode 100644 index 0000000..08dd592 --- /dev/null +++ b/src/views/ui-elements/page-layouts/LayoutEmpty.js @@ -0,0 +1,29 @@ +import { Fragment } from 'react' + +import Breadcrumbs from '@components/breadcrumbs' +import { Alert } from 'reactstrap' + +const LayoutEmpty = () => { + return ( + + + +
    + Info: + + This layout can be useful for getting started with empty content section. Please check the{' '} + + Layout empty documentation + {' '} + for more details. + +
    +
    +
    + ) +} + +export default LayoutEmpty diff --git a/src/views/ui-elements/page-layouts/WithoutMenu.js b/src/views/ui-elements/page-layouts/WithoutMenu.js new file mode 100644 index 0000000..801924f --- /dev/null +++ b/src/views/ui-elements/page-layouts/WithoutMenu.js @@ -0,0 +1,34 @@ +import { Fragment } from 'react' +import { Alert } from 'reactstrap' +import Breadcrumbs from '@components/breadcrumbs' +import Ecommerce from '../../dashboard/ecommerce' + +const WithoutMenu = () => { + return ( + + + +
    + Info: + + Please check the{' '} + + Layout without menu documentation + {' '} + for more details. + +
    +
    + +
    + ) +} + +export default WithoutMenu diff --git a/src/views/ui-elements/typography/BlockquoteDefault.js b/src/views/ui-elements/typography/BlockquoteDefault.js new file mode 100644 index 0000000..7d904c0 --- /dev/null +++ b/src/views/ui-elements/typography/BlockquoteDefault.js @@ -0,0 +1,24 @@ +import { Card, CardHeader, CardTitle, CardText, CardBody } from 'reactstrap' + +const BlockquoteDefault = () => { + return ( + + + + Blockquotes Default + + + + + + Left aligned basic blockquotes. Use text utilities classes like .text-center / .text-right as + needed to change the alignment of your blockquote. + +
    +

    Design is not just what it looks like and feels like. Design is how it works.

    +
    +
    +
    + ) +} +export default BlockquoteDefault diff --git a/src/views/ui-elements/typography/BlockquoteStyling.js b/src/views/ui-elements/typography/BlockquoteStyling.js new file mode 100644 index 0000000..8ce9d6a --- /dev/null +++ b/src/views/ui-elements/typography/BlockquoteStyling.js @@ -0,0 +1,37 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText } from 'reactstrap' + +const BlockquoteStyling = () => { + return ( + + + Blockquotes styling + + + + + Add a .border-[left / right]-[color] .border-[left / right]-3{' '} + helper classes, where color can be any color from Vuexy Admin color palette. + +
    + + Sometimes when you innovate, you make mistakes. It is best to admit them quickly, and get on with improving + your other innovations. + +
    + Steve Jobs Entrepreneur +
    +
    +
    + + Sometimes when you innovate, you make mistakes. It is best to admit them quickly, and get on with improving + your other innovations. + +
    + Steve Jobs Entrepreneur +
    +
    +
    +
    + ) +} +export default BlockquoteStyling diff --git a/src/views/ui-elements/typography/BlockquotesAvatar.js b/src/views/ui-elements/typography/BlockquotesAvatar.js new file mode 100644 index 0000000..a152479 --- /dev/null +++ b/src/views/ui-elements/typography/BlockquotesAvatar.js @@ -0,0 +1,52 @@ +import img1 from '@src/assets/images/portrait/small/avatar-s-5.jpg' +import img2 from '@src/assets/images/portrait/small/avatar-s-3.jpg' +import { Card, CardHeader, CardTitle, CardText, CardBody, Media } from 'reactstrap' + +const BlockquotesAvatar = () => { + return ( + + + Blockquotes with avatar + + + + + You can create a blockquot with avatar using media component. + +
    + + + + + Sometimes life is going to hit you in the head with a brick. Don't lose faith. + +
    + Steve Jobs + Entrepreneur +
    +
    + Blockquotes with avatar rounded image example +
    + + + + + Sometimes life is going to hit you in the head with a brick. Don't lose faith. + +
    + Steve Jobs + Entrepreneur +
    +
    +
    +
    + ) +} +export default BlockquotesAvatar diff --git a/src/views/ui-elements/typography/CustomizingHeadings.js b/src/views/ui-elements/typography/CustomizingHeadings.js new file mode 100644 index 0000000..d2d69c7 --- /dev/null +++ b/src/views/ui-elements/typography/CustomizingHeadings.js @@ -0,0 +1,65 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText, Table } from 'reactstrap' + +const CustomizingHeadings = () => { + return ( + + + + Customizing headings Default + + + + + Use the included utility classes to recreate the small secondary heading text. + + + + + + + + + + + + + + + + + + + + + + + +
    +

    + Display heading Secondary text +

    +
    +

    + Display heading Secondary text +

    +
    +

    + Display heading Secondary text +

    +
    +

    + Display heading Secondary text +

    +
    +
    + Display heading Secondary text +
    +
    +
    + Display heading Secondary text +
    +
    +
    + ) +} +export default CustomizingHeadings diff --git a/src/views/ui-elements/typography/DescriptionList.js b/src/views/ui-elements/typography/DescriptionList.js new file mode 100644 index 0000000..7ca338c --- /dev/null +++ b/src/views/ui-elements/typography/DescriptionList.js @@ -0,0 +1,57 @@ +import { Card, CardHeader, CardTitle, CardBody, Row, Col } from 'reactstrap' + +const DescriptionList = () => { + return ( + + + + Description lists Horizontal + + + + +
    + + +
    Description lists
    + + +
    A description list is perfect for defining terms.
    + +
    +
    +
    + + +
    Euismod
    + + +
    Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
    + +
    +
    +
    + + +
    Malesuada porta
    + + +
    Etiam porta sem malesuada magna mollis euismod.
    + +
    +
    +
    + + +
    Truncated term is truncated
    + + +
    Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc
    + +
    +
    +
    +
    + ) +} +export default DescriptionList diff --git a/src/views/ui-elements/typography/DescriptionListText.js b/src/views/ui-elements/typography/DescriptionListText.js new file mode 100644 index 0000000..5b4a47c --- /dev/null +++ b/src/views/ui-elements/typography/DescriptionListText.js @@ -0,0 +1,77 @@ +import { Card, CardHeader, CardTitle, CardBody, Row, Col, CardText } from 'reactstrap' + +const DescriptionListtext = () => { + return ( + + + + Description lists Text Alignment + + + + + + Description lists with right aligned text in <dt> tag using .text-right class. + +
    + + +
    Description lists
    + + +
    A description list is perfect for defining terms.
    + +
    +
    +
    + + +
    Euismod
    + + +
    Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
    + +
    +
    +
    + + +
    Malesuada porta
    + + +
    Etiam porta sem malesuada magna mollis euismod.
    + +
    +
    +
    + + +
    Truncated term is truncated
    + + +
    Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc
    + +
    +
    +
    + + +
    Nesting
    + + + + +
    Nested definition list
    + + +
    Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc.
    + +
    + +
    +
    +
    +
    + ) +} +export default DescriptionListtext diff --git a/src/views/ui-elements/typography/DescriptionListVertical.js b/src/views/ui-elements/typography/DescriptionListVertical.js new file mode 100644 index 0000000..c2ba776 --- /dev/null +++ b/src/views/ui-elements/typography/DescriptionListVertical.js @@ -0,0 +1,25 @@ +import { Card, CardHeader, CardTitle, CardBody } from 'reactstrap' + +const DescriptionListVertical = () => { + return ( + + + + Description lists Vertical + + + + +
    +
    Description lists
    +
    A description list is perfect for defining terms.
    +
    Euismod
    +
    Vestibulum id ligula porta felis euismod semper eget lacinia odio.
    +
    Malesuada porta
    +
    Etiam porta sem malesuada magna mollis euismod.
    +
    +
    +
    + ) +} +export default DescriptionListVertical diff --git a/src/views/ui-elements/typography/DisplayHeadings.js b/src/views/ui-elements/typography/DisplayHeadings.js new file mode 100644 index 0000000..cc08324 --- /dev/null +++ b/src/views/ui-elements/typography/DisplayHeadings.js @@ -0,0 +1,44 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText, Table } from 'reactstrap' + +const DisplayHeadings = () => { + return ( + + + Display Headings + + + + + Traditional heading elements are designed to work best in the meat of your page content. When you need a + heading to stand out, consider using a display-[1-4] for larger, slightly more opinionated + heading style. + + + + + + + + + + + + + + + + + +
    +

    Display 1

    +
    +

    Display 2

    +
    +

    Display 3

    +
    +

    Display 4

    +
    +
    + ) +} +export default DisplayHeadings diff --git a/src/views/ui-elements/typography/HTMLHeadings.js b/src/views/ui-elements/typography/HTMLHeadings.js new file mode 100644 index 0000000..e2c0e8f --- /dev/null +++ b/src/views/ui-elements/typography/HTMLHeadings.js @@ -0,0 +1,70 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText, Table } from 'reactstrap' + +const HTMLHeadings = () => { + return ( + + + + HTML headings Default + + + + + + All HTML headings, + <h1> + through + <h6>, are available. .h1 through .h6 classes are also available, + for when you want to match the font styling of a heading. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PreviewFont Size
    +

    H1 Heading

    +
    2rem
    +

    H2 Heading

    +
    1.74rem
    +

    H3 Heading

    +
    1.51rem
    +

    H4 Heading

    +
    1.32rem
    +
    H5 Heading
    +
    1.14rem
    +
    H6 Heading
    +
    1rem
    +
    + ) +} +export default HTMLHeadings diff --git a/src/views/ui-elements/typography/HeadingColors.js b/src/views/ui-elements/typography/HeadingColors.js new file mode 100644 index 0000000..0596431 --- /dev/null +++ b/src/views/ui-elements/typography/HeadingColors.js @@ -0,0 +1,53 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText, Table } from 'reactstrap' + +const HeadingColors = () => { + return ( + + + Heading colors + + + + + Heading elements are also changed with different color options. Use class + text-[primary/secondary/success/danger/info/warning] class with heading elements. + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Display heading

    +
    +

    Display heading

    +
    +

    Display heading

    +
    +

    Display heading

    +
    +
    Display heading
    +
    +
    Display heading
    +
    +
    + ) +} +export default HeadingColors diff --git a/src/views/ui-elements/typography/LightBoldHeadings.js b/src/views/ui-elements/typography/LightBoldHeadings.js new file mode 100644 index 0000000..db83537 --- /dev/null +++ b/src/views/ui-elements/typography/LightBoldHeadings.js @@ -0,0 +1,77 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText, Table } from 'reactstrap' + +const LightBoldHeadings = () => { + return ( + + + Light / Bold Headings + + + + + All HTML headings are available with light and bold font-weight. Use .font-weight-normal for + light heading and .font-weight-bolderer for bold headings along with heading tags or classes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Light headingsBold headings
    +

    Heading 1

    +
    +

    Heading 1

    +
    +

    Heading 2

    +
    +

    Heading 2

    +
    +

    Heading 3

    +
    +

    Heading 3

    +
    +

    Heading 4

    +
    +

    Heading 4

    +
    +
    Heading 5
    +
    +
    Heading 5
    +
    +
    Heading 6
    +
    +
    Heading 6
    +
    +
    + ) +} +export default LightBoldHeadings diff --git a/src/views/ui-elements/typography/ListIcons.js b/src/views/ui-elements/typography/ListIcons.js new file mode 100644 index 0000000..f4ecfdc --- /dev/null +++ b/src/views/ui-elements/typography/ListIcons.js @@ -0,0 +1,47 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText } from 'reactstrap' +import { ArrowRight, ChevronRight } from 'react-feather' + +const ListIcons = () => { + return ( + + + Lists icons + + + + + Use .list-style-icons class with <ul> tag to create a list with icons. + +
      +
    • + + Facilisis in pretium nisl aliquet +
    • +
    • + + Nulla volutpat aliquam velit +
        +
      • + + Phasellus iaculis neque +
      • +
      • + + Ac tristique libero volutpat at +
      • +
      +
    • +
    • + + Faucibus porta lacus fringilla vel +
    • +
    • + + Aenean sit amet erat nunc +
    • +
    +
    +
    + ) +} +export default ListIcons diff --git a/src/views/ui-elements/typography/ListInline.js b/src/views/ui-elements/typography/ListInline.js new file mode 100644 index 0000000..028fafa --- /dev/null +++ b/src/views/ui-elements/typography/ListInline.js @@ -0,0 +1,35 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText } from 'reactstrap' + +const ListInline = () => { + return ( + + + Inline Lists + + + + + To create a inline list use .list-inline class with <ul> tag and, class{' '} + .list-inline-item with <li> tag. + +

    Use inline numbers, alphabet, icons etc... for ordered Inline List.

    +
      +
    • Chocolate
    • +
    • Cake
    • +
    • Ice-Cream
    • +
    +
      +
    • 1. Chocolate
    • +
    • 2. Cake
    • +
    • 3. Ice-Cream
    • +
    +
      +
    • $ 250
    • +
    • $ 110
    • +
    • $ 890
    • +
    +
    +
    + ) +} +export default ListInline diff --git a/src/views/ui-elements/typography/ListOrdered.js b/src/views/ui-elements/typography/ListOrdered.js new file mode 100644 index 0000000..7fda880 --- /dev/null +++ b/src/views/ui-elements/typography/ListOrdered.js @@ -0,0 +1,39 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText } from 'reactstrap' + +const ListOrdered = () => { + return ( + + + Lists Ordered + + + + + List of items in which the order does explicitly matter. Use <ol type="1|a|A|i|I">, The type + attribute specifies the kind of marker to use in the list. + +
      +
    1. Lorem ipsum dolor sit amet
    2. +
    3. Consectetur adipiscing elit
    4. +
    5. Integer molestie lorem at massa
    6. +
    7. Facilisis in pretium nisl aliquet
    8. +
    9. + Nulla volutpat aliquam velit +
        +
      1. Phasellus iaculis neque
      2. +
      3. Purus sodales ultricies
      4. +
      5. Vestibulum laoreet porttitor sem
      6. +
      7. Ac tristique libero volutpat at
      8. +
      9. Lorem ipsum dolor sit amet.
      10. +
      11. consectetur adipisicing elit. At, quae?
      12. +
      +
    10. +
    11. Faucibus porta lacus fringilla vel
    12. +
    13. Aenean sit amet erat nunc
    14. +
    15. Eget porttitor lorem
    16. +
    +
    +
    + ) +} +export default ListOrdered diff --git a/src/views/ui-elements/typography/ListUnordered.js b/src/views/ui-elements/typography/ListUnordered.js new file mode 100644 index 0000000..112d186 --- /dev/null +++ b/src/views/ui-elements/typography/ListUnordered.js @@ -0,0 +1,39 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText } from 'reactstrap' + +const ListUnordered = () => { + return ( + + + Lists Unordered + + + + + List of items in which the order does not explicitly matter. Use .list-style-circle or{' '} + .list-style-square class in unordered list to add circle or square bullet points. + +
      +
    • Lorem ipsum dolor sit amet
    • +
    • Consectetur adipiscing elit
    • +
    • Integer molestie lorem at massa
    • +
    • Facilisis in pretium nisl aliquet
    • +
    • + Nulla volutpat aliquam velit +
        +
      • Phasellus iaculis neque
      • +
      • Purus sodales ultricies
      • +
      • Vestibulum laoreet porttitor sem
      • +
      • Ac tristique libero volutpat at
      • +
      • Lorem ipsum dolor sit amet.
      • +
      • consectetur adipisicing elit. At, quae?
      • +
      +
    • +
    • Faucibus porta lacus fringilla vel
    • +
    • Aenean sit amet erat nunc
    • +
    • Eget porttitor lorem
    • +
    +
    +
    + ) +} +export default ListUnordered diff --git a/src/views/ui-elements/typography/ListUnstyled.js b/src/views/ui-elements/typography/ListUnstyled.js new file mode 100644 index 0000000..8ce9ff8 --- /dev/null +++ b/src/views/ui-elements/typography/ListUnstyled.js @@ -0,0 +1,39 @@ +import { Card, CardHeader, CardTitle, CardBody, CardText } from 'reactstrap' + +const ListUnstyled = () => { + return ( + + + Lists Unstyled + + + + + Use class .list-unstyled for Lists Unstyled. It remove the default list-style and + left margin on list items (immediate children only). + This only applies to immediate children list items, meaning you will need to add the class + for any nested lists as well. + +
      +
    • Lorem ipsum dolor sit amet
    • +
    • Consectetur adipiscing elit
    • +
    • Integer molestie lorem at massa
    • +
    • Facilisis in pretium nisl aliquet
    • +
    • + Nulla volutpat aliquam velit +
        +
      • Phasellus iaculis neque
      • +
      • Purus sodales ultricies
      • +
      • Vestibulum laoreet porttitor sem
      • +
      • Ac tristique libero volutpat at
      • +
      +
    • +
    • Faucibus porta lacus fringilla vel
    • +
    • Aenean sit amet erat nunc
    • +
    • Eget porttitor lorem
    • +
    +
    +
    + ) +} +export default ListUnstyled diff --git a/src/views/ui-elements/typography/NamingSource.js b/src/views/ui-elements/typography/NamingSource.js new file mode 100644 index 0000000..7044b1f --- /dev/null +++ b/src/views/ui-elements/typography/NamingSource.js @@ -0,0 +1,29 @@ +import { Card, CardHeader, CardTitle, CardText, CardBody } from 'reactstrap' + +const NamingSource = () => { + return ( + + + Naming a source + + + + + Add a <footer className="blockquote-footer"> for identifying + the source. Wrap the name of the source work in <cite>. + +
    + + Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done + something wonderful, that's what matters to me. + +
    + Steve Jobs + Entrepreneur +
    +
    +
    +
    + ) +} +export default NamingSource diff --git a/src/views/ui-elements/typography/index.js b/src/views/ui-elements/typography/index.js new file mode 100644 index 0000000..af6ad88 --- /dev/null +++ b/src/views/ui-elements/typography/index.js @@ -0,0 +1,114 @@ +import { Fragment } from 'react' +import { Row, Col } from 'reactstrap' +import Breadcrumbs from '@components/breadcrumbs' +import HTMLHeadings from './HTMLHeadings' +import LightBoldHeadings from './LightBoldHeadings' +import CustomizingHeadings from './CustomizingHeadings' +import HeadingColors from './HeadingColors' +import DisplayHeadings from './DisplayHeadings' +import BlockquoteDefault from './BlockquoteDefault' +import NamingSource from './NamingSource' +import BlockquoteStyling from './BlockquoteStyling' +import BlockquoteAvatar from './BlockquotesAvatar' +import ListUnstyled from './ListUnstyled' +import ListUnordered from './ListUnordered' +import ListOrdered from './ListOrdered' +import ListIcons from './ListIcons' +import ListInline from './ListInline' +import DescriptionList from './DescriptionList' +import DescriptionListVertical from './DescriptionListVertical' +import DescriptionListText from './DescriptionListText' + +const Typography = () => { + return ( + + + + + + + + + + + + + + + + + + + +
    +

    BlockQuotes

    +

    + For quoting blocks of content from another source within your document. Wrap{' '} + <blockquote className="blockquote"> around any HTML as the quote. +

    +
    +
    + + + + + + + + + + + + + + +
    +

    Lists

    +

    + All lists - <ul>, <ol>, and <dl> - have their + margin-top removed and a margin-bottom: 1rem. Nested lists have no margin-bottom + . +

    +
    +
    + + + + + + + + + + + + + + + + + +
    +

    Description list alignment

    +

    + Align terms and descriptions horizontally by using our grid system’s predefined classes (or semantic + mixins). For longer terms, you can optionally add a .text-truncate class to truncate the text + with an ellipsis. +

    +
    +
    + + + + + + + + + + +
    +
    + ) +} +export default Typography diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..4f692cf --- /dev/null +++ b/yarn.lock @@ -0,0 +1,14505 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + dependencies: + "@babel/highlight" "^7.14.5" + +"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.7", "@babel/compat-data@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" + integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== + +"@babel/core@7.12.3": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" + integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.1" + "@babel/parser" "^7.12.3" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@^7.8.4": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.0.tgz#749e57c68778b73ad8082775561f67f5196aafa8" + integrity sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.0" + "@babel/helper-module-transforms" "^7.15.0" + "@babel/helpers" "^7.14.8" + "@babel/parser" "^7.15.0" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.15.0" + "@babel/types" "^7.15.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.12.1", "@babel/generator@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15" + integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ== + dependencies: + "@babel/types" "^7.15.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" + integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz#b939b43f8c37765443a19ae74ad8b15978e0a191" + integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5", "@babel/helper-compilation-targets@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz#973df8cbd025515f3ff25db0c05efc704fa79818" + integrity sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz#c9a137a4d137b2d0e2c649acf536d7ba1a76c0f7" + integrity sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-member-expression-to-functions" "^7.15.0" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-replace-supers" "^7.15.0" + "@babel/helper-split-export-declaration" "^7.14.5" + +"@babel/helper-create-regexp-features-plugin@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" + integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.2.2": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" + integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645" + integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" + integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== + dependencies: + "@babel/helper-get-function-arity" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-get-function-arity@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" + integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-hoist-variables@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" + integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-member-expression-to-functions@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz#0ddaf5299c8179f27f37327936553e9bba60990b" + integrity sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg== + dependencies: + "@babel/types" "^7.15.0" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" + integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz#679275581ea056373eddbe360e1419ef23783b08" + integrity sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg== + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-replace-supers" "^7.15.0" + "@babel/helper-simple-access" "^7.14.8" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.9" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.15.0" + "@babel/types" "^7.15.0" + +"@babel/helper-optimise-call-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" + integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-remap-async-to-generator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6" + integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-wrap-function" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz#ace07708f5bf746bf2e6ba99572cce79b5d4e7f4" + integrity sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.15.0" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/traverse" "^7.15.0" + "@babel/types" "^7.15.0" + +"@babel/helper-simple-access@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" + integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== + dependencies: + "@babel/types" "^7.14.8" + +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1", "@babel/helper-skip-transparent-expression-wrappers@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4" + integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-split-export-declaration@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" + integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" + integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== + +"@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helper-wrap-function@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff" + integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== + dependencies: + "@babel/helper-function-name" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helpers@^7.12.1", "@babel/helpers@^7.14.8": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.3.tgz#c96838b752b95dcd525b4e741ed40bb1dc2a1357" + integrity sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g== + dependencies: + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.15.0" + "@babel/types" "^7.15.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.3", "@babel/parser@^7.14.5", "@babel/parser@^7.15.0", "@babel/parser@^7.7.0": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" + integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA== + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e" + integrity sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + +"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz#7028dc4fa21dc199bbacf98b39bab1267d0eaf9a" + integrity sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" + integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz#158e9e10d449c3849ef3ecde94a03d9f1841b681" + integrity sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-decorators@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" + integrity sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.12.1" + +"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" + integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" + integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" + integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" + integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" + integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" + integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" + integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.14.7": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz#5920a2b3df7f7901df0205974c0641b13fd9d363" + integrity sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== + dependencies: + "@babel/compat-data" "^7.14.7" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.14.5" + +"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" + integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" + integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" + integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" + integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz#9f65a4d0493a940b4c01f8aa9d3f1894a587f636" + integrity sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" + integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.1", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.12.1": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz#eafb9c0cbe09c8afeb964ba3a7bbd63945a72f20" + integrity sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.12.1": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz#2ff654999497d7d7d142493260005263731da180" + integrity sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" + integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" + integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" + integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" + integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" + +"@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" + integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-block-scoping@^7.12.1", "@babel/plugin-transform-block-scoping@^7.14.5": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" + integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz#2a391ffb1e5292710b00f2e2c210e1435e7d449f" + integrity sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" + integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.14.7": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" + integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" + integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" + integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" + integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-flow-strip-types@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" + integrity sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-flow" "^7.12.1" + +"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb" + integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" + integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== + dependencies: + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" + integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" + integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" + integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== + dependencies: + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz#3305896e5835f953b5cdb363acd9e8c2219a5281" + integrity sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig== + dependencies: + "@babel/helper-module-transforms" "^7.15.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.14.8" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29" + integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== + dependencies: + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" + integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== + dependencies: + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" + integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + +"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" + integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" + integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3" + integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" + integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-react-constant-elements@^7.12.1": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz#41790d856f7c5cec82d2bcf5d0e5064d682522ed" + integrity sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-react-display-name@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" + integrity sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.14.5": + version "7.15.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz#6aaac6099f1fcf6589d35ae6be1b6e10c8c602b9" + integrity sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-react-jsx-development@^7.12.1", "@babel/plugin-transform-react-jsx-development@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz#1a6c73e2f7ed2c42eebc3d2ad60b0c7494fcb9af" + integrity sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.14.5" + +"@babel/plugin-transform-react-jsx-self@^7.12.1": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz#33041e665453391eb6ee54a2ecf3ba1d46bd30f4" + integrity sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-react-jsx-source@^7.12.1": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz#79f728e60e6dbd31a2b860b0bf6c9765918acf1d" + integrity sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.14.5": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz#3314b2163033abac5200a869c4de242cd50a914c" + integrity sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-jsx" "^7.14.5" + "@babel/types" "^7.14.9" + +"@babel/plugin-transform-react-pure-annotations@^7.12.1", "@babel/plugin-transform-react-pure-annotations@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz#18de612b84021e3a9802cbc212c9d9f46d0d11fc" + integrity sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-regenerator@^7.12.1", "@babel/plugin-transform-regenerator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" + integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" + integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-runtime@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" + integrity sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" + integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.14.6": + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" + integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + +"@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" + integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" + integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-typeof-symbol@^7.12.1", "@babel/plugin-transform-typeof-symbol@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" + integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-typescript@^7.12.1": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.0.tgz#553f230b9d5385018716586fc48db10dd228eb7e" + integrity sha512-WIIEazmngMEEHDaPTx0IZY48SaAmjVWe3TRSX7cmJXn0bEv9midFzAjxiruOWYIVf5iQ10vFx7ASDpgEO08L5w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.15.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-typescript" "^7.14.5" + +"@babel/plugin-transform-unicode-escapes@^7.12.1", "@babel/plugin-transform-unicode-escapes@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" + integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" + integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/preset-env@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" + integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== + dependencies: + "@babel/compat-data" "^7.12.1" + "@babel/helper-compilation-targets" "^7.12.1" + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.1" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@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.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.1" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.12.1" + core-js-compat "^3.6.2" + semver "^5.5.0" + +"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.8.4": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.0.tgz#e2165bf16594c9c05e52517a194bf6187d6fe464" + integrity sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-async-generator-functions" "^7.14.9" + "@babel/plugin-proposal-class-properties" "^7.14.5" + "@babel/plugin-proposal-class-static-block" "^7.14.5" + "@babel/plugin-proposal-dynamic-import" "^7.14.5" + "@babel/plugin-proposal-export-namespace-from" "^7.14.5" + "@babel/plugin-proposal-json-strings" "^7.14.5" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" + "@babel/plugin-proposal-numeric-separator" "^7.14.5" + "@babel/plugin-proposal-object-rest-spread" "^7.14.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-private-methods" "^7.14.5" + "@babel/plugin-proposal-private-property-in-object" "^7.14.5" + "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.14.5" + "@babel/plugin-transform-async-to-generator" "^7.14.5" + "@babel/plugin-transform-block-scoped-functions" "^7.14.5" + "@babel/plugin-transform-block-scoping" "^7.14.5" + "@babel/plugin-transform-classes" "^7.14.9" + "@babel/plugin-transform-computed-properties" "^7.14.5" + "@babel/plugin-transform-destructuring" "^7.14.7" + "@babel/plugin-transform-dotall-regex" "^7.14.5" + "@babel/plugin-transform-duplicate-keys" "^7.14.5" + "@babel/plugin-transform-exponentiation-operator" "^7.14.5" + "@babel/plugin-transform-for-of" "^7.14.5" + "@babel/plugin-transform-function-name" "^7.14.5" + "@babel/plugin-transform-literals" "^7.14.5" + "@babel/plugin-transform-member-expression-literals" "^7.14.5" + "@babel/plugin-transform-modules-amd" "^7.14.5" + "@babel/plugin-transform-modules-commonjs" "^7.15.0" + "@babel/plugin-transform-modules-systemjs" "^7.14.5" + "@babel/plugin-transform-modules-umd" "^7.14.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" + "@babel/plugin-transform-new-target" "^7.14.5" + "@babel/plugin-transform-object-super" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-property-literals" "^7.14.5" + "@babel/plugin-transform-regenerator" "^7.14.5" + "@babel/plugin-transform-reserved-words" "^7.14.5" + "@babel/plugin-transform-shorthand-properties" "^7.14.5" + "@babel/plugin-transform-spread" "^7.14.6" + "@babel/plugin-transform-sticky-regex" "^7.14.5" + "@babel/plugin-transform-template-literals" "^7.14.5" + "@babel/plugin-transform-typeof-symbol" "^7.14.5" + "@babel/plugin-transform-unicode-escapes" "^7.14.5" + "@babel/plugin-transform-unicode-regex" "^7.14.5" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.15.0" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + core-js-compat "^3.16.0" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + dependencies: + "@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/preset-react@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" + integrity sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.1" + "@babel/plugin-transform-react-jsx-development" "^7.12.1" + "@babel/plugin-transform-react-jsx-self" "^7.12.1" + "@babel/plugin-transform-react-jsx-source" "^7.12.1" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + +"@babel/preset-react@^7.12.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.14.5.tgz#0fbb769513f899c2c56f3a882fa79673c2d4ab3c" + integrity sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-transform-react-display-name" "^7.14.5" + "@babel/plugin-transform-react-jsx" "^7.14.5" + "@babel/plugin-transform-react-jsx-development" "^7.14.5" + "@babel/plugin-transform-react-pure-annotations" "^7.14.5" + +"@babel/preset-typescript@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" + integrity sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-typescript" "^7.12.1" + +"@babel/runtime-corejs3@^7.10.2": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz#28754263988198f2a928c09733ade2fb4d28089d" + integrity sha512-30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A== + dependencies: + core-js-pure "^3.16.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" + integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.13.10", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" + integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4", "@babel/template@^7.14.5", "@babel/template@^7.3.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.15.0", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98" + integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.0" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/parser" "^7.15.0" + "@babel/types" "^7.15.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.6", "@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.14.9", "@babel/types@^7.15.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" + integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== + dependencies: + "@babel/helper-validator-identifier" "^7.14.9" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@casl/ability@5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@casl/ability/-/ability-5.2.2.tgz#8582aaff347dbbf22935d5b7518f3d2a334a45c6" + integrity sha512-A0GTDWojP72Z4HSgS0pfbtGnhQWbquhn9luAr4Uc/HnqWWib0NvmpXC4//7gsiMUiVYCoFozQ+nG1oeZuhT7Jg== + dependencies: + "@ucast/mongo2js" "^1.3.0" + +"@casl/react@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@casl/react/-/react-2.1.1.tgz#8c2d886e3147a25b99a2cb84860c8cb4f2564dd3" + integrity sha512-DD0j40OZ+dcQopRdt1tsFaAZ79a1+HGCuMWvExdRcqrbjXFVnFi2kN26KMtwQuzL5FFiH4fmCADCxW3Xjxhs9A== + +"@choojs/findup@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@choojs/findup/-/findup-0.2.1.tgz#ac13c59ae7be6e1da64de0779a0a7f03d75615a3" + integrity sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw== + dependencies: + commander "^2.15.1" + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== + +"@csstools/normalize.css@^10.1.0": + version "10.1.0" + resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" + integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== + +"@emotion/babel-plugin@^11.0.0": + version "11.3.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz#3a16850ba04d8d9651f07f3fb674b3436a4fb9d7" + integrity sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/runtime" "^7.13.10" + "@emotion/hash" "^0.8.0" + "@emotion/memoize" "^0.7.5" + "@emotion/serialize" "^1.0.2" + babel-plugin-macros "^2.6.1" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "^4.0.3" + +"@emotion/cache@^11.0.0", "@emotion/cache@^11.1.3", "@emotion/cache@^11.4.0": + version "11.4.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.4.0.tgz#293fc9d9a7a38b9aad8e9337e5014366c3b09ac0" + integrity sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g== + dependencies: + "@emotion/memoize" "^0.7.4" + "@emotion/sheet" "^1.0.0" + "@emotion/utils" "^1.0.0" + "@emotion/weak-memoize" "^0.2.5" + stylis "^4.0.3" + +"@emotion/css@^11.0.0": + version "11.1.3" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.1.3.tgz#9ed44478b19e5d281ccbbd46d74d123d59be793f" + integrity sha512-RSQP59qtCNTf5NWD6xM08xsQdCZmVYnX/panPYvB6LQAPKQB6GL49Njf0EMbS3CyDtrlWsBcmqBtysFvfWT3rA== + dependencies: + "@emotion/babel-plugin" "^11.0.0" + "@emotion/cache" "^11.1.3" + "@emotion/serialize" "^1.0.0" + "@emotion/sheet" "^1.0.0" + "@emotion/utils" "^1.0.0" + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + +"@emotion/is-prop-valid@^0.8.8": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" + integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== + dependencies: + "@emotion/memoize" "0.7.4" + +"@emotion/memoize@0.7.4": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" + integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== + +"@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50" + integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== + +"@emotion/react@^11.1.1": + version "11.4.1" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.4.1.tgz#a1b0b767b5bad57515ffb0cad9349614d27f4d57" + integrity sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg== + dependencies: + "@babel/runtime" "^7.13.10" + "@emotion/cache" "^11.4.0" + "@emotion/serialize" "^1.0.2" + "@emotion/sheet" "^1.0.2" + "@emotion/utils" "^1.0.0" + "@emotion/weak-memoize" "^0.2.5" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.0.0", "@emotion/serialize@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.0.2.tgz#77cb21a0571c9f68eb66087754a65fa97bfcd965" + integrity sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A== + dependencies: + "@emotion/hash" "^0.8.0" + "@emotion/memoize" "^0.7.4" + "@emotion/unitless" "^0.7.5" + "@emotion/utils" "^1.0.0" + csstype "^3.0.2" + +"@emotion/sheet@^1.0.0", "@emotion/sheet@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.0.2.tgz#1d9ffde531714ba28e62dac6a996a8b1089719d0" + integrity sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw== + +"@emotion/stylis@^0.8.4": + version "0.8.5" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" + integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== + +"@emotion/unitless@^0.7.4", "@emotion/unitless@^0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== + +"@emotion/utils@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.0.0.tgz#abe06a83160b10570816c913990245813a2fd6af" + integrity sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA== + +"@emotion/weak-memoize@^0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" + integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@formatjs/intl-listformat@^1.3.7": + version "1.4.8" + resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-1.4.8.tgz#70b81005e7dcf74329cb5b314a940ce5fce36cd0" + integrity sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ== + dependencies: + "@formatjs/intl-utils" "^2.3.0" + +"@formatjs/intl-relativetimeformat@^4.5.7": + version "4.5.16" + resolved "https://registry.yarnpkg.com/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-4.5.16.tgz#7449cef3213dd66d25924ca41f125f87b58df95a" + integrity sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A== + dependencies: + "@formatjs/intl-utils" "^2.3.0" + +"@formatjs/intl-unified-numberformat@^3.0.4", "@formatjs/intl-unified-numberformat@^3.2.0": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.7.tgz#9995a24568908188e716d81a1de5b702b2ee00e2" + integrity sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag== + dependencies: + "@formatjs/intl-utils" "^2.3.0" + +"@formatjs/intl-utils@^2.0.4", "@formatjs/intl-utils@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@formatjs/intl-utils/-/intl-utils-2.3.0.tgz#2dc8c57044de0340eb53a7ba602e59abf80dc799" + integrity sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ== + +"@formatjs/macro@^0.2.6": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@formatjs/macro/-/macro-0.2.8.tgz#e43228e02d0159817734ad80cc0326cfefaeeb6c" + integrity sha512-5IBdn5+D8VGdi6Px0M/PidtqzHVrOj3dVJdV+YmWNRaWHdSvBd1wUd0gMcZnQXAxN+RzlGS/ddfOxFkjSlyQuA== + +"@fullcalendar/common@~5.7.0", "@fullcalendar/common@~5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/common/-/common-5.7.2.tgz#a9fae0159a26dd83b0b85df04df3fd66133fa433" + integrity sha512-0EDKmZBvTUFLvnJ7n6Vo6xMaPVm0jpYq739aSjwFPPXKgbjKFTPbWvLkaDpjJf7YhVebVSOLHbUC1Ky5wXsKvQ== + dependencies: + tslib "^2.0.3" + +"@fullcalendar/core@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/core/-/core-5.7.2.tgz#77bc6e0e8044e2e9350d5d6647128e24a0da9894" + integrity sha512-4yKLUnAEDDIePw9WJuT2sSvLWGrDGBhp20cjBmyxnJ/6eNN1RCex/OjSu7qDNHvzey+ncjlVWsY41bvZwhpfvg== + dependencies: + "@fullcalendar/common" "~5.7.2" + preact "^10.0.5" + tslib "^2.0.3" + +"@fullcalendar/daygrid@5.7.2", "@fullcalendar/daygrid@~5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/daygrid/-/daygrid-5.7.2.tgz#8576c65ffdcca5bc278e96c54cabbecaaabd229c" + integrity sha512-YHxOv3sLDwBWhb9+JBwQ/25VOJ0/22B6msRijIPbmJt5bljqYCIENQ4OLQ5UxZlkDC0Q9CSBg84oBtZYfW+kEg== + dependencies: + "@fullcalendar/common" "~5.7.2" + tslib "^2.0.3" + +"@fullcalendar/interaction@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/interaction/-/interaction-5.7.2.tgz#df06ab5fe71dff12ace85d61a1535fa24181acac" + integrity sha512-fnDcwE++0tie6wNVl/ZqUjgOQEekkdmbWH9hmcwE65y2aYMBX4IHE95MjMWVRAy2edahfAmy4xucQs2T0HYYSw== + dependencies: + "@fullcalendar/common" "~5.7.2" + tslib "^2.0.3" + +"@fullcalendar/list@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/list/-/list-5.7.2.tgz#7f9d6d3b86c2a8735ac03d2cddb0434a4a7ddc39" + integrity sha512-IV3SACoE02vheO3wEHjbaw1TGbjdjXHwD/+OtVOgoCNAxJVd0NI0d7kbIxVIniV2vrDPWkybCS1Abi2QANk3iQ== + dependencies: + "@fullcalendar/common" "~5.7.2" + tslib "^2.0.3" + +"@fullcalendar/premium-common@~5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/premium-common/-/premium-common-5.7.2.tgz#a42be3f0ffe8cd566512e40130fe116b21d36adb" + integrity sha512-tehsHwFxxKftCZT8JoJ6t84AOOG+7NpV9kTF/ICQV9ZBDK0S4O2UHwEiGfCY4Iz/l3YW3RVUgrO6S+/p8pnFuw== + dependencies: + "@fullcalendar/common" "~5.7.2" + tslib "^2.0.3" + +"@fullcalendar/react@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@fullcalendar/react/-/react-5.7.0.tgz#886ff7d283abf7c5e43ddf895ae88fa15d523039" + integrity sha512-9JdaN/pZXlUFyUe8H1NHIvEt5UVe2p/sctcfsQbKSPJ9NNTVmK+kk3qfUpOWEho6DYuFRLqYI+VwmeVM5mE8rA== + dependencies: + "@fullcalendar/common" "~5.7.0" + tslib "^2.0.3" + +"@fullcalendar/scrollgrid@~5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/scrollgrid/-/scrollgrid-5.7.2.tgz#c17878c467a4c88aa0e84322d01d7b86f51a247c" + integrity sha512-cU0khf72kP7m1cpSYYWSFnLNii36VRlg6Kdix/2mr3BBX74bjFsJfWkWKneO/bZzJgIBvKYehQ/SYiZNC77xuA== + dependencies: + "@fullcalendar/common" "~5.7.2" + "@fullcalendar/premium-common" "~5.7.2" + tslib "^2.0.3" + +"@fullcalendar/timegrid@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/timegrid/-/timegrid-5.7.2.tgz#0c2d832070744c154f71b4c442e59910407d954e" + integrity sha512-FRZRwVtlahljSILexvmhLg2LnFbJVCpeuzAIgdURmRoSDCCDuxoA6Z3l66a/QFp3LcFVbZbg7VjKibyvvB9b9A== + dependencies: + "@fullcalendar/common" "~5.7.2" + "@fullcalendar/daygrid" "~5.7.2" + tslib "^2.0.3" + +"@fullcalendar/timeline@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@fullcalendar/timeline/-/timeline-5.7.2.tgz#080cb863fc955843abdafc40733aa79924075c45" + integrity sha512-n8FaVuGdIZVztNM8f20/TP0emTS1rfCKFZmXtm566t7u3oKEzDBmgHIHDRgNZafTX1qmCSCP7ANkgi1UKN7E8g== + dependencies: + "@fullcalendar/common" "~5.7.2" + "@fullcalendar/premium-common" "~5.7.2" + "@fullcalendar/scrollgrid" "~5.7.2" + tslib "^2.0.3" + +"@gar/promisify@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" + integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== + +"@hapi/joi@^15.1.0": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + dependencies: + "@hapi/hoek" "^8.3.0" + +"@hookform/resolvers@1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-1.3.4.tgz#3129243180a5ecc4347b9e66ad693148215c2986" + integrity sha512-K56VLSInXNIT/r14pkzRn1FJclqzGOWqpe3Bf0kz2Hf98ZOmRRFh4fhB7F3ofqCQ03CEQQkV44CTg7ql6nEvEg== + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + +"@hypnosphi/create-react-context@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6" + integrity sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A== + dependencies: + gud "^1.0.0" + warning "^4.0.3" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.0", "@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.0", "@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.0", "@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.0", "@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/fs@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" + integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@pmmmwh/react-refresh-webpack-plugin@0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz#1eec460596d200c0236bf195b078a5d1df89b766" + integrity sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ== + dependencies: + ansi-html "^0.0.7" + error-stack-parser "^2.0.6" + html-entities "^1.2.1" + native-url "^0.2.6" + schema-utils "^2.6.5" + source-map "^0.7.3" + +"@popperjs/core@^2.9.2": + version "2.9.3" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.3.tgz#8b68da1ebd7fc603999cf6ebee34a4899a14b88e" + integrity sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ== + +"@react-leaflet/core@^1.0.2": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@react-leaflet/core/-/core-1.1.0.tgz#389b2b373f1da4caeb3c4cf6f33d84561c58d504" + integrity sha512-zFxMHgfjCi7khRVB7o7H8NoJl36NaezvfcaeEurVXx22lAGHFlTHiSuLOGA4tOiHj+Ep+Lo3uwUGJ3YM9BGkHg== + +"@rollup/plugin-node-resolve@^7.1.1": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" + integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q== + dependencies: + "@rollup/pluginutils" "^3.0.8" + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.14.2" + +"@rollup/plugin-replace@^2.3.1": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" + integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@surma/rollup-plugin-off-main-thread@^1.1.1": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz#e6786b6af5799f82f7ab3a82e53f6182d2b91a58" + integrity sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A== + dependencies: + ejs "^2.6.1" + magic-string "^0.25.0" + +"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" + integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== + +"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" + integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== + +"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" + integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" + integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== + +"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" + integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== + +"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" + integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== + +"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" + integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== + +"@svgr/babel-plugin-transform-svg-component@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" + integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== + +"@svgr/babel-preset@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" + integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" + "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" + "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" + "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" + "@svgr/babel-plugin-transform-svg-component" "^5.5.0" + +"@svgr/core@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" + integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== + dependencies: + "@svgr/plugin-jsx" "^5.5.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" + +"@svgr/hast-util-to-babel-ast@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" + integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== + dependencies: + "@babel/types" "^7.12.6" + +"@svgr/plugin-jsx@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" + integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== + dependencies: + "@babel/core" "^7.12.3" + "@svgr/babel-preset" "^5.5.0" + "@svgr/hast-util-to-babel-ast" "^5.5.0" + svg-parser "^2.0.2" + +"@svgr/plugin-svgo@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" + integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== + dependencies: + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" + +"@svgr/webpack@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" + integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== + dependencies: + "@babel/core" "^7.12.3" + "@babel/plugin-transform-react-constant-elements" "^7.12.1" + "@babel/preset-env" "^7.12.1" + "@babel/preset-react" "^7.12.5" + "@svgr/core" "^5.5.0" + "@svgr/plugin-jsx" "^5.5.0" + "@svgr/plugin-svgo" "^5.5.0" + loader-utils "^2.0.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@transloadit/prettier-bytes@0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz#cdb5399f445fdd606ed833872fa0cabdbc51686b" + integrity sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.3", "@types/babel__core@^7.1.7": + version "7.1.15" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024" + integrity sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/eslint@^7.2.6": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.28.0.tgz#7e41f2481d301c68e14f483fe10b017753ce8d5a" + integrity sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/glob@^7.1.1": + version "7.1.4" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" + integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/hoist-non-react-statics@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/html-minifier-terser@^5.0.0": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" + integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== + +"@types/invariant@^2.2.31": + version "2.2.35" + resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.35.tgz#cd3ebf581a6557452735688d8daba6cf0bd5a3be" + integrity sha512-DxX1V9P8zdJPYQat1gHyY0xj3efl8gnMVjiM9iCY6y27lj+PoQWkgjt8jDqmovPqULkKVpKRg8J36iQiA+EtEg== + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/lodash@^4.14.105", "@types/lodash@^4.14.165": + version "4.14.172" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.172.tgz#aad774c28e7bfd7a67de25408e03ee5a8c3d028a" + integrity sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw== + +"@types/minimatch@*": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/node@*": + version "16.7.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.10.tgz#7aa732cc47341c12a16b7d562f519c2383b6d4fc" + integrity sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" + integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== + +"@types/prop-types@*": + version "15.7.4" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" + integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== + +"@types/q@^1.5.1": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" + integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== + +"@types/react@*": + version "17.0.19" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.19.tgz#8f2a85e8180a43b57966b237d26a29481dacc991" + integrity sha512-sX1HisdB1/ZESixMTGnMxH9TDe8Sk709734fEQZzCV/4lSu9kJCPbo2PbTRoZM+53Pp0P10hYVyReUueGwUi4A== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^16.0.40": + version "16.14.14" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.14.tgz#853de95a32a6a0e719192e222eacad024add2b8e" + integrity sha512-uwIWDYW8LznHzEMJl7ag9St1RsK0gw/xaFZ5+uI1ZM1HndwUgmPH3/wQkSb87GkOVg7shUxnpNW8DcN0AzvG5Q== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/resolve@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" + integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== + dependencies: + "@types/node" "*" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@types/schema-utils@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/schema-utils/-/schema-utils-1.0.0.tgz#295d36f01e2cb8bc3207ca1d9a68e210db6b40cb" + integrity sha512-YesPanU1+WCigC/Aj1Mga8UCOjHIfMNHZ3zzDsUY7lI8GlKnh/Kv2QwJOQ+jNQ36Ru7IfzSedlG14hppYaN13A== + +"@types/sortablejs@^1.10.6": + version "1.10.7" + resolved "https://registry.yarnpkg.com/@types/sortablejs/-/sortablejs-1.10.7.tgz#ab9039c85429f0516955ec6dbc0bb20139417b15" + integrity sha512-lGCwwgpj8zW/ZmaueoPVSP7nnc9t8VqVWXS+ASX3eoUUENmiazv0rlXyTRludXzuX9ALjPsMqBu85TgJNWbTOg== + +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/tapable@^1", "@types/tapable@^1.0.5": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" + integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== + +"@types/uglify-js@*": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" + integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== + dependencies: + source-map "^0.6.1" + +"@types/webpack-sources@*": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" + integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@^4.41.8": + version "4.41.30" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.30.tgz#fd3db6d0d41e145a8eeeafcd3c4a7ccde9068ddc" + integrity sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA== + dependencies: + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + anymatch "^3.0.0" + source-map "^0.6.0" + +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^4.5.0": + version "4.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz#4a0c1ae96b953f4e67435e20248d812bfa55e4fb" + integrity sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g== + dependencies: + "@typescript-eslint/experimental-utils" "4.30.0" + "@typescript-eslint/scope-manager" "4.30.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.30.0", "@typescript-eslint/experimental-utils@^4.0.1": + version "4.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz#9e49704fef568432ae16fc0d6685c13d67db0fd5" + integrity sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.30.0" + "@typescript-eslint/types" "4.30.0" + "@typescript-eslint/typescript-estree" "4.30.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/experimental-utils@^3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" + integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/typescript-estree" "3.10.1" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.5.0": + version "4.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.30.0.tgz#6abd720f66bd790f3e0e80c3be77180c8fcb192d" + integrity sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg== + dependencies: + "@typescript-eslint/scope-manager" "4.30.0" + "@typescript-eslint/types" "4.30.0" + "@typescript-eslint/typescript-estree" "4.30.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.30.0": + version "4.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz#1a3ffbb385b1a06be85cd5165a22324f069a85ee" + integrity sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A== + dependencies: + "@typescript-eslint/types" "4.30.0" + "@typescript-eslint/visitor-keys" "4.30.0" + +"@typescript-eslint/types@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" + integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== + +"@typescript-eslint/types@4.30.0": + version "4.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.30.0.tgz#fb9d9b0358426f18687fba82eb0b0f869780204f" + integrity sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw== + +"@typescript-eslint/typescript-estree@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" + integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== + dependencies: + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/visitor-keys" "3.10.1" + debug "^4.1.1" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/typescript-estree@4.30.0": + version "4.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz#ae57833da72a753f4846cd3053758c771670c2ac" + integrity sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg== + dependencies: + "@typescript-eslint/types" "4.30.0" + "@typescript-eslint/visitor-keys" "4.30.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" + integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== + dependencies: + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/visitor-keys@4.30.0": + version "4.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz#a47c6272fc71b0c627d1691f68eaecf4ad71445e" + integrity sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw== + dependencies: + "@typescript-eslint/types" "4.30.0" + eslint-visitor-keys "^2.0.0" + +"@ucast/core@^1.0.0", "@ucast/core@^1.4.1", "@ucast/core@^1.6.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@ucast/core/-/core-1.10.1.tgz#03a77a7804bcb5002a5cad3681e86cd1897e2e1f" + integrity sha512-sXKbvQiagjFh2JCpaHUa64P4UdJbOxYeC5xiZFn8y6iYdb0WkismduE+RmiJrIjw/eLDYmIEXiQeIYYowmkcAw== + +"@ucast/js@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@ucast/js/-/js-3.0.2.tgz#862838ee68112c6c262d4f4693cc592ba83157e0" + integrity sha512-zxNkdIPVvqJjHI7D/iK8Aai1+59yqU+N7bpHFodVmiTN7ukeNiGGpNmmSjQgsUw7eNcEBnPrZHNzp5UBxwmaPw== + dependencies: + "@ucast/core" "^1.0.0" + +"@ucast/mongo2js@^1.3.0": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@ucast/mongo2js/-/mongo2js-1.3.3.tgz#a683a59cea22887a72e4302f3826e41ccf51dbbe" + integrity sha512-sBPtMUYg+hRnYeVYKL+ATm8FaRPdlU9PijMhGYKgsPGjV9J4Ks41ytIjGayvKUnBOEhiCaKUUnY4qPeifdqATw== + dependencies: + "@ucast/core" "^1.6.1" + "@ucast/js" "^3.0.0" + "@ucast/mongo" "^2.4.0" + +"@ucast/mongo@^2.4.0": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@ucast/mongo/-/mongo-2.4.2.tgz#a8a1c32e65ccab623be023e6cedb11d136d50f19" + integrity sha512-/zH1TdBJlYGKKD+Wh0oyD+aBvDSWrwHcD8b4tUL9UgHLhzHtkEnMVFuxbw3SRIRsAa01wmy06+LWt+WoZdj1Bw== + dependencies: + "@ucast/core" "^1.4.1" + +"@uppy/aws-s3-multipart@^1.8.6": + version "1.8.18" + resolved "https://registry.yarnpkg.com/@uppy/aws-s3-multipart/-/aws-s3-multipart-1.8.18.tgz#d0b3ede025d06b615ad3df90c3771eed38f68d87" + integrity sha512-m+IJSsDF253igTlQb2vgCTetqd+qgNIBX48i8HGnLj4rBfRd4FjpBpcV7DgfAn7QVOfrQOgOJoz9cGtXdaZ3lA== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/utils" "^3.6.2" + +"@uppy/aws-s3@^1.7.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@uppy/aws-s3/-/aws-s3-1.8.0.tgz#3f1ffdc01891011e6d68a9020736cf6e705ab0fb" + integrity sha512-8fSHgoNcnZoFk6PyciRzGXj00Uhv+cXIgweuZXnRAJ8NB1ZLiY+R39aKzESG4wrgjbWklaohQtUpPdcGbvMoyg== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/utils" "^3.6.2" + "@uppy/xhr-upload" "^1.7.5" + cuid "^2.1.1" + qs-stringify "^1.1.0" + url-parse "^1.4.7" + +"@uppy/companion-client@^1.10.2", "@uppy/companion-client@^1.5.4": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@uppy/companion-client/-/companion-client-1.10.2.tgz#a640b3ef90b91751c49bf4b6a7a63c2ebac294f6" + integrity sha512-5RmsNF9UBvUqmqQz48SoiLvkpGmvQTgwNM4bJX8xwVozv/6goRpFrsMJGLwqFcHS/9xj6STKOqrM582g8exVwQ== + dependencies: + "@uppy/utils" "^3.6.2" + namespace-emitter "^2.0.1" + qs-stringify "^1.1.0" + url-parse "^1.4.7" + +"@uppy/core@^1.13.2": + version "1.20.1" + resolved "https://registry.yarnpkg.com/@uppy/core/-/core-1.20.1.tgz#23ca28d4388c29987fdc4e65a968474dcdc303c6" + integrity sha512-Z0yGixSNOSMgT/2aLylXQaEBB6X32RqGLQUgDJDK08jI0ZcMha5glNhD2RU1Gs9noQOAR/f7QwBssSnYJUNRfg== + dependencies: + "@transloadit/prettier-bytes" "0.0.7" + "@uppy/store-default" "^1.2.7" + "@uppy/utils" "^3.6.2" + cuid "^2.1.1" + lodash.throttle "^4.1.1" + mime-match "^1.0.2" + namespace-emitter "^2.0.1" + preact "8.2.9" + +"@uppy/dashboard@^1.12.8": + version "1.21.1" + resolved "https://registry.yarnpkg.com/@uppy/dashboard/-/dashboard-1.21.1.tgz#c920d3af69b61413ef109608dde9b12d3c8a434b" + integrity sha512-psMwBVxxhAZxYkRds4e//+Sx3zkFYRnYpt4jaF4hmwpL9SehlyhQKwaB/scZz/O4yshmgTN8Sri0mYK5FSh5SQ== + dependencies: + "@transloadit/prettier-bytes" "0.0.7" + "@uppy/informer" "^1.6.6" + "@uppy/provider-views" "^1.12.3" + "@uppy/status-bar" "^1.9.6" + "@uppy/thumbnail-generator" "^1.7.11" + "@uppy/utils" "^3.6.2" + classnames "^2.2.6" + cuid "^2.1.1" + is-shallow-equal "^1.0.1" + lodash.debounce "^4.0.8" + lodash.throttle "^4.1.1" + memoize-one "^5.0.4" + preact "8.2.9" + resize-observer-polyfill "^1.5.0" + +"@uppy/drag-drop@^1.4.19": + version "1.4.31" + resolved "https://registry.yarnpkg.com/@uppy/drag-drop/-/drag-drop-1.4.31.tgz#fe342e2d653c8454c8dd9be1e95dbed5726772a6" + integrity sha512-a9/WKOdAhz9mfFYI9JJNEGLP3TI8RQChndpFkjlxbsD82x2WHSB1TyWTslMdSCK6Ed3pV5IYyBVqDGsTqgveYg== + dependencies: + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/dropbox@^1.4.16": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@uppy/dropbox/-/dropbox-1.5.2.tgz#aed0455fadfa21014e78ea70934b09af34a5afa7" + integrity sha512-DSuLUozHsg72qLzlZ1b1qZ9L9gdKFdtgkd2PURpOAJPRHHNchCQDdkBSPS8aHNAuErDKFxg71DcO3CIzbZ054A== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/provider-views" "^1.12.3" + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/facebook@^1.1.16": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@uppy/facebook/-/facebook-1.2.2.tgz#c0a8467e053cb0d741133fb20fc0c04bc3c8e8a1" + integrity sha512-DoOQJjhy4y4DRK5iKLU9ayub4ao7cAdBd0lOsGTjyFtWzdnK9RcisZ7FDlXe2QK4ekdiFFdnBE3mOYTgYzw3gg== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/provider-views" "^1.12.3" + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/file-input@^1.4.17": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@uppy/file-input/-/file-input-1.5.2.tgz#0f9797ae9053946ba16d73ee2606c69afc64b872" + integrity sha512-EI7IROt2qyGm3EoGDmb4UiWNe/P8YsGAcoCZZqFlTLkBlK7Yen5yxzQ4+KH7jWZYM6BynYnHl18aMdRcDWf/UA== + dependencies: + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/form@^1.3.20": + version "1.3.31" + resolved "https://registry.yarnpkg.com/@uppy/form/-/form-1.3.31.tgz#13b3537d2fb8b62ed3186e2190da85261dbf11af" + integrity sha512-FyhJSJgdYDkLAuMqYo1d7f469PbbU3wrLbyoSDtZTEDBUXeE7b4g3ygqrFhlZsxbpwGvO/ygg2/8z0Dlvt7dBQ== + dependencies: + "@uppy/utils" "^3.6.2" + get-form-data "^2.0.0" + +"@uppy/golden-retriever@^1.3.19": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@uppy/golden-retriever/-/golden-retriever-1.4.2.tgz#ff994721a391db23f6229c4dfedeaf3f9a6c4660" + integrity sha512-beMRrXGZ/qdLlKW5vQN8TuXFNoeGdFnBnriKxDHMYGXEo+fKTLTqXDeFgPYqXa337H7sb1StdzCnb8YDYyDPnQ== + dependencies: + "@transloadit/prettier-bytes" "0.0.7" + "@uppy/utils" "^3.6.2" + lodash.throttle "^4.1.1" + +"@uppy/google-drive@^1.5.16": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@uppy/google-drive/-/google-drive-1.7.2.tgz#59869c965de9c197aa052cfda3f885df1f9f96c4" + integrity sha512-29w2e36gX4394ly5t+JMhg4WVr2vpo7a46PLHKZlNwbiPKrEqBUyLy/seCxHUH+6qNtrHFIWQoLTwrlMCEOi3w== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/provider-views" "^1.12.3" + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/informer@^1.5.11", "@uppy/informer@^1.6.6": + version "1.6.6" + resolved "https://registry.yarnpkg.com/@uppy/informer/-/informer-1.6.6.tgz#94090ab74997f10c2a2151c04b1c75484bdfe7eb" + integrity sha512-9rZoAqNrKQN/HINnGg8rGnKEliLgc+9/tQQ0f9QcBgRIu/rnbBCTwS+qnGGdjYBdEJTSbHx+U7X9ufjrrjB+CA== + dependencies: + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/instagram@^1.4.16": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@uppy/instagram/-/instagram-1.5.2.tgz#6141457e3d0b2fb5812d5c49b808d430cd66dd33" + integrity sha512-hfBfO3P++sI5LNvtpHb6h5Ow/nOu2LgPeIQZ2xaeeQXjDg+wt8oToF25z+LSwXi69QxCh3mPpWNIGbq/N96Cfw== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/provider-views" "^1.12.3" + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/onedrive@^1.1.16": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@uppy/onedrive/-/onedrive-1.2.2.tgz#476872b02775521d78f0d3649efec5221ddae817" + integrity sha512-o1k2/2Sh4BwxzB0c5iSheTCotoSZXsnIdNDEsnO8WJiSclnody3XUuh+D6O5UeQxCFCFS13KJ6RebLGN8t/srQ== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/provider-views" "^1.12.3" + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/progress-bar@^1.3.19": + version "1.3.30" + resolved "https://registry.yarnpkg.com/@uppy/progress-bar/-/progress-bar-1.3.30.tgz#5bdbc8aab782df15def535c6be47d45ca07964da" + integrity sha512-MAn20wBMzKc1p9M/Mot4+bV/707EO/DVgoFcvoP8rmA5oZOGMINpvFGR+rUtWQoBFMvKtvs/Wkp8mcR22rCMrw== + dependencies: + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/provider-views@^1.12.3", "@uppy/provider-views@^1.7.7": + version "1.12.3" + resolved "https://registry.yarnpkg.com/@uppy/provider-views/-/provider-views-1.12.3.tgz#aecfed615bc174abc548539a3c17b39e455aed0e" + integrity sha512-r2kra3IftmGLeKMEgZbmQM1qXixulWUUzydgpHcZqJOpeNIjJcpspJruYRctrVqaLz/8asw87V4KxDk0U4xGzw== + dependencies: + "@uppy/utils" "^3.6.2" + classnames "^2.2.6" + preact "8.2.9" + +"@uppy/react@1.10.8": + version "1.10.8" + resolved "https://registry.yarnpkg.com/@uppy/react/-/react-1.10.8.tgz#260bc37693c8a1aa6f719cada22b67414913466d" + integrity sha512-FO6PThrYZaEGZd7G3YooHHKsxhZqF6/Euy+jI8CLhROf78Kg0Gr3dURhwaH902NgPrA5Yfa6xRSC1d4etwMktg== + dependencies: + "@uppy/dashboard" "^1.12.8" + "@uppy/drag-drop" "^1.4.19" + "@uppy/progress-bar" "^1.3.19" + "@uppy/status-bar" "^1.7.6" + "@uppy/utils" "^3.2.3" + prop-types "^15.6.1" + +"@uppy/redux-dev-tools@^1.3.5": + version "1.3.9" + resolved "https://registry.yarnpkg.com/@uppy/redux-dev-tools/-/redux-dev-tools-1.3.9.tgz#987020ff58bbe8f2093e8cd4b66aeded7c06d62d" + integrity sha512-OVugq1AbIZ89nRifl5suv7AiC2uE5Ot4QbaTgoS8l0DwMMRpYKYAOc904Wj9F9cTZhaUBXEmTqKlZgL9NVK3FQ== + +"@uppy/screen-capture@^1.0.8": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@uppy/screen-capture/-/screen-capture-1.1.0.tgz#adbf3378ae35dc4548cdaac9a1b9139ce082ccee" + integrity sha512-x3LmskHdkSeE+RCUDve+jsxiD9D0MVGk1PivZjnyouTz81QrWtkEOikuJc9hyddTsDUiisxdaOVCj3eJwDWcVQ== + dependencies: + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/status-bar@^1.7.6", "@uppy/status-bar@^1.9.6": + version "1.9.6" + resolved "https://registry.yarnpkg.com/@uppy/status-bar/-/status-bar-1.9.6.tgz#a04f699444fc7f156c260e5b7c001125e5190a5f" + integrity sha512-U/KPs5SwZ5d4hJFiCNAdriGHSk1Uhrl+iQmpJS8hoM+8r8rPfwScdua2/ehLuH69Ymwp6k7DpK2DU7UG2XZ+ag== + dependencies: + "@transloadit/prettier-bytes" "0.0.7" + "@uppy/utils" "^3.6.2" + classnames "^2.2.6" + lodash.throttle "^4.1.1" + preact "8.2.9" + +"@uppy/store-default@^1.2.4", "@uppy/store-default@^1.2.7": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@uppy/store-default/-/store-default-1.2.7.tgz#41a0b1579f4d5b86c236e7f5e52fdc01960bb011" + integrity sha512-58IG9yk/i/kYQ9uEwAwMFl1H2V3syOoODrYoFfVHlxaqv+9MkXBg2tHE2gk40iaAIxcCErcPxZkBOvkqzO1SQA== + +"@uppy/store-redux@^1.2.4": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@uppy/store-redux/-/store-redux-1.2.8.tgz#baef9eed933b316cd2d79478a239cd5a5c8b9a85" + integrity sha512-9lPPQf8lyADjrjNXe7u8j+Pn2MeIlUXANT8vHXy2WnbYX+WL/r7gqNUd8kiKoMksX1E+gA6VH5rmj6ysL9xVvg== + dependencies: + cuid "^2.1.1" + +"@uppy/thumbnail-generator@^1.6.7", "@uppy/thumbnail-generator@^1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@uppy/thumbnail-generator/-/thumbnail-generator-1.7.11.tgz#c6f49be90469f220a419ac43c129bf835cc11c41" + integrity sha512-qo9ZD8ByDMM6gIJ4JPN0V/dWlruYMhmYifhUvDUu0qhPAOTJAqh2hLQ+dlmUXTns8RnDorCXScreICSQ09FuLQ== + dependencies: + "@uppy/utils" "^3.6.2" + exifr "^6.0.0" + math-log2 "^1.0.1" + +"@uppy/transloadit@^1.6.11": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@uppy/transloadit/-/transloadit-1.7.0.tgz#39393afd71be47e0f6363618222f3cd0c82f9412" + integrity sha512-vQOQ+LNLAvkbiD8Zf6TJW4QeYawkADnHwFEj7XiI9npkzC8Lbt3XOLSTibj1vmICVgk277TsqnX3MUhK6+cX+A== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/provider-views" "^1.12.3" + "@uppy/tus" "^1.9.2" + "@uppy/utils" "^3.6.2" + component-emitter "^1.2.1" + socket.io-client "~2.2.0" + url-parse "^1.4.7" + +"@uppy/tus@^1.7.7", "@uppy/tus@^1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@uppy/tus/-/tus-1.9.2.tgz#d6e4fa715bc386daa8e7be6e80eb93e4f2abb46e" + integrity sha512-ejaczrrh6w514XGd3kiDD1PJ8tIgmnV50fuyRwsybDj8HQheKAEu6GsJjxcnctP8NcSx4HNDhazVLPj6+A4p9Q== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/utils" "^3.6.2" + tus-js-client "^2.1.1" + +"@uppy/url@^1.5.11": + version "1.5.23" + resolved "https://registry.yarnpkg.com/@uppy/url/-/url-1.5.23.tgz#08622157fa124fc62bab2014a1bc9c712d5b2625" + integrity sha512-pRmRccuJv2Ad57jPgYckbvozeUhkMouBv2du9+BW9Sr7E5aJPbujwejVOzDcRion7TEH6YvxX1xZoWrXZ/IYOQ== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/utils@^3.2.3", "@uppy/utils@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@uppy/utils/-/utils-3.6.2.tgz#78b02455b9c469d927d22736be5b68cda2600826" + integrity sha512-wGTZma7eywIojfuE1vXlT0fxPSpmCRMkfgFWYc+6TL2FfGqWInmePoB+yal6/M2AnjeKHz6XYMhIpZkjOxFvcw== + dependencies: + abortcontroller-polyfill "^1.4.0" + lodash.throttle "^4.1.1" + +"@uppy/webcam@^1.7.0": + version "1.8.13" + resolved "https://registry.yarnpkg.com/@uppy/webcam/-/webcam-1.8.13.tgz#33a6d8c771c6b589eafee94eec8ed854a435c39d" + integrity sha512-DN9hPe9u9FRerGXTl4TgTMOYy2aMCXCK5Nu7FgMf7T+OT5qJmQcQ6ty4rEVlDTWdm45zmIpV1OG/dUb+iLcCjQ== + dependencies: + "@uppy/utils" "^3.6.2" + preact "8.2.9" + +"@uppy/xhr-upload@^1.6.4", "@uppy/xhr-upload@^1.7.5": + version "1.7.5" + resolved "https://registry.yarnpkg.com/@uppy/xhr-upload/-/xhr-upload-1.7.5.tgz#990ba3e698503bd51534a59fd426096e37ef942b" + integrity sha512-Itnc9j9k/PemcmT5KrZ1BEw3pTc6WJg0yyyOcE+hLO8Hjv60Fm7c/I2ZknarOroIjT1WiTSyuxTBPp+9UGkxNA== + dependencies: + "@uppy/companion-client" "^1.10.2" + "@uppy/utils" "^3.6.2" + cuid "^2.1.1" + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + dependencies: + "@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@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + dependencies: + "@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@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + dependencies: + "@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@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + dependencies: + "@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@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + dependencies: + "@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@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + dependencies: + "@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@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + dependencies: + "@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@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abortcontroller-polyfill@^1.4.0: + version "1.7.3" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz#1b5b487bd6436b5b764fd52a612509702c3144b5" + integrity sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" + integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== + +address@1.1.2, address@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + +adjust-sourcemap-loader@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" + integrity sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw== + dependencies: + loader-utils "^2.0.0" + regex-parser "^2.2.11" + +adler-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25" + integrity sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU= + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +after@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" + integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + 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@^8.0.1: + version "8.6.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" + integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + +animate.css@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/animate.css/-/animate.css-4.1.1.tgz#614ec5a81131d7e4dc362a58143f7406abd68075" + integrity sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ== + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html@0.0.7, ansi-html@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apexcharts@3.23.0: + version "3.23.0" + resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-3.23.0.tgz#12877aa789d658aef5eb930af6c3b8850fefd925" + integrity sha512-1mV6qouuopvYR6UFSXi/Ge4jRMe//zyAN3aK05mAs4Iuet8mA0w31Q6OU6syD77bawt9p3YKNOmNF7OO2u9w0g== + dependencies: + svg.draggable.js "^2.2.2" + svg.easing.js "^2.0.0" + svg.filter.js "^2.0.2" + svg.pathmorphing.js "^0.1.3" + svg.resize.js "^1.4.3" + svg.select.js "^3.0.1" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" + integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + function-bind "^1.1.1" + +arraybuffer.slice@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" + integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== + +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + +asap@~2.0.3, asap@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autoprefixer@^9.6.1: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +availity-reactstrap-validation-safe@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/availity-reactstrap-validation-safe/-/availity-reactstrap-validation-safe-2.6.1.tgz#c5f0f0fcefe39a0dcb43b0b3614a826e15e764cd" + integrity sha512-+vvE4fh848vRgQO+j1v3SSO4b3aHKkBpY/bBI3lgl85YaqnAVTUe7xt07cJsjM8Xv1YBEn4NChsqUR35HWE8RQ== + dependencies: + babel-runtime "^6.26.0" + classnames "^2.2.6" + lodash "^4.17.10" + moment "^2.22.2" + prop-types "^15.6.2" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +axe-core@^4.0.2: + version "4.3.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.3.tgz#b55cd8e8ddf659fe89b064680e1c6a4dceab0325" + integrity sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA== + +axios-mock-adapter@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.19.0.tgz#9d72e321a6c5418e1eff067aa99761a86c5188a4" + integrity sha512-D+0U4LNPr7WroiBDvWilzTMYPYTuZlbo6BI8YHZtj7wYQS8NkARlP9KBt8IWWHTQJ0q/8oZ0ClPBtKCCkx8cQg== + dependencies: + fast-deep-equal "^3.1.3" + is-buffer "^2.0.3" + +axios@0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-extract-comments@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" + integrity sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== + dependencies: + babylon "^6.18.0" + +babel-jest@^26.6.0, babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-loader@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== + dependencies: + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" + pify "^4.0.1" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@2.8.0, babel-plugin-macros@^2.6.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-named-asset-import@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" + integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== + +babel-plugin-polyfill-corejs2@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.2" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz#68cb81316b0e8d9d721a92e0009ec6ecd4cd2ca9" + integrity sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.14.0" + +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + +babel-plugin-react-intl@5.1.18: + version "5.1.18" + resolved "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-5.1.18.tgz#7713c1fdf0055b606d67e2d1624a2e583a1fcdb7" + integrity sha512-tzzZoGDNQOiHmGFh+NPQJDpC10RbKlfw1CBVfALulqRa6UGkAv5eMs9sirxjhD3HryHPbYZ4x5FNdbzOyG2GJw== + dependencies: + "@babel/core" "^7.7.2" + "@babel/helper-plugin-utils" "^7.0.0" + "@types/babel__core" "^7.1.3" + "@types/schema-utils" "^1.0.0" + fs-extra "^8.1.0" + intl-messageformat-parser "^3.6.4" + schema-utils "^2.2.0" + +"babel-plugin-styled-components@>= 1": + version "1.13.2" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.13.2.tgz#ebe0e6deff51d7f93fceda1819e9b96aeb88278d" + integrity sha512-Vb1R3d4g+MUfPQPVDMCGjm3cDocJEUTR7Xq7QS95JWWeksN1wdFRYpD2kulDgI3Huuaf1CZd+NK4KQmqUFh5dA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-module-imports" "^7.0.0" + babel-plugin-syntax-jsx "^6.18.0" + lodash "^4.17.11" + +babel-plugin-syntax-jsx@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-react-remove-prop-types@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +babel-preset-react-app@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz#689b60edc705f8a70ce87f47ab0e560a317d7045" + integrity sha512-itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg== + dependencies: + "@babel/core" "7.12.3" + "@babel/plugin-proposal-class-properties" "7.12.1" + "@babel/plugin-proposal-decorators" "7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.12.1" + "@babel/plugin-proposal-numeric-separator" "7.12.1" + "@babel/plugin-proposal-optional-chaining" "7.12.1" + "@babel/plugin-transform-flow-strip-types" "7.12.1" + "@babel/plugin-transform-react-display-name" "7.12.1" + "@babel/plugin-transform-runtime" "7.12.1" + "@babel/preset-env" "7.12.1" + "@babel/preset-react" "7.12.1" + "@babel/preset-typescript" "7.12.1" + "@babel/runtime" "7.12.1" + babel-plugin-macros "2.8.0" + babel-plugin-transform-react-remove-prop-types "0.4.24" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-arraybuffer@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + 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" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +better-assert@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI= + dependencies: + callsite "1.0.0" + +bfj@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.0.2.tgz#1988ce76f3add9ac2913fd8ba47aad9e651bfbb2" + integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== + dependencies: + bluebird "^3.5.5" + check-types "^11.1.1" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +blob@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" + integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +bootstrap@4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.5.2.tgz#a85c4eda59155f0d71186b6e6ad9b875813779ab" + integrity sha512-vlGn0bcySYl/iV+BGA544JkkZP5LB3jsmkeKLFQakCOwCM3AOk7VkldBz4jrzSe+Z0Ezn99NVXa1o45cQY4R6A== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + 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" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + 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@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@4.14.2: + version "4.14.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.2.tgz#1b3cec458a1ba87588cc5e9be62f19b6d48813ce" + integrity sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw== + dependencies: + caniuse-lite "^1.0.30001125" + electron-to-chromium "^1.3.564" + escalade "^3.0.2" + node-releases "^1.1.61" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.16.8, browserslist@^4.6.2, browserslist@^4.6.4: + version "4.16.8" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" + integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== + dependencies: + caniuse-lite "^1.0.30001251" + colorette "^1.3.0" + electron-to-chromium "^1.3.811" + escalade "^3.1.1" + node-releases "^1.1.75" + +bs-stepper@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/bs-stepper/-/bs-stepper-1.7.0.tgz#bfa4cc51c4e67957caae57f5bdcba1977186bac1" + integrity sha512-+DX7UKKgw2GI6ucsSCRd19VHYrxf/8znRCLs1lQVVLxz+h7EqgIOxoHcJ0/QTaaNoR9Cwg78ydo6hXIasyd3LA== + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + +buffer-from@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-0.1.2.tgz#15f4b9bcef012044df31142c14333caf6e0260d0" + integrity sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + 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" + +cacache@^15.0.5: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + 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" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsite@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + +camelcase@^6.0.0, camelcase@^6.1.0, camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +camelize@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" + integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001251: + version "1.0.30001252" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz#cb16e4e3dafe948fc4a9bb3307aea054b912019a" + integrity sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +case-sensitive-paths-webpack-plugin@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" + integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +cfb@^1.1.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.2.0.tgz#6a4d0872b525ed60349e1ef51fb4b0bf73eca9a8" + integrity sha512-sXMvHsKCICVR3Naq+J556K+ExBo9n50iKl6LGarlnvuA2035uMlGA/qVrc0wQtow5P1vJEw9UyrKLCbtIKz+TQ== + dependencies: + adler-32 "~1.2.0" + crc-32 "~1.2.0" + printj "~1.1.2" + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + 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" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chart.js@2.9.4: + version "2.9.4" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.9.4.tgz#0827f9563faffb2dc5c06562f8eb10337d5b9684" + integrity sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A== + dependencies: + chartjs-color "^2.1.0" + moment "^2.10.2" + +chartjs-color-string@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz#1df096621c0e70720a64f4135ea171d051402f71" + integrity sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A== + dependencies: + color-name "^1.0.0" + +chartjs-color@^2.1.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.4.1.tgz#6118bba202fe1ea79dd7f7c0f9da93467296c3b0" + integrity sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w== + dependencies: + chartjs-color-string "^0.6.0" + color-convert "^1.9.3" + +check-types@^11.1.1: + version "11.1.2" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" + integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ== + +"chokidar@>=2.0.0 <4.0.0", chokidar@^3.4.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + 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" + optionalDependencies: + fsevents "^1.2.7" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chroma-js@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-2.1.0.tgz#c0be48a21fe797ef8965608c1c4f911ef2da49d5" + integrity sha512-uiRdh4ZZy+UTPSrAdp8hqEdVb1EllLtTHOt5TMaOjJUvi+O54/83Fc5K2ld1P+TJX+dw5B+8/sCgzI6eaur/lg== + dependencies: + cross-env "^6.0.3" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + +classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + +clean-css@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cleave.js@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/cleave.js/-/cleave.js-1.6.0.tgz#0e4e011943bdd70c67c9dcf4ff800ce710529171" + integrity sha512-ivqesy3j5hQVG3gywPfwKPbi/7ZSftY/UNp5uphnqjr25yI2CP8FS2ODQPzuLXXnNLi29e2+PgPkkiKUXLs/Nw== + +clipboard@^2.0.0: + version "2.0.8" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" + integrity sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ== + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clsx@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +codepage@~1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.14.0.tgz#8cbe25481323559d7d307571b0fff91e7a1d2f99" + integrity sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k= + dependencies: + commander "~2.14.1" + exit-on-epipe "~1.0.1" + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.3: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" + integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + +colorette@^1.2.1, colorette@^1.2.2, colorette@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" + integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== + +combine-errors@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/combine-errors/-/combine-errors-3.0.3.tgz#f4df6740083e5703a3181110c2b10551f003da86" + integrity sha1-9N9nQAg+VwOjGBEQwrEFUfAD2oY= + dependencies: + custom-error-instance "2.1.1" + lodash.uniqby "4.5.0" + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.15.1, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@~2.14.1: + version "2.14.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" + integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw== + +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +common-tags@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" + integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= + +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + +component-emitter@^1.2.1, component-emitter@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= + +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" + integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= + dependencies: + arity-n "^1.0.4" + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" + integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= + +convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + 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@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-to-clipboard@^3: + version "3.3.1" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" + integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== + dependencies: + toggle-selection "^1.0.6" + +core-js-compat@^3.14.0, core-js-compat@^3.16.0, core-js-compat@^3.6.2: + version "3.16.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.16.4.tgz#cf28abe0e45a43645b04b2c1a073efa03d0b3b26" + integrity sha512-IzCSomxRdahCYb6G3HiN6pl3JCiM0NMunRcNa1pIeC7g17Vd6Ue3AT9anQiENPIm/svThUVer1pIbLMDERIsFw== + dependencies: + browserslist "^4.16.8" + semver "7.0.0" + +core-js-pure@^3.16.0: + version "3.16.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.16.4.tgz#8b23122628d88c560f209812b9b2d9ebbce5e29c" + integrity sha512-bY1K3/1Jy9D8Jd12eoeVahNXHLfHFb4TXWI8SQ4y8bImR9qDPmGITBAfmcffTkgUvbJn87r8dILOTWW5kZzkgA== + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.6.4, core-js@^3.6.5: + version "3.16.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.4.tgz#0fb1029a554fc2688c0963d7c900e188188a78e0" + integrity sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +crc-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + 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-env@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941" + integrity sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag== + dependencies: + cross-spawn "^7.0.0" + +cross-fetch@^3.0.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" + integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== + dependencies: + node-fetch "2.6.1" + +cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + 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" + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + +css-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== + dependencies: + postcss "^7.0.5" + +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU= + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.3.0.tgz#c888af64b2a5b2e85462c72c0f4a85c7e2e0821e" + integrity sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg== + dependencies: + camelcase "^6.0.0" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^2.0.0" + postcss "^7.0.32" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.3" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.1" + semver "^7.3.2" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== + dependencies: + postcss "^7.0.5" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + +css-to-react-native@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756" + integrity sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ== + dependencies: + camelize "^1.0.0" + css-color-keywords "^1.0.0" + postcss-value-parser "^4.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-unit-converter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" + integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +css-what@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" + integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== + dependencies: + 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.3" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^4.1.10: + version "4.1.11" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" + integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.8" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2: + version "3.0.8" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" + integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== + +cuid@^2.1.1: + version "2.1.8" + resolved "https://registry.yarnpkg.com/cuid/-/cuid-2.1.8.tgz#cbb88f954171e0d5747606c0139fb65c5101eac0" + integrity sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg== + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + +custom-error-instance@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/custom-error-instance/-/custom-error-instance-2.1.1.tgz#3cf6391487a6629a6247eb0ca0ce00081b7e361a" + integrity sha1-PPY5FIemYppiR+sMoM4ACBt+Nho= + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d3-array@2, d3-array@^2.3.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== + dependencies: + internmap "^1.0.0" + +"d3-color@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" + integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== + +"d3-format@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" + integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== + +"d3-interpolate@1.2.0 - 2", d3-interpolate@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" + integrity sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ== + dependencies: + d3-color "1 - 2" + +"d3-path@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8" + integrity sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA== + +d3-scale@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.3.0.tgz#28c600b29f47e5b9cd2df9749c206727966203f3" + integrity sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ== + dependencies: + d3-array "^2.3.0" + d3-format "1 - 2" + d3-interpolate "1.2.0 - 2" + d3-time "^2.1.1" + d3-time-format "2 - 3" + +d3-shape@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-2.1.0.tgz#3b6a82ccafbc45de55b57fcf956c584ded3b666f" + integrity sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA== + dependencies: + d3-path "1 - 2" + +"d3-time-format@2 - 3": + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-3.0.0.tgz#df8056c83659e01f20ac5da5fdeae7c08d5f1bb6" + integrity sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag== + dependencies: + d3-time "1 - 2" + +"d3-time@1 - 2", d3-time@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-2.1.1.tgz#e9d8a8a88691f4548e68ca085e5ff956724a6682" + integrity sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ== + dependencies: + d3-array "2" + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +damerau-levenshtein@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@^3.1.1, debug@^3.2.5, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +decamelize@^1.1.2, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js-light@^2.4.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" + integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-equal@^1.0.1, deep-equal@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^4.0.0, deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegate@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-it@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/detect-it/-/detect-it-4.0.1.tgz#3f8de6b8330f5086270571251bedf10aec049e18" + integrity sha512-dg5YBTJYvogK1+dA2mBUDKzOWfYZtHVba89SyZUhc4+e3i2tzgjANFg5lDRCd3UOtRcw00vUTMK8LELcMdicug== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-passive-events@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-passive-events/-/detect-passive-events-2.0.3.tgz#1f75ebf80660a66c615d8be23c3241cdda6977e0" + integrity sha512-QN/1X65Axis6a9D8qg8Py9cwY/fkWAmAH/edTbmLMcv4m5dboLJ7LcAi8CfaCON2tjk904KwKX/HTdsHC6yeRg== + dependencies: + detect-it "^4.0.1" + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-helpers@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" + integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== + dependencies: + "@babel/runtime" "^7.1.2" + +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom7@^3.0.0-alpha.7: + version "3.0.0" + resolved "https://registry.yarnpkg.com/dom7/-/dom7-3.0.0.tgz#b861ce5d67a6becd7aaa3ad02942ff14b1240331" + integrity sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g== + dependencies: + ssr-window "^3.0.0-alpha.1" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== + dependencies: + domelementtype "^2.2.0" + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + +draft-js@0.11.7: + version "0.11.7" + resolved "https://registry.yarnpkg.com/draft-js/-/draft-js-0.11.7.tgz#be293aaa255c46d8a6647f3860aa4c178484a206" + integrity sha512-ne7yFfN4sEL82QPQEn80xnADR8/Q6ALVworbC5UOSzOvjffmYfFsr3xSZtxbIirti14R7Y33EZC5rivpLgIbsg== + dependencies: + fbjs "^2.0.0" + immutable "~3.7.4" + object-assign "^4.1.1" + +draftjs-to-html@0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/draftjs-to-html/-/draftjs-to-html-0.9.1.tgz#1c870fbb588d2390204cb4d0ee7e04ad0c709969" + integrity sha512-fFstE6+IayaVFBEvaFt/wN8vdj8FsTRzij7dy7LI9QIwf5LgfHFi9zSpvCg+feJ2tbYVqHxUkjcibwpsTpgFVQ== + +draftjs-utils@^0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/draftjs-utils/-/draftjs-utils-0.10.2.tgz#a7f16d2c1c174ac38ba3bbf700c256f176b2699c" + integrity sha512-EstHqr3R3JVcilJrBaO/A+01GvwwKmC7e4TCjC7S94ZeMh4IVmf60OuQXtHHpwItK8C2JCi3iljgN5KHkJboUg== + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + +electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.811: + version "1.3.826" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.826.tgz#dbe356b1546b39d83bcd47e675a9c5f61dadaed2" + integrity sha512-bpLc4QU4B8PYmdO4MSu2ZBTMD8lAaEXRS43C09lB31BvYwuk9UxgBRXbY5OJBw7VuMGcg2MZG5FyTaP9u4PQnw== + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.0.0: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +engine.io-client@~3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.3.3.tgz#aeb45695ced81b787a8a10c92b0bc226b1cb3c53" + integrity sha512-PXIgpzb1brtBzh8Q6vCjzCMeu4nfEPmaDm+L3Qb2sVHwLkxC1qRiBMSjOB0NJNjZ0hbPNUKQa+s8J2XxLOIEeQ== + dependencies: + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "~3.1.0" + engine.io-parser "~2.1.1" + has-cors "1.1.0" + indexof "0.0.1" + parseqs "0.0.5" + parseuri "0.0.5" + ws "~6.1.0" + xmlhttprequest-ssl "~1.6.3" + yeast "0.1.2" + +engine.io-parser@~2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.3.tgz#757ab970fbf2dfb32c7b74b033216d5739ef79a6" + integrity sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA== + dependencies: + after "0.8.2" + arraybuffer.slice "~0.0.7" + base64-arraybuffer "0.1.5" + blob "0.0.5" + has-binary2 "~1.0.2" + +enhanced-resolve@^4.1.0, enhanced-resolve@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: + version "1.18.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.5.tgz#9b10de7d4c206a3581fd5b2124233e04db49ae19" + integrity sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.0.2, escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-react-app@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz#ccff9fc8e36b322902844cbd79197982be355a0e" + integrity sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A== + dependencies: + confusing-browser-globals "^1.0.10" + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" + integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== + dependencies: + debug "^3.2.7" + pkg-dir "^2.0.0" + +eslint-plugin-flowtype@^5.2.0: + version "5.9.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.9.2.tgz#aac08cd26ee4da79cba0e40c3877bb4d96a74ebc" + integrity sha512-qxE/eo9DCN7800MIB/O1ToOiFuOPOlaMJWQY2BEm69oY7RCm3s2X1z4CdgtFvDDWf9RSSugZm1KRhdBMBueKbg== + dependencies: + lodash "^4.17.15" + string-natural-compare "^3.0.1" + +eslint-plugin-import@^2.22.0, eslint-plugin-import@^2.22.1: + version "2.24.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" + integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.6.2" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.6.0" + minimatch "^3.0.4" + object.values "^1.1.4" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + +eslint-plugin-jest@^24.1.0: + version "24.4.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz#fa4b614dbd46a98b652d830377971f097bda9262" + integrity sha512-8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg== + dependencies: + "@typescript-eslint/experimental-utils" "^4.0.1" + +eslint-plugin-jsx-a11y@^6.3.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" + integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== + dependencies: + "@babel/runtime" "^7.11.2" + aria-query "^4.2.2" + array-includes "^3.1.1" + ast-types-flow "^0.0.7" + axe-core "^4.0.2" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.6" + emoji-regex "^9.0.0" + has "^1.0.3" + jsx-ast-utils "^3.1.0" + language-tags "^1.0.5" + +eslint-plugin-react-hooks@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" + integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== + +eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.21.5: + version "7.25.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.25.1.tgz#9286b7cd9bf917d40309760f403e53016eda8331" + integrity sha512-P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug== + dependencies: + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" + doctrine "^2.1.0" + estraverse "^5.2.0" + has "^1.0.3" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.4" + object.fromentries "^2.0.4" + object.values "^1.1.4" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.5" + +eslint-plugin-testing-library@^3.9.2: + version "3.10.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz#609ec2b0369da7cf2e6d9edff5da153cc31d87bd" + integrity sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA== + dependencies: + "@typescript-eslint/experimental-utils" "^3.10.1" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-webpack-plugin@^2.1.0: + version "2.5.4" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz#473b84932f1a8e2c2b8e66a402d0497bf440b986" + integrity sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw== + dependencies: + "@types/eslint" "^7.2.6" + arrify "^2.0.1" + jest-worker "^26.6.2" + micromatch "^4.0.2" + normalize-path "^3.0.0" + schema-utils "^3.0.0" + +eslint@^7.11.0, eslint@^7.8.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eventemitter3@^4.0.0, eventemitter3@^4.0.1: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exifr@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/exifr/-/exifr-6.3.0.tgz#ba6a49c0a30372a969d109684e1cd8450a05ba43" + integrity sha512-NCSOP15py+4QyvD90etFN0QOVj12ygVE8kfEDG8GDc+SXf9YAOxua2x5kGp6WvxbGjufA5C3r/1ZKHOpHbEWFg== + +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + 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" + +expect@^26.6.0, expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.5.0.tgz#e93b97ae0cb23f8370380f6107d2d2b7887687ad" + integrity sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q== + dependencies: + type "^2.5.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + 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" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.1.1: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.12.0.tgz#ed7b6ab5d62393fb2cc591c853652a5c318bf794" + integrity sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-2.0.0.tgz#01fb812138d7e31831ed3e374afe27b9169ef442" + integrity sha512-8XA8ny9ifxrAWlyhAbexXcs3rRMtxWcs3M0lctLfB49jRDHiaxj+Mo0XxbwE7nKZYzgCFoq64FS+WFd4IycPPQ== + dependencies: + core-js "^3.6.4" + cross-fetch "^3.0.4" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.1.1.tgz#a6f29dfb3f5933a1c350b2dbaa20ac5be0539baa" + integrity sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-saver@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.2.tgz#06d6e728a9ea2df2cce2f8d9e84dfcdc338ec17a" + integrity sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw== + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filesize@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" + integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatpickr@4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/flatpickr/-/flatpickr-4.6.3.tgz#15a8b76b6e34e3a072861250503a5995b9d3bc60" + integrity sha512-007VucCkqNOMMb9ggRLNuJowwaJcyOh4sKAFcdGfahfGc7JQbf94zSzjdBq/wVyHWUEs5o3+idhFZ0wbZMRmVQ== + +flatpickr@^4.5.7: + version "4.6.9" + resolved "https://registry.yarnpkg.com/flatpickr/-/flatpickr-4.6.9.tgz#9a13383e8a6814bda5d232eae3fcdccb97dc1499" + integrity sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw== + +flatted@^3.1.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" + integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.2.tgz#cecb825047c00f5e66b142f90fed4f515dec789b" + integrity sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +fork-ts-checker-webpack-plugin@4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" + integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== + dependencies: + "@babel/code-frame" "^7.5.5" + chalk "^2.4.1" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +frac@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b" + integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@^2.1.2, fsevents@^2.1.3, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + 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@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== + dependencies: + globule "^1.0.0" + +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-form-data@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-form-data/-/get-form-data-2.0.0.tgz#f211018ea617cc54678522235f0e2a9025d89411" + integrity sha512-YUpw0aTWeGliifqMYrTohe/YdqVmKLmaNwuscd2WlRNGfba57JHGuuvvv2c6LiZdFys285POVWANTh6SqcwFag== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + 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" + +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" + integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== + dependencies: + type-fest "^0.20.2" + +globby@11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^11.0.3: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2" + integrity sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg== + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +good-listener@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + dependencies: + delegate "^3.1.2" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gud@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" + integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== + +gzip-size@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-binary2@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" + integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== + dependencies: + isarray "2.0.1" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +history@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/history/-/history-5.0.0.tgz#0cabbb6c4bbf835addb874f8259f6d25101efd08" + integrity sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg== + dependencies: + "@babel/runtime" "^7.7.6" + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-entities@^1.2.1, html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier-terser@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" + integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +html-to-draftjs@1.5.0, html-to-draftjs@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/html-to-draftjs/-/html-to-draftjs-1.5.0.tgz#0df0eabf429deaedb63f5c859889e2c983606e86" + integrity sha512-kggLXBNciKDwKf+KYsuE+V5gw4dZ7nHyGMX9m0wy7urzWjKGWyNFetmArRLvRV0VrxKN70WylFsJvMTJx02OBQ== + +html-webpack-plugin@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" + integrity sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw== + dependencies: + "@types/html-minifier-terser" "^5.0.0" + "@types/tapable" "^1.0.5" + "@types/webpack" "^4.41.8" + html-minifier-terser "^5.0.1" + loader-utils "^1.2.3" + lodash "^4.17.15" + pretty-error "^2.1.1" + tapable "^1.1.3" + util.promisify "1.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.3" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" + integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +immer@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" + integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== + +immutable@~3.7.4: + version "3.7.6" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" + integrity sha1-E7TTyxK++hVIKib+Gy665kAHHks= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +in-publish@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" + integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ== + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +internmap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== + +intl-format-cache@^4.2.19, intl-format-cache@^4.2.21: + version "4.3.1" + resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-4.3.1.tgz#484d31a9872161e6c02139349b259a6229ade377" + integrity sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q== + +intl-locales-supported@^1.8.4: + version "1.8.12" + resolved "https://registry.yarnpkg.com/intl-locales-supported/-/intl-locales-supported-1.8.12.tgz#bbd83475a1cda61dc026309ca61f64c450af8ccb" + integrity sha512-FJPl7p1LYO/C+LpwlDcvVpq7AeFTdFgwnq1JjdNYKjb51xkIxssXRR8LaA0fJFogjwRRztqw1ahgSJMSZsSFdw== + +intl-messageformat-parser@^3.6.2, intl-messageformat-parser@^3.6.4: + version "3.6.4" + resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-3.6.4.tgz#5199d106d816c3dda26ee0694362a9cf823978fb" + integrity sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA== + dependencies: + "@formatjs/intl-unified-numberformat" "^3.2.0" + +intl-messageformat@7.8.4, intl-messageformat@^7.8.2: + version "7.8.4" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-7.8.4.tgz#c29146a06b9cd26662978a4d95fff2b133e3642f" + integrity sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA== + dependencies: + intl-format-cache "^4.2.21" + intl-messageformat-parser "^3.6.4" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + 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-core-module@^2.0.0, is-core-module@^2.2.0, is-core-module@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.0.4, is-regex@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-root@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-shallow-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shallow-equal/-/is-shallow-equal-1.0.1.tgz#c410b51eb1c12ee50cd02891d32d1691a132d73c" + integrity sha512-lq5RvK+85Hs5J3p4oA4256M1FEffzmI533ikeDHvJd42nouRRx5wBzt36JuviiGe5dIPyHON/d0/Up+PBo6XkQ== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1, is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isarray@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" + integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-circus@26.6.0: + version "26.6.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-26.6.0.tgz#7d9647b2e7f921181869faae1f90a2629fd70705" + integrity sha512-L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.0" + "@jest/test-result" "^26.6.0" + "@jest/types" "^26.6.0" + "@types/babel__traverse" "^7.0.4" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^26.6.0" + is-generator-fn "^2.0.0" + jest-each "^26.6.0" + jest-matcher-utils "^26.6.0" + jest-message-util "^26.6.0" + jest-runner "^26.6.0" + jest-runtime "^26.6.0" + jest-snapshot "^26.6.0" + jest-util "^26.6.0" + pretty-format "^26.6.0" + stack-utils "^2.0.2" + throat "^5.0.0" + +jest-cli@^26.6.0: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.0, jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.0, jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.0, jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@26.6.0: + version "26.6.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.0.tgz#070fe7159af87b03e50f52ea5e17ee95bbee40e1" + integrity sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ== + dependencies: + "@jest/types" "^26.6.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.0" + read-pkg-up "^7.0.1" + resolve "^1.17.0" + slash "^3.0.0" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.0, jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.0, jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.0, jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.6.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watch-typeahead@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz#45221b86bb6710b7e97baaa1640ae24a07785e63" + integrity sha512-ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg== + dependencies: + ansi-escapes "^4.3.1" + chalk "^4.0.0" + jest-regex-util "^26.0.0" + jest-watcher "^26.3.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + +jest-watcher@^26.3.0, jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest-worker@^26.5.0, jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@26.6.0: + version "26.6.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.0.tgz#546b25a1d8c888569dbbe93cae131748086a4a25" + integrity sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA== + dependencies: + "@jest/core" "^26.6.0" + import-local "^3.0.2" + jest-cli "^26.6.0" + +jquery@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" + integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== + +js-base64@^2.1.8, js-base64@^2.6.1: + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonwebtoken@8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" + integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== + dependencies: + array-includes "^3.1.2" + object.assign "^4.1.2" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" + integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== + +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== + +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + dependencies: + language-subtag-registry "~0.3.2" + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +leaflet@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.6.0.tgz#aecbb044b949ec29469eeb31c77a88e2f448f308" + integrity sha512-CPkhyqWUKZKFJ6K8umN5/D2wrJ2+/8UIpXppY7QDnUZW5bZL5+SEI2J7GBpwh4LIupOKqbNSQXgqmrEJopHVNQ== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +linkify-it@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" + integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== + dependencies: + uc.micro "^1.0.1" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +load-script@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" + integrity sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ= + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@2.0.0, loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^1.0.1, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash-es@^4.17.11: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash._baseiteratee@~4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash._baseiteratee/-/lodash._baseiteratee-4.7.0.tgz#34a9b5543572727c3db2e78edae3c0e9e66bd102" + integrity sha1-NKm1VDVycnw9sueO2uPA6eZr0QI= + dependencies: + lodash._stringtopath "~4.8.0" + +lodash._basetostring@~4.12.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz#9327c9dc5158866b7fa4b9d42f4638e5766dd9df" + integrity sha1-kyfJ3FFYhmt/pLnUL0Y45XZt2d8= + +lodash._baseuniq@~4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" + integrity sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg= + dependencies: + lodash._createset "~4.0.0" + lodash._root "~3.0.0" + +lodash._createset@~4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" + integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash._root@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI= + +lodash._stringtopath@~4.8.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/lodash._stringtopath/-/lodash._stringtopath-4.8.0.tgz#941bcf0e64266e5fc1d66fed0a6959544c576824" + integrity sha1-lBvPDmQmbl/B1m/tCmlZVExXaCQ= + dependencies: + lodash._basetostring "~4.12.0" + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + +lodash.orderby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.orderby/-/lodash.orderby-4.6.0.tgz#e697f04ce5d78522f54d9338b32b81a3393e4eb3" + integrity sha1-5pfwTOXXhSL1TZM4syuBozk+TrM= + +lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash.uniqby@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.5.0.tgz#a3a17bbf62eeb6240f491846e97c1c4e2a5e1e21" + integrity sha1-o6F7v2LutiQPSRhG6XwcTipeHiE= + dependencies: + lodash._baseiteratee "~4.7.0" + lodash._baseuniq "~4.6.0" + +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.7.0, lodash@~4.17.10, lodash@~4.17.4: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loglevel@^1.6.8: + version "1.7.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" + integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.25.0, magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +math-log2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-log2/-/math-log2-1.0.1.tgz#fb8941be5f5ebe8979e718e6273b178e58694565" + integrity sha1-+4lBvl9evol55xjmJzsXjlhpRWU= + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memoize-one@^5.0.0, memoize-one@^5.0.4, memoize-one@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + 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-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" + integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + 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" + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.49.0, "mime-db@>= 1.43.0 < 2": + version "1.49.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" + integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== + +mime-match@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/mime-match/-/mime-match-1.0.2.tgz#3f87c31e9af1a5fd485fb9db134428b23bbb7ba8" + integrity sha1-P4fDHprxpf1IX7nbE0Qosju7e6g= + dependencies: + wildcard "^1.1.0" + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.32" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" + integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== + dependencies: + mime-db "1.49.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.4: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== + dependencies: + "@babel/runtime" "^7.12.1" + tiny-warning "^1.0.3" + +mini-css-extract-plugin@0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz#15b0910a7f32e62ffde4a7430cfefbd700724ea6" + integrity sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA== + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + dependencies: + yallist "^4.0.0" + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + 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@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +moment@2.29.1, moment@^2.10.2, moment@^2.22.2: + version "2.29.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + 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@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +namespace-emitter@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz#978d51361c61313b4e6b8cf6f3853d08dfa2b17c" + integrity sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g== + +nan@^2.12.1, nan@^2.13.2: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + +nanoclone@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" + integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== + +nanoid@^2.1.0: + version "2.1.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" + integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== + +nanoid@^3.1.23: + version "3.1.25" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" + integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + 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" + +native-url@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae" + integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA== + dependencies: + querystring "^0.2.0" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== + dependencies: + 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" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + 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" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^1.1.61, node-releases@^1.1.75: + version "1.1.75" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" + integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== + +node-sass@^4.13.1, node-sass@^4.9.0: + version "4.14.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" + integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== + dependencies: + 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" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +nouislider-react@3.3.8: + version "3.3.8" + resolved "https://registry.yarnpkg.com/nouislider-react/-/nouislider-react-3.3.8.tgz#224540f39848e1a52070127f16460ef8f03152a7" + integrity sha512-Le0kUs29iaUEdaO3cdZcc7EXteFNpXVuasxz4F8Z520PUI17sJJAoggiScPu+Nz6vMx0o9SgK0v8bMXcePF20A== + dependencies: + nouislider "^14.5.0" + +nouislider@14.6.2: + version "14.6.2" + resolved "https://registry.yarnpkg.com/nouislider/-/nouislider-14.6.2.tgz#ecf7b7d1554672e705aab6fcd27e195ed3f67c98" + integrity sha512-/lJeqJBghNAZS3P2VYrHzm1RM6YJPvvC/1wNpGaHBRX+05wpzUDafrW/ohAYp4kjKhRH8+BJ0vkorCHiMmgTMQ== + +nouislider@^14.5.0: + version "14.7.0" + resolved "https://registry.yarnpkg.com/nouislider/-/nouislider-14.7.0.tgz#a71db0587c92567b6da1df57d251d3696d942362" + integrity sha512-4RtQ1+LHJKesDCNJrXkQcwXAWCrC2aggdLYMstS/G5fEWL+fXZbUA9pwVNHFghMGuFGRATlDLNInRaPeRKzpFQ== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + dependencies: + boolbase "^1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-component@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" + integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.0, object.entries@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" + integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + +object.fromentries@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" + integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0, object.values@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^7.0.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + +optimize-css-assets-webpack-plugin@5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz#85883c6528aaa02e30bbad9908c92926bb52dc90" + integrity sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A== + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@0: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@^3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseqs@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" + integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0= + dependencies: + better-assert "~1.0.0" + +parseuri@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" + integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo= + dependencies: + better-assert "~1.0.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +perfect-scrollbar@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.5.2.tgz#41167ac6bc95e3a5e87a7402fa36fdacca9bc298" + integrity sha512-McHAinFkyzKbBZrFtb4MT2mxkehp15KvOX/UrjB8C5EZZXHTHgyETo5IGFYtHRTI2Pb2bsV0OE0YnkjT9Cw3aw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +pnp-webpack-plugin@1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== + dependencies: + ts-pnp "^1.1.6" + +popper.js@^1.14.4: + version "1.16.1" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" + integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== + +portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" + +postcss-browser-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz#1248d2d935fb72053c8e1f61a84a57292d9f65e9" + integrity sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig== + dependencies: + postcss "^7" + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-flexbugs-fixes@4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690" + integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ== + dependencies: + postcss "^7.0.26" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== + dependencies: + postcss "^7.0.2" + +postcss-font-variant@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== + dependencies: + postcss "^7.0.2" + +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== + dependencies: + postcss "^7.0.2" + +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-initial@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" + integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== + dependencies: + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@3.0.0, postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== + dependencies: + postcss "^7.0.2" + +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== + dependencies: + postcss "^7.0.2" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + dependencies: + 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" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + dependencies: + 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" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.32" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== + dependencies: + postcss "^7.0.2" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-8.0.1.tgz#90e80a7763d7fdf2da6f2f0f82be832ce4f66776" + integrity sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ== + dependencies: + "@csstools/normalize.css" "^10.1.0" + browserslist "^4.6.2" + postcss "^7.0.17" + postcss-browser-comments "^3.0.0" + sanitize.css "^10.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== + dependencies: + postcss "^7.0.2" + +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== + dependencies: + postcss "^7.0.2" + +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== + dependencies: + postcss "^7.0.2" + +postcss-rtl@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/postcss-rtl/-/postcss-rtl-1.5.0.tgz#75afcd0197d6a02afd93a80c7e69b810a9753209" + integrity sha512-7uQeaMBhAlnu7xgytvTocojFKp08W4FND/xE/ajj/J6ABOGhdDF1mLGzaRrC5/u/Sr71BEUi13xgvs2j8U16AA== + dependencies: + rtlcss "^2.4.0" + +postcss-safe-parser@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz#459dd27df6bc2ba64608824ba39e45dacf5e852d" + integrity sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ== + dependencies: + postcss "^8.1.0" + +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-not@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" + integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss@7.0.36, postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.36" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" + integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^6.0.23: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^8.1.0: + version "8.3.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" + integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" + +preact@8.2.9: + version "8.2.9" + resolved "https://registry.yarnpkg.com/preact/-/preact-8.2.9.tgz#813ba9dd45e5d97c5ea0d6c86d375b3be711cc40" + integrity sha512-ThuGXBmJS3VsT+jIP+eQufD3L8pRw/PY3FoCys6O9Pu6aF12Pn9zAJDX99TfwRAFOCEKm/P0lwiPTbqKMJp0fA== + +preact@^10.0.5: + version "10.5.14" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.5.14.tgz#0b14a2eefba3c10a57116b90d1a65f5f00cd2701" + integrity sha512-KojoltCrshZ099ksUZ2OQKfbH66uquFoxHSbnwKbTJHeQNvx42EmC7wQVWNuDt6vC5s3nudRHFtKbpY4ijKlaQ== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +pretty-bytes@^5.3.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-error@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-format@^26.6.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +printj@~1.1.0, printj@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + +prismjs@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.19.0.tgz#713afbd45c3baca4b321569f2df39e17e729d4dc" + integrity sha512-IVFtbW9mCWm9eOIaEkNyo2Vl4NnEifis2GQ7/MLRG5TQe6t+4Sj9J5QWI9i3v+SS43uZBlCAOn+zYTVYQcPXJw== + optionalDependencies: + clipboard "^2.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +promise@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q== + dependencies: + asap "~2.0.6" + +prompts@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prompts@^2.0.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@15.7.2, prop-types@^15.5.10, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +proper-lockfile@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-2.0.1.tgz#159fb06193d32003f4b3691dd2ec1a634aa80d1d" + integrity sha1-FZ+wYZPTIAP0s2kd0uwaY0qoDR0= + dependencies: + graceful-fs "^4.1.2" + retry "^0.10.0" + +property-expr@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.4.tgz#37b925478e58965031bb612ec5b3260f8241e910" + integrity sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg== + +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28, psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + 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" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs-stringify@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/qs-stringify/-/qs-stringify-1.2.1.tgz#9b39ef6b816bd83309628fc9dad435fc0eccc28b" + integrity sha512-2N5xGLGZUxpgAYq1fD1LmBSCbxQVsXYt5JU0nU3FuPWO8PlCnKNFQwXkZgyB6mrTdg7IbexX4wxIR403dJw9pw== + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +raf-schd@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a" + integrity sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ== + +raf@^3.4.0, raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-apexcharts@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/react-apexcharts/-/react-apexcharts-1.3.6.tgz#6c06e5dacfddd0e0373ec8f614503e655c049122" + integrity sha512-ahpMOnuw1ZdD3/fkk9MYRLpqYQ66cZz72+he1R00HaT1VcSjfYc9editQDhE2jGRDuxubmaxVcO3z4FtAk5N0w== + dependencies: + prop-types "^15.5.7" + +react-app-polyfill@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz#a0bea50f078b8a082970a9d853dc34b6dcc6a3cf" + integrity sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA== + dependencies: + core-js "^3.6.5" + object-assign "^4.1.1" + promise "^8.1.0" + raf "^3.4.1" + regenerator-runtime "^0.13.7" + whatwg-fetch "^3.4.1" + +react-app-rewire-aliases@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/react-app-rewire-aliases/-/react-app-rewire-aliases-0.2.0.tgz#ef5ffc0099eec05279949fab8d4983c1556a1c1e" + integrity sha1-71/8AJnuwFJ5lJ+rjUmDwVVqHB4= + +react-app-rewire-postcss@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/react-app-rewire-postcss/-/react-app-rewire-postcss-3.0.2.tgz#8a1f98a0c2dd300f406f948f2628d1fa97c6f38d" + integrity sha512-sGjIIzQ4sQE8r2ZeSCokf+hKLxOr5i8J0iAlg0kxwXRdy6bDrPa345EMdYPPzUZQxnZgZIsFL+QyMWtJHulEDg== + dependencies: + postcss-loader "^3.0.0" + +react-app-rewire-sass-rule@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-app-rewire-sass-rule/-/react-app-rewire-sass-rule-2.2.1.tgz#a64dbedb7409102827d5b863b695d49d6657f1e2" + integrity sha512-vvm8MO2UD31WAaon3EpqI0CWTBCJNzHKTYRWLf4jjXpZyiPql2XUI+Gfd8mFnIcA4Str98Xrtd5VxCzF4X0j0Q== + dependencies: + node-sass "^4.9.0" + sass-loader "^7.0.3" + +react-app-rewired@^2.1.6: + version "2.1.8" + resolved "https://registry.yarnpkg.com/react-app-rewired/-/react-app-rewired-2.1.8.tgz#e192f93b98daf96889418d33d3e86cf863812b56" + integrity sha512-wjXPdKPLscA7mn0I1de1NHrbfWdXz4S1ladaGgHVKdn1hTgKK5N6EdGIJM0KrS6bKnJBj7WuqJroDTsPKKr66Q== + dependencies: + semver "^5.6.0" + +react-chartjs-2@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-2.9.0.tgz#d054dbdd763fbe9a76296a4ae0752ea549b76d9e" + integrity sha512-IYwqUUnQRAJ9SNA978vxulHJTcUFTJk2LDVfbAyk0TnJFZZG7+6U/2flsE4MCw6WCbBjTTypy8T82Ch7XrPtRw== + dependencies: + lodash "^4.17.4" + prop-types "^15.5.8" + +react-contexify@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/react-contexify/-/react-contexify-5.0.0.tgz#11b477550a0ee5a9a144399bc17c7c56bbc60057" + integrity sha512-2FIp7lxJ6dtfGr8EZ4uVV5p5TQjd0n2h/JU7PrejNIMiCeZWvSVPFh4lj1ZvjXosglBvP7q5JQQ8yUCdSaMSaw== + dependencies: + clsx "^1.1.1" + +react-copy-to-clipboard@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.2.tgz#d82a437e081e68dfca3761fbd57dbf2abdda1316" + integrity sha512-/2t5mLMMPuN5GmdXo6TebFa8IoFxZ+KTDDqYhcDm0PhkgEzSxVvIX26G20s1EB02A4h2UZgwtfymZ3lGJm0OLg== + dependencies: + copy-to-clipboard "^3" + prop-types "^15.5.8" + +react-country-flag@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/react-country-flag/-/react-country-flag-2.0.1.tgz#1028e71cd456b9685adc0447e148b79770c04b4e" + integrity sha512-cZQp+MTQUfSkI++ypDJU6PNgNU2K6Z/9htO4ct4HzvWAs19DoMbnvhzyK31lkBnW1vfx9OkMwskxuaYbEcFjLw== + +react-data-table-component@6.11.2: + version "6.11.2" + resolved "https://registry.yarnpkg.com/react-data-table-component/-/react-data-table-component-6.11.2.tgz#c4fec28aa078df0179573216d1ef3eb53d523ac7" + integrity sha512-xoaTVTX4svgY3norL707GSUZJ5Q0FRZ1g2QY5oI5soiNtGMor9yGTXjnMq6mDmL9A4a7lmA+4xntoEEMJMcIvA== + dependencies: + deepmerge "^4.2.2" + lodash.orderby "^4.6.0" + shortid "^2.2.15" + +react-dev-utils@^11.0.2: + version "11.0.4" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a" + integrity sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A== + dependencies: + "@babel/code-frame" "7.10.4" + address "1.1.2" + browserslist "4.14.2" + chalk "2.4.2" + cross-spawn "7.0.3" + detect-port-alt "1.1.6" + escape-string-regexp "2.0.0" + filesize "6.1.0" + find-up "4.1.0" + fork-ts-checker-webpack-plugin "4.1.6" + global-modules "2.0.0" + globby "11.0.1" + gzip-size "5.1.1" + immer "8.0.1" + is-root "2.1.0" + loader-utils "2.0.0" + open "^7.0.2" + pkg-up "3.1.0" + prompts "2.4.0" + react-error-overlay "^6.0.9" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + strip-ansi "6.0.0" + text-table "0.2.0" + +react-dom@17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6" + integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.1" + +react-draft-wysiwyg@1.14.5: + version "1.14.5" + resolved "https://registry.yarnpkg.com/react-draft-wysiwyg/-/react-draft-wysiwyg-1.14.5.tgz#82e34ae3472b815b5d9f70615f40e13afcbc2055" + integrity sha512-utbJEs91757QXYoBwKRb/4kB3JdswLlj0heUiAeXs/OxZAUISJXxLMFLBIixRlIcUnNkwxOsMikRshDMtWIS3g== + dependencies: + classnames "^2.2.6" + draftjs-utils "^0.10.2" + html-to-draftjs "^1.5.0" + linkify-it "^2.2.0" + prop-types "^15.7.2" + +react-error-overlay@^6.0.9: + version "6.0.9" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" + integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== + +react-fast-compare@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" + integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== + +react-feather@~2.0.3: + version "2.0.9" + resolved "https://registry.yarnpkg.com/react-feather/-/react-feather-2.0.9.tgz#6e42072130d2fa9a09d4476b0e61b0ed17814480" + integrity sha512-yMfCGRkZdXwIs23Zw/zIWCJO3m3tlaUvtHiXlW+3FH7cIT6fiK1iJ7RJWugXq7Fso8ZaQyUm92/GOOHXvkiVUw== + dependencies: + prop-types "^15.7.2" + +react-flatpickr@3.9.1: + version "3.9.1" + resolved "https://registry.yarnpkg.com/react-flatpickr/-/react-flatpickr-3.9.1.tgz#2fcee71a2664df9c9290ea3550cb40fe06c99305" + integrity sha512-g3FdnrYfFWOj/cWuPwHhYigpchu8GwAJvUzxUrba20dhrAdW1+dwAQxE+3aGe6eFYhYlTosVYTP8XAefnn5kxg== + dependencies: + flatpickr "^4.5.7" + prop-types "^15.5.10" + +react-hook-form@6.15.1: + version "6.15.1" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-6.15.1.tgz#57d887ec4dac5a6c0099902171aa39cc893f7bca" + integrity sha512-bL0LQuQ3OlM3JYfbacKtBPLOHhmgYz8Lj6ivMrvu2M6e1wnt4sbGRtPEPYCc/8z3WDbjrMwfAfLX92OsB65pFA== + +react-input-autosize@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-3.0.0.tgz#6b5898c790d4478d69420b55441fcc31d5c50a85" + integrity sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg== + dependencies: + prop-types "^15.5.8" + +react-intl@3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-3.11.0.tgz#a8c5392b8345753cd57bba0b45a1b4fdb1a4dd82" + integrity sha512-W5kc9uCkNRjw4ijZ9cBts5VDtK2DkILKZ1WpqmvVLHZ6EIHMFZkhFs6LQJurN+2msdROfB59gc5K1z8kM0u6/w== + dependencies: + "@formatjs/intl-listformat" "^1.3.7" + "@formatjs/intl-relativetimeformat" "^4.5.7" + "@formatjs/intl-unified-numberformat" "^3.0.4" + "@formatjs/intl-utils" "^2.0.4" + "@formatjs/macro" "^0.2.6" + "@types/hoist-non-react-statics" "^3.3.1" + "@types/invariant" "^2.2.31" + hoist-non-react-statics "^3.3.1" + intl-format-cache "^4.2.19" + intl-locales-supported "^1.8.4" + intl-messageformat "^7.8.2" + intl-messageformat-parser "^3.6.2" + shallow-equal "^1.2.1" + +react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-leaflet@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/react-leaflet/-/react-leaflet-3.1.0.tgz#42deb5e454518016eff8bc85511ae58812f910f5" + integrity sha512-kdZS8NYbYFPmkQr7zSDR2gkKGFeWvkxqoqcmZEckzHL4d5c85dJ2gbbqhaPDpmWWgaRw9O29uA/77qpKmK4mTQ== + dependencies: + "@react-leaflet/core" "^1.0.2" + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-paginate@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/react-paginate/-/react-paginate-7.0.0.tgz#af206ef92a2b6ef87646855eb1612157254ad0c0" + integrity sha512-mzPwHGJfSs79JBGX2V0v/FfQp3yWdz0XRrB9JvsUbJdsxqCt4osk1O669+K8VPQ0Lh9v0lJsnLLoJwnsgdJFng== + dependencies: + prop-types "^15.6.1" + +react-perfect-scrollbar@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/react-perfect-scrollbar/-/react-perfect-scrollbar-1.5.5.tgz#20696bdcc9ec052078e76f2229f3fcfbf87ad5c8" + integrity sha512-EDJxB57iGF1d3bhMtO9YKTYEutiSEM2RdQRA3bm9fNxG5W5oR7nFtmMaCzsWwW72VMuRufpyLkcgdm2D2gejSQ== + dependencies: + perfect-scrollbar "^1.5.0" + prop-types "^15.6.1" + +react-player@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/react-player/-/react-player-2.6.2.tgz#d41fe842f5bd6a2b1d3ce1ba9ed82c3eb26e0df4" + integrity sha512-Wi9DynNSVgddKxac5OzsH0Upk6VRYssvLLGgCRw6vsjzqMX6S5N26WDRNYnLaHykxFNtpPSDc53fXDe52hMaCg== + dependencies: + deepmerge "^4.0.0" + load-script "^1.0.0" + memoize-one "^5.1.1" + prop-types "^15.7.2" + react-fast-compare "^3.0.1" + +react-popper@^1.3.6: + version "1.3.11" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.11.tgz#a2cc3f0a67b75b66cfa62d2c409f9dd1fcc71ffd" + integrity sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg== + dependencies: + "@babel/runtime" "^7.1.2" + "@hypnosphi/create-react-context" "^0.3.1" + deep-equal "^1.1.1" + popper.js "^1.14.4" + prop-types "^15.6.1" + typed-styles "^0.0.7" + warning "^4.0.2" + +react-rating@2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/react-rating/-/react-rating-2.0.5.tgz#2c9d7ebe5907db0361ba28b7c19f0394e6e4dd76" + integrity sha512-uldxgLCe5bzqGX7V+7/bPgQQj2Kok6eiMgTMxjKOhfhnQkFLDlc4TjMlp7gaJFAHWdbiOnqpiShI7z8as6oWtg== + dependencies: + "@types/lodash" "^4.14.105" + "@types/react" "^16.0.40" + +react-redux@7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.2.tgz#03862e803a30b6b9ef8582dadcc810947f74b736" + integrity sha512-8+CQ1EvIVFkYL/vu6Olo7JFLWop1qRUeb46sGtIMDCSpgwPQq8fPLpirIB0iTqFe9XYEFPHssdX8/UwN6pAkEA== + dependencies: + "@babel/runtime" "^7.12.1" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^16.13.1" + +react-refresh@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" + integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== + +react-resize-detector@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-5.2.0.tgz#992083834432308c551a8251a2c52306d9d16718" + integrity sha512-PQAc03J2eyhvaiWgEdQ8+bKbbyGJzLEr70KuivBd1IEmP/iewNakLUMkxm6MWnDqsRPty85pioyg8MvGb0qC8A== + dependencies: + lodash "^4.17.20" + prop-types "^15.7.2" + raf-schd "^4.0.2" + resize-observer-polyfill "^1.5.1" + +react-router-dom@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" + integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.2.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" + integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-scripts@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-4.0.2.tgz#530fd934dfdf31c355e366df40bf488347c28de7" + integrity sha512-okaWNaGDGtnXyM2CLMUl8gYZnAubgxEulC40FYjsxn5bbj+G/mDINdy24wHz4Vypb/LWtIe8rdBU78k/74v8Mw== + dependencies: + "@babel/core" "7.12.3" + "@pmmmwh/react-refresh-webpack-plugin" "0.4.3" + "@svgr/webpack" "5.5.0" + "@typescript-eslint/eslint-plugin" "^4.5.0" + "@typescript-eslint/parser" "^4.5.0" + babel-eslint "^10.1.0" + babel-jest "^26.6.0" + babel-loader "8.1.0" + babel-plugin-named-asset-import "^0.3.7" + babel-preset-react-app "^10.0.0" + bfj "^7.0.2" + camelcase "^6.1.0" + case-sensitive-paths-webpack-plugin "2.3.0" + css-loader "4.3.0" + dotenv "8.2.0" + dotenv-expand "5.1.0" + eslint "^7.11.0" + eslint-config-react-app "^6.0.0" + eslint-plugin-flowtype "^5.2.0" + eslint-plugin-import "^2.22.1" + eslint-plugin-jest "^24.1.0" + eslint-plugin-jsx-a11y "^6.3.1" + eslint-plugin-react "^7.21.5" + eslint-plugin-react-hooks "^4.2.0" + eslint-plugin-testing-library "^3.9.2" + eslint-webpack-plugin "^2.1.0" + file-loader "6.1.1" + fs-extra "^9.0.1" + html-webpack-plugin "4.5.0" + identity-obj-proxy "3.0.0" + jest "26.6.0" + jest-circus "26.6.0" + jest-resolve "26.6.0" + jest-watch-typeahead "0.6.1" + mini-css-extract-plugin "0.11.3" + optimize-css-assets-webpack-plugin "5.0.4" + pnp-webpack-plugin "1.6.4" + postcss-flexbugs-fixes "4.2.1" + postcss-loader "3.0.0" + postcss-normalize "8.0.1" + postcss-preset-env "6.7.0" + postcss-safe-parser "5.0.2" + prompts "2.4.0" + react-app-polyfill "^2.0.0" + react-dev-utils "^11.0.2" + react-refresh "^0.8.3" + resolve "1.18.1" + resolve-url-loader "^3.1.2" + sass-loader "^10.0.5" + semver "7.3.2" + style-loader "1.3.0" + terser-webpack-plugin "4.2.3" + ts-pnp "1.2.0" + url-loader "4.1.1" + webpack "4.44.2" + webpack-dev-server "3.11.0" + webpack-manifest-plugin "2.2.0" + workbox-webpack-plugin "5.1.4" + optionalDependencies: + fsevents "^2.1.3" + +react-scroll-up@1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/react-scroll-up/-/react-scroll-up-1.3.7.tgz#8cbc1ace1d7723a62bf432aef3dcad6a2664fd56" + integrity sha512-STijjW7R/cc2+6GswZzcBb73sQgtQP5IZnSIeJlKGb2I1WDyc1bl5dbHuPeklDY0OAf3opV2DUHXDYhItZe/cw== + dependencies: + detect-passive-events "^2.0.2" + object-assign "^4.0.1" + prop-types "^15.5.8" + tween-functions "^1.1.0" + +react-select@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-4.0.2.tgz#4dcca9f38d6a41e01f2dc7673e244a325e3b4e0e" + integrity sha512-BiihrRpRIBBvNqofNZIBpo08Kw8DBHb/kgpIDW4bxgkttk50Sxf0alEIKobns3U7UJXk/CA4rsFUueQEg9Pm5A== + dependencies: + "@babel/runtime" "^7.4.4" + "@emotion/cache" "^11.0.0" + "@emotion/css" "^11.0.0" + "@emotion/react" "^11.1.1" + memoize-one "^5.0.0" + prop-types "^15.6.0" + react-input-autosize "^3.0.0" + react-transition-group "^4.3.0" + +react-shepherd@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/react-shepherd/-/react-shepherd-3.3.0.tgz#7b231fea26db1104be92e54921af838e16cd56f0" + integrity sha512-w9ulB7ILt+uNJpRQmLsdBZSS600UkquDcToOsWGg2xv52FgcbMkGAIFtHAx7beXha/Pu6FFHy0SM67ZqUGWAxA== + dependencies: + shepherd.js "^8.0.0" + +react-slidedown@2.4.5: + version "2.4.5" + resolved "https://registry.yarnpkg.com/react-slidedown/-/react-slidedown-2.4.5.tgz#d575404256fa0ba81e60161547a8fa9ff62b935d" + integrity sha512-zFDhgqQ1ZLfRr+rQA7p+13OTT/+zUR/+3v3JnwrnXPM8R+1KHhuTNseYHU8jYN3QfxjJXtqve0rgbWCBiFkpiw== + dependencies: + tslib "^1.9.0" + +react-smooth@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/react-smooth/-/react-smooth-1.0.6.tgz#18b964f123f7bca099e078324338cd8739346d0a" + integrity sha512-B2vL4trGpNSMSOzFiAul9kFAsxTukL9Wyy9EXtkQy3GJr6sZqW9e1nShdVOJ3hRYamPZ94O17r3Q0bjSw3UYtg== + dependencies: + lodash "~4.17.4" + prop-types "^15.6.0" + raf "^3.4.0" + react-transition-group "^2.5.0" + +react-sortablejs@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/react-sortablejs/-/react-sortablejs-6.0.0.tgz#ba75ded6dce3fa1b5b3b52c70d1928fcdee2003d" + integrity sha512-vzi+TWOnofcYg+dYnC/Iz/ZZkBGG76uM6KaLwuAqBk0349JQxIy3PZizbK0TJdLlK6NnLt4CiEyyQXSSnVYvEw== + dependencies: + classnames "^2.2.6" + tiny-invariant "^1.1.0" + +react-toastify@7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-7.0.3.tgz#93804c777ecf918872ba3b5be9c654db14547f85" + integrity sha512-cxZ5rfurC8LzcZQMTYc8RHIkQTs+BFur18Pzk6Loz6uS8OXUWm6nXVlH/wqglz4Z7UAE8xxcF5mRjfE13487uQ== + dependencies: + clsx "^1.1.1" + +react-transition-group@^2.3.1, react-transition-group@^2.5.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" + integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== + dependencies: + dom-helpers "^3.4.0" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react-lifecycles-compat "^3.0.4" + +react-transition-group@^4.3.0: + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" + integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react-treeview@^0.4.7: + version "0.4.7" + resolved "https://registry.yarnpkg.com/react-treeview/-/react-treeview-0.4.7.tgz#f647e04f70496eb11fb0912c35187e80eb60d458" + integrity sha1-9kfgT3BJbrEfsJEsNRh+gOtg1Fg= + dependencies: + prop-types "^15.5.8" + +react@17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127" + integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +reactstrap@8.6.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/reactstrap/-/reactstrap-8.6.0.tgz#baee0d12990c9fef3c82199fb05e84d9f0af1a26" + integrity sha512-03/UMbLPR6MhVStVUfCLuKh8xh4JOtNVkRxDB9/uHixN+cEQPOpSYa0K69YyK1/2YdZBs2qS6y0cQkK8NQKBHA== + dependencies: + "@babel/runtime" "^7.2.0" + classnames "^2.2.3" + prop-types "^15.5.8" + react-popper "^1.3.6" + react-transition-group "^2.3.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +recharts-scale@^0.4.2: + version "0.4.5" + resolved "https://registry.yarnpkg.com/recharts-scale/-/recharts-scale-0.4.5.tgz#0969271f14e732e642fcc5bd4ab270d6e87dd1d9" + integrity sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w== + dependencies: + decimal.js-light "^2.4.1" + +recharts@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.0.4.tgz#0ffaa9437762ed0bf021968af42154777f97c94c" + integrity sha512-XwFRhyOW6APMKvrCqN8e1IPHAQi7lmrOqp48LKi40NFI8WjFWHgTaTfwBBMsGCnTJSezJEEd/41L3bo/tfevkw== + dependencies: + classnames "^2.2.5" + d3-interpolate "^2.0.1" + d3-scale "^3.2.3" + d3-shape "^2.0.0" + eventemitter3 "^4.0.1" + lodash "^4.17.19" + react-resize-detector "^5.2.0" + react-smooth "^1.0.6" + recharts-scale "^0.4.2" + reduce-css-calc "^2.1.7" + +recursive-readdir@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + dependencies: + minimatch "3.0.4" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-css-calc@^2.1.7: + version "2.1.8" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" + integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + +redux-debounced@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/redux-debounced/-/redux-debounced-0.5.0.tgz#4dde27a3e66ea428afe78215f30a27f22714605b" + integrity sha512-O2anhB0A6yQZH19uLETFtajcUQLcyiJcgC0hHSoFr5T3hWGtt0C5s6KNnb2RX51MwCh5VCl9ehZTv91F/rsZww== + +redux-thunk@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" + integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw== + +redux@4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" + integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w== + dependencies: + loose-envify "^1.4.0" + symbol-observable "^1.2.0" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regex-parser@^2.2.11: + version "2.2.11" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" + integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== + +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + dependencies: + 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@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.9" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" + integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +request@^2.87.0, request@^2.88.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + 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@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve-url-loader@^3.1.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz#3c16caebe0b9faea9c7cc252fa49d2353c412320" + integrity sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg== + dependencies: + adjust-sourcemap-loader "3.0.0" + camelcase "5.3.1" + compose-function "3.0.3" + convert-source-map "1.7.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.36" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" + integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== + dependencies: + is-core-module "^2.0.0" + path-parse "^1.0.6" + +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rollup-plugin-babel@^4.3.3: + version "4.4.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" + integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + rollup-pluginutils "^2.8.1" + +rollup-plugin-terser@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" + integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== + dependencies: + "@babel/code-frame" "^7.5.5" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^4.0.0" + terser "^4.6.2" + +rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + +rollup@^1.31.1: + version "1.32.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" + integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== + dependencies: + "@types/estree" "*" + "@types/node" "*" + acorn "^7.1.0" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +rtlcss@^2.4.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-2.6.2.tgz#55b572b52c70015ba6e03d497e5c5cb8137104b4" + integrity sha512-06LFAr+GAPo+BvaynsXRfoYTJvSaWRyOhURCQ7aeI1MKph9meM222F+Zkt3bDamyHHJuGi3VPtiRkpyswmQbGA== + dependencies: + "@choojs/findup" "^0.2.1" + chalk "^2.4.2" + mkdirp "^0.5.1" + postcss "^6.0.23" + strip-json-comments "^2.0.0" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sanitize.css@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" + integrity sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg== + +sass-graph@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^13.3.2" + +sass-loader@^10.0.5: + version "10.2.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.2.0.tgz#3d64c1590f911013b3fa48a0b22a83d5e1494716" + integrity sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw== + dependencies: + klona "^2.0.4" + loader-utils "^2.0.0" + neo-async "^2.6.2" + schema-utils "^3.0.0" + semver "^7.3.2" + +sass-loader@^7.0.3: + version "7.3.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.3.1.tgz#a5bf68a04bcea1c13ff842d747150f7ab7d0d23f" + integrity sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.0.1" + neo-async "^2.5.0" + pify "^4.0.1" + semver "^6.3.0" + +sass-loader@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + +sass@1.26.8: + version "1.26.8" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.8.tgz#312652530721f9568d4c4000b0db07ec6eb23325" + integrity sha512-yvtzyrKLGiXQu7H12ekXqsfoGT/aTKeMDyVzCB675k1HYuaj0py63i8Uf4SI9CHXj6apDhpfwbUr3gGOjdpu2Q== + dependencies: + chokidar ">=2.0.0 <4.0.0" + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.20.1: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.2.0, schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.7.0, schema-utils@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +screenfull@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.0.2.tgz#b9acdcf1ec676a948674df5cd0ff66b902b0bed7" + integrity sha512-cCF2b+L/mnEiORLN5xSAz6H3t18i2oHh9BA8+CQlAh5DRw2+NFAGQJOSYbcGw8B2k04g/lVvFcfZ83b3ysH5UQ== + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +select@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + +selfsigned@^1.10.7: + version "1.10.11" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== + dependencies: + node-forge "^0.10.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@7.3.2: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4, setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallow-equal@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" + integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +shepherd.js@^8.0.0: + version "8.3.1" + resolved "https://registry.yarnpkg.com/shepherd.js/-/shepherd.js-8.3.1.tgz#131eeefc5eb2bc44c9e23d0da139db46b2b55339" + integrity sha512-IhxZNhnK2m/pNTXudNfYrcwvcZNWkeYngQbQee8nC3xJ2GjeIatGqivhdZAMZ+LeogZvKMakB931d/V534uhrw== + dependencies: + "@popperjs/core" "^2.9.2" + deepmerge "^4.2.2" + smoothscroll-polyfill "^0.4.4" + +shortid@^2.2.15: + version "2.2.16" + resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608" + integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g== + dependencies: + nanoid "^2.1.0" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +smoothscroll-polyfill@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz#3a259131dc6930e6ca80003e1cb03b603b69abf8" + integrity sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + 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" + +socket.io-client@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.2.0.tgz#84e73ee3c43d5020ccc1a258faeeb9aec2723af7" + integrity sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA== + dependencies: + backo2 "1.0.2" + base64-arraybuffer "0.1.5" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "~3.1.0" + engine.io-client "~3.3.1" + has-binary2 "~1.0.2" + has-cors "1.1.0" + indexof "0.0.1" + object-component "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + socket.io-parser "~3.3.0" + to-array "0.1.4" + +socket.io-parser@~3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6" + integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg== + dependencies: + component-emitter "~1.3.0" + debug "~3.1.0" + isarray "2.0.1" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.20: + version "0.3.20" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" + integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== + dependencies: + faye-websocket "^0.10.0" + uuid "^3.4.0" + websocket-driver "0.6.5" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +sortablejs@1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.12.0.tgz#ee6d7ece3598c2af0feb1559d98595e5ea37cbd6" + integrity sha512-bPn57rCjBRlt2sC24RBsu40wZsmLkSo2XeqG8k6DC1zru5eObQUIPPZAQG7W2SJ8FZQYq+BEJmvuw1Zxb3chqg== + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + 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@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.7.3, source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.10" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +ssf@~0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.10.3.tgz#8eae1fc29c90a552e7921208f81892d6f77acb2b" + integrity sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w== + dependencies: + frac "~1.1.2" + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + 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" + +ssr-window@^3.0.0-alpha.1, ssr-window@^3.0.0-alpha.4: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ssr-window/-/ssr-window-3.0.0.tgz#fd5b82801638943e0cc704c4691801435af7ac37" + integrity sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA== + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== + dependencies: + figgy-pudding "^3.5.1" + +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" + integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== + dependencies: + readable-stream "^2.0.1" + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + 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@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-natural-compare@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" + integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.matchall@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" + integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@6.0.0, strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" + integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== + dependencies: + babel-extract-comments "^1.0.0" + babel-plugin-transform-object-rest-spread "^6.26.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-loader@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" + integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== + dependencies: + loader-utils "^2.0.0" + schema-utils "^2.7.0" + +styled-components@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.1.1.tgz#96dfb02a8025794960863b9e8e365e3b6be5518d" + integrity sha512-1ps8ZAYu2Husx+Vz8D+MvXwEwvMwFv+hqqUwhNlDN5ybg6A+3xyW1ECrAgywhvXapNfXiz79jJyU0x22z0FFTg== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/traverse" "^7.4.5" + "@emotion/is-prop-valid" "^0.8.8" + "@emotion/stylis" "^0.8.4" + "@emotion/unitless" "^0.7.4" + babel-plugin-styled-components ">= 1" + css-to-react-native "^3.0.0" + hoist-non-react-statics "^3.0.0" + shallowequal "^1.1.0" + supports-color "^5.5.0" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +stylis@^4.0.3: + version "4.0.10" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240" + integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg== + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +svg-parser@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svg.draggable.js@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz#c514a2f1405efb6f0263e7958f5b68fce50603ba" + integrity sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw== + dependencies: + svg.js "^2.0.1" + +svg.easing.js@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/svg.easing.js/-/svg.easing.js-2.0.0.tgz#8aa9946b0a8e27857a5c40a10eba4091e5691f12" + integrity sha1-iqmUawqOJ4V6XEChDrpAkeVpHxI= + dependencies: + svg.js ">=2.3.x" + +svg.filter.js@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/svg.filter.js/-/svg.filter.js-2.0.2.tgz#91008e151389dd9230779fcbe6e2c9a362d1c203" + integrity sha1-kQCOFROJ3ZIwd5/L5uLJo2LRwgM= + dependencies: + svg.js "^2.2.5" + +svg.js@>=2.3.x, svg.js@^2.0.1, svg.js@^2.2.5, svg.js@^2.4.0, svg.js@^2.6.5: + version "2.7.1" + resolved "https://registry.yarnpkg.com/svg.js/-/svg.js-2.7.1.tgz#eb977ed4737001eab859949b4a398ee1bb79948d" + integrity sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA== + +svg.pathmorphing.js@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz#c25718a1cc7c36e852ecabc380e758ac09bb2b65" + integrity sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww== + dependencies: + svg.js "^2.4.0" + +svg.resize.js@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/svg.resize.js/-/svg.resize.js-1.4.3.tgz#885abd248e0cd205b36b973c4b578b9a36f23332" + integrity sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw== + dependencies: + svg.js "^2.6.5" + svg.select.js "^2.1.2" + +svg.select.js@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/svg.select.js/-/svg.select.js-2.1.2.tgz#e41ce13b1acff43a7441f9f8be87a2319c87be73" + integrity sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ== + dependencies: + svg.js "^2.2.5" + +svg.select.js@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/svg.select.js/-/svg.select.js-3.0.1.tgz#a4198e359f3825739226415f82176a90ea5cc917" + integrity sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw== + dependencies: + svg.js "^2.6.5" + +svgo@^1.0.0, svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + 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" + +sweetalert2-react-content@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/sweetalert2-react-content/-/sweetalert2-react-content-3.0.1.tgz#aed5fda272988a81fac576cffbbd2b7d30d6913d" + integrity sha512-VBybIRTIzY2bTkUddcp2wMJ3mp3gfGGX6+BfW2dDrEv6bXM2WtzJpFkM2imFpcPhpkOIf2/J8gLxEu0jBZq0DQ== + +sweetalert2@10.14.0: + version "10.14.0" + resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-10.14.0.tgz#73a7487b12b56dec4c1e47d7d4926e8fe880e727" + integrity sha512-EBUh4k9qyRRsttm9X9j7WUhLExetvTJpcbp1VTMJCpuI2UwHLesXMIw9M+UeuqBywv0UjNMR5PKH7Qnv65m8rw== + +swiper@6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/swiper/-/swiper-6.0.4.tgz#d3889383369e780e8d905e6aaf78a43dc3690176" + integrity sha512-D+DBxgg81+uocgsvhmdzrpr4GHzhAt2yImArqzunrC80y7+/yCEAq/EJw1VASD+CBFNacF4F8FEIqJMLyDFM0g== + dependencies: + dom7 "^3.0.0-alpha.7" + ssr-window "^3.0.0-alpha.4" + +symbol-observable@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + dependencies: + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + +tar@^6.0.2: + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= + +tempy@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8" + integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ== + dependencies: + temp-dir "^1.0.0" + type-fest "^0.3.1" + unique-string "^1.0.0" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terser-webpack-plugin@4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" + integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ== + dependencies: + cacache "^15.0.5" + find-cache-dir "^3.3.1" + jest-worker "^26.5.0" + p-limit "^3.0.2" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + source-map "^0.6.1" + terser "^5.3.4" + webpack-sources "^1.4.3" + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +terser@^5.3.4: + version "5.7.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.2.tgz#d4d95ed4f8bf735cb933e802f2a1829abf545e3f" + integrity sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@0.2.0, text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-emitter@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" + integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== + +tiny-invariant@^1.0.2, tiny-invariant@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== + +tiny-warning@^1.0.0, tiny-warning@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +toposort@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" + integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== + dependencies: + glob "^7.1.2" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-pnp@1.2.0, ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tsutils@^3.17.1, tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tus-js-client@^2.1.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tus-js-client/-/tus-js-client-2.3.0.tgz#5d76145476cea46a4e7c045a0054637cddf8dc39" + integrity sha512-I4cSwm6N5qxqCmBqenvutwSHe9ntf81lLrtf6BmLpG2v4wTl89atCQKqGgqvkodE6Lx+iKIjMbaXmfvStTg01g== + dependencies: + buffer-from "^0.1.1" + combine-errors "^3.0.3" + is-stream "^2.0.0" + js-base64 "^2.6.1" + lodash.throttle "^4.1.1" + proper-lockfile "^2.0.1" + url-parse "^1.4.3" + +tween-functions@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tween-functions/-/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff" + integrity sha1-GuOlDnxguz3vd06scHrLynO7w/8= + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +typed-styles@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9" + integrity sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +ua-parser-js@^0.7.18: + version "0.7.28" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" + integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== + +uc.micro@^1.0.1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + +universalify@^0.1.0, universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1, upath@^1.1.2, upath@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +uppy@1.21.2: + version "1.21.2" + resolved "https://registry.yarnpkg.com/uppy/-/uppy-1.21.2.tgz#34cfc1ec59aeaafcad0e9a0cce87a9f43fa295e1" + integrity sha512-4qkdvtMiVysDjb3p+BoEA9G8wVjXg8Hs2F3IiPzWOArbIfKB2pJf8QhdNgg9o6RuKZeq4wx2ynzk+KP1h6nEtQ== + dependencies: + "@uppy/aws-s3" "^1.7.0" + "@uppy/aws-s3-multipart" "^1.8.6" + "@uppy/companion-client" "^1.5.4" + "@uppy/core" "^1.13.2" + "@uppy/dashboard" "^1.12.8" + "@uppy/drag-drop" "^1.4.19" + "@uppy/dropbox" "^1.4.16" + "@uppy/facebook" "^1.1.16" + "@uppy/file-input" "^1.4.17" + "@uppy/form" "^1.3.20" + "@uppy/golden-retriever" "^1.3.19" + "@uppy/google-drive" "^1.5.16" + "@uppy/informer" "^1.5.11" + "@uppy/instagram" "^1.4.16" + "@uppy/onedrive" "^1.1.16" + "@uppy/progress-bar" "^1.3.19" + "@uppy/provider-views" "^1.7.7" + "@uppy/redux-dev-tools" "^1.3.5" + "@uppy/screen-capture" "^1.0.8" + "@uppy/status-bar" "^1.7.6" + "@uppy/store-default" "^1.2.4" + "@uppy/store-redux" "^1.2.4" + "@uppy/thumbnail-generator" "^1.6.7" + "@uppy/transloadit" "^1.6.11" + "@uppy/tus" "^1.7.7" + "@uppy/url" "^1.5.11" + "@uppy/webcam" "^1.7.0" + "@uppy/xhr-upload" "^1.6.4" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse@^1.4.3, url-parse@^1.4.7: + version "1.5.3" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" + integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +warning@^4.0.2, warning@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.6.1, watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" + integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.7" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "0.3.20" + sockjs-client "1.4.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-manifest-plugin@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" + integrity sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ== + dependencies: + fs-extra "^7.0.0" + lodash ">=3.5 <5" + object.entries "^1.1.0" + tapable "^1.0.0" + +webpack-sources@^1.1.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.43.0: + version "4.43.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" + integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== + dependencies: + "@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" + +webpack@4.44.2: + version "4.44.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" + integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== + dependencies: + "@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.3.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.7.4" + webpack-sources "^1.4.1" + +websocket-driver@0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" + integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= + dependencies: + websocket-extensions ">=0.1.1" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.4.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@1, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +wildcard@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-1.1.2.tgz#a7020453084d8cd2efe70ba9d3696263de1710a5" + integrity sha1-pwIEUwhNjNLv5wup02liY94XEKU= + +wmf@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da" + integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw== + +wnumb@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/wnumb/-/wnumb-1.2.0.tgz#f6fa5bfa739b9ca3b1e472094e1feeeb189484d9" + integrity sha512-eYut5K/dW7usfk/Mwm6nxBNoTPp/uP7PlXld+hhg7lDtHLdHFnNclywGYM9BRC7Ohd4JhwuHg+vmOUGfd3NhVA== + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +workbox-background-sync@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz#5ae0bbd455f4e9c319e8d827c055bb86c894fd12" + integrity sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA== + dependencies: + workbox-core "^5.1.4" + +workbox-broadcast-update@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz#0eeb89170ddca7f6914fa3523fb14462891f2cfc" + integrity sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA== + dependencies: + workbox-core "^5.1.4" + +workbox-build@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-5.1.4.tgz#23d17ed5c32060c363030c8823b39d0eabf4c8c7" + integrity sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow== + dependencies: + "@babel/core" "^7.8.4" + "@babel/preset-env" "^7.8.4" + "@babel/runtime" "^7.8.4" + "@hapi/joi" "^15.1.0" + "@rollup/plugin-node-resolve" "^7.1.1" + "@rollup/plugin-replace" "^2.3.1" + "@surma/rollup-plugin-off-main-thread" "^1.1.1" + common-tags "^1.8.0" + fast-json-stable-stringify "^2.1.0" + fs-extra "^8.1.0" + glob "^7.1.6" + lodash.template "^4.5.0" + pretty-bytes "^5.3.0" + rollup "^1.31.1" + rollup-plugin-babel "^4.3.3" + rollup-plugin-terser "^5.3.1" + source-map "^0.7.3" + source-map-url "^0.4.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + tempy "^0.3.0" + upath "^1.2.0" + workbox-background-sync "^5.1.4" + workbox-broadcast-update "^5.1.4" + workbox-cacheable-response "^5.1.4" + workbox-core "^5.1.4" + workbox-expiration "^5.1.4" + workbox-google-analytics "^5.1.4" + workbox-navigation-preload "^5.1.4" + workbox-precaching "^5.1.4" + workbox-range-requests "^5.1.4" + workbox-routing "^5.1.4" + workbox-strategies "^5.1.4" + workbox-streams "^5.1.4" + workbox-sw "^5.1.4" + workbox-window "^5.1.4" + +workbox-cacheable-response@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz#9ff26e1366214bdd05cf5a43da9305b274078a54" + integrity sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA== + dependencies: + workbox-core "^5.1.4" + +workbox-core@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-5.1.4.tgz#8bbfb2362ecdff30e25d123c82c79ac65d9264f4" + integrity sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg== + +workbox-expiration@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-5.1.4.tgz#92b5df461e8126114943a3b15c55e4ecb920b163" + integrity sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ== + dependencies: + workbox-core "^5.1.4" + +workbox-google-analytics@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz#b3376806b1ac7d7df8418304d379707195fa8517" + integrity sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA== + dependencies: + workbox-background-sync "^5.1.4" + workbox-core "^5.1.4" + workbox-routing "^5.1.4" + workbox-strategies "^5.1.4" + +workbox-navigation-preload@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz#30d1b720d26a05efc5fa11503e5cc1ed5a78902a" + integrity sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ== + dependencies: + workbox-core "^5.1.4" + +workbox-precaching@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-5.1.4.tgz#874f7ebdd750dd3e04249efae9a1b3f48285fe6b" + integrity sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA== + dependencies: + workbox-core "^5.1.4" + +workbox-range-requests@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz#7066a12c121df65bf76fdf2b0868016aa2bab859" + integrity sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw== + dependencies: + workbox-core "^5.1.4" + +workbox-routing@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-5.1.4.tgz#3e8cd86bd3b6573488d1a2ce7385e547b547e970" + integrity sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw== + dependencies: + workbox-core "^5.1.4" + +workbox-strategies@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-5.1.4.tgz#96b1418ccdfde5354612914964074d466c52d08c" + integrity sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA== + dependencies: + workbox-core "^5.1.4" + workbox-routing "^5.1.4" + +workbox-streams@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-5.1.4.tgz#05754e5e3667bdc078df2c9315b3f41210d8cac0" + integrity sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw== + dependencies: + workbox-core "^5.1.4" + workbox-routing "^5.1.4" + +workbox-sw@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-5.1.4.tgz#2bb34c9f7381f90d84cef644816d45150011d3db" + integrity sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA== + +workbox-webpack-plugin@5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz#7bfe8c16e40fe9ed8937080ac7ae9c8bde01e79c" + integrity sha512-PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ== + dependencies: + "@babel/runtime" "^7.5.5" + fast-json-stable-stringify "^2.0.0" + source-map-url "^0.4.0" + upath "^1.1.2" + webpack-sources "^1.3.0" + workbox-build "^5.1.4" + +workbox-window@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-5.1.4.tgz#2740f7dea7f93b99326179a62f1cc0ca2c93c863" + integrity sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw== + dependencies: + workbox-core "^5.1.4" + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" + integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== + dependencies: + microevent.ts "~0.1.1" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^6.2.1: + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + dependencies: + async-limiter "~1.0.0" + +ws@^7.4.6: + version "7.5.4" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.4.tgz#56bfa20b167427e138a7795de68d134fe92e21f9" + integrity sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg== + +ws@~6.1.0: + version "6.1.4" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9" + integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA== + dependencies: + async-limiter "~1.0.0" + +xlsx@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.16.2.tgz#84043c36b76ddd776b3b49973530303b21894266" + integrity sha512-XTqOy7YpCUtGbvCYaCh1t1RsZ/y8cSCbZCOYtqqZ4/EmHkyv+/ghxmCvvR8yc4Tn5fhny+3j7voKwJaRlffNKA== + dependencies: + adler-32 "~1.2.0" + cfb "^1.1.4" + codepage "~1.14.0" + commander "~2.17.1" + crc-32 "~1.2.0" + exit-on-epipe "~1.0.1" + ssf "~0.10.3" + wmf "~1.0.1" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xmlhttprequest-ssl@~1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" + integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + 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" + +yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yarn@1.21.1: + version "1.21.1" + resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.21.1.tgz#1d5da01a9a03492dc4a5957befc1fd12da83d89c" + integrity sha512-dQgmJv676X/NQczpbiDtc2hsE/pppGDJAzwlRiADMTvFzYbdxPj2WO4PcNyriSt2c4jsCMpt8UFRKHUozt21GQ== + +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" + integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yup@0.32.8: + version "0.32.8" + resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.8.tgz#16e4a949a86a69505abf99fd0941305ac9adfc39" + integrity sha512-SZulv5FIZ9d5H99EN5tRCRPXL0eyoYxWIP1AacCrjC9d4DfP13J1dROdKGfpfRHT3eQB6/ikBl5jG21smAfCkA== + dependencies: + "@babel/runtime" "^7.10.5" + "@types/lodash" "^4.14.165" + lodash "^4.17.20" + lodash-es "^4.17.11" + nanoclone "^0.2.1" + property-expr "^2.0.4" + toposort "^2.0.2"
    + + + + +
    +

    Theme Customizer

    +

    Customize & Preview in Real Time

    + + + +
    + +
    + +
    + +

    Skin

    +
    {renderSkinsRadio()}
    +
    + + +

    Content Width

    +
    + setContentWidth('full')} + /> + setContentWidth('boxed')} + /> +
    +
    + + +
    +

    RTL

    + setIsRtl(!isRtl)} /> +
    +
    + + +
    +

    Router Transition

    + + setInputVisibility(!inputVisibility)}> + {renderIcon()} + + + + ) +} + +export default InputPasswordToggle + +// ** PropTypes +InputPasswordToggle.propTypes = { + hideIcon: PropTypes.node, + showIcon: PropTypes.node, + visible: PropTypes.bool, + className: PropTypes.string, + placeholder: PropTypes.string, + iconSize: PropTypes.number, + inputClassName: PropTypes.string, + label(props, propName, componentName) { + // ** If label is defined and htmlFor is undefined throw error + if (props[propName] && props['htmlFor'] === 'undefined') { + throw new Error('htmlFor prop is required when label prop is present') + } + }, + htmlFor(props, propName, componentName) { + // ** If htmlFor is defined and label is undefined throw error + if (props[propName] && props['label'] === 'undefined') { + throw new Error('label prop is required when htmlFor prop is present') + } + } +} + +// ** Default Props +InputPasswordToggle.defaultProps = { + visible: false +} diff --git a/src/@core/components/number-input/index.js b/src/@core/components/number-input/index.js new file mode 100644 index 0000000..0e9492b --- /dev/null +++ b/src/@core/components/number-input/index.js @@ -0,0 +1,205 @@ +// ** React Imports +import PropTypes from 'prop-types' +import classnames from 'classnames' +import { Plus, Minus } from 'react-feather' +import { useState, useEffect } from 'react' +import { InputGroup, InputGroupAddon, Input, Button } from 'reactstrap' + +// ** Styles +import './number-input.scss' + +// ** Keycode Vars +const KEYCODE_UP = 38 +const KEYCODE_DOWN = 40 + +const NumberInput = props => { + // ** Props + const { + min, + max, + step, + size, + wrap, + value, + style, + upIcon, + disabled, + readonly, + onChange, + downIcon, + vertical, + className, + onDecrement, + onIncrement, + inputClassName, + ...rest + } = props + + // ** State + const [count, setCount] = useState(value || min) + + // ** Handle btn down click + const handleDecrement = () => { + if (!disabled && !readonly) { + // ** If count is equals or smaller than min then return and do nothing + if (!wrap && count <= min) { + return + } + + // ** Returns the decreased count based on wrap & and min prop + const countCondition = () => { + if (count - step < min) { + if (wrap) { + return max + } else { + return min + } + } else { + return count - step + } + } + + setCount(countCondition()) + + if (onDecrement) { + onIncrement(count) + } + } + } + + // ** Handle btn up click + const handleIncrement = () => { + if (!disabled && !readonly) { + // ** If count is equals or larger than min then return and do nothing + if (!wrap && count >= max) { + return + } + + // ** Returns the Increased count based on wrap & and max prop + const countCondition = () => { + if (count + step > max) { + if (wrap) { + return min + } else { + return max + } + } else { + return count + step + } + } + + setCount(countCondition()) + + if (onIncrement) { + onIncrement(count) + } + } + } + + // ** Handle input change + const handleInputChange = e => { + setCount(Number(e.target.value)) + } + + // ** Handle Arrow Up & Down + const handleKeyDown = e => { + e.preventDefault() + if (!readonly) { + if (e.keyCode === KEYCODE_UP) { + handleIncrement() + } + if (e.keyCode === KEYCODE_DOWN) { + handleDecrement() + } + } + } + + // ** UseEffect based on user passed onChange + useEffect(() => { + if (onChange) { + onChange(count) + } + }, [count]) + + return ( + + + + + + + + + + ) +} + +export default NumberInput + +// ** Default Props +NumberInput.defaultProps = { + min: 1, + step: 1, + wrap: false, + max: Infinity, + disabled: false, + readonly: false, + downIcon: , + upIcon: +} + +// ** PropTypes +NumberInput.propTypes = { + wrap: PropTypes.bool, + min: PropTypes.number, + max: PropTypes.number, + step: PropTypes.number, + value: PropTypes.number, + style: PropTypes.object, + vertical: PropTypes.bool, + disabled: PropTypes.bool, + readonly: PropTypes.bool, + onChange: PropTypes.func, + upIcon: PropTypes.element, + downIcon: PropTypes.element, + className: PropTypes.string, + onDecrement: PropTypes.func, + onIncrement: PropTypes.func, + inputClassName: PropTypes.string, + size: PropTypes.oneOf(['sm', 'lg']) +} diff --git a/src/@core/components/number-input/number-input.scss b/src/@core/components/number-input/number-input.scss new file mode 100644 index 0000000..fe03f79 --- /dev/null +++ b/src/@core/components/number-input/number-input.scss @@ -0,0 +1,153 @@ +// Component: Number Input +// ======================================================================== + +@import '../../scss/base/bootstrap-extended/include'; +@import '../../scss/base/components/include'; + +.number-input { + border-radius: $border-radius; + text-align: center; + border: 1px solid $custom-control-border-color; + overflow: hidden; + + .form-control { + text-align: center; + padding: 0 0.25rem; + border-color: $custom-control-border-color; + + ::-webkit-outer-spin-button, + ::-webkit-inner-spin-button { + margin: 0; + -webkit-appearance: none; + } + -moz-appearance: textfield; + } + + &:focus, + &:active, + &:focus-within { + outline: 0; + box-shadow: none; + border-color: $primary; + + .form-control { + box-shadow: none; + border-color: $custom-control-border-color !important; + } + } + + &:not(.vertical-number-input) { + .form-control { + border-top: 0; + border-bottom: 0; + } + } + + &.disabled, + &.readonly { + &:focus, + &:active, + &:focus-within { + outline: 0; + box-shadow: none; + border-color: $custom-control-border-color; + } + .btn { + background-color: $input-disabled-bg; + opacity: 1; + } + } + + &.vertical-number-input { + display: inline-flex; + flex-direction: column; + width: auto; + max-width: 3rem; + + .input-group-prepend, + .input-group-append { + margin-right: 0; + margin-left: 0; + + .btn { + width: 100%; + } + } + + .input-group-prepend .btn { + border-bottom-left-radius: 0; + border-top-right-radius: $btn-border-radius; + } + + .input-group-append .btn { + border-bottom-left-radius: $btn-border-radius; + border-top-right-radius: 0; + } + + .form-control { + border-left: 0; + border-right: 0; + width: 100%; + padding-left: 0.5rem; + padding-right: 0.5rem; + font-size: 0.85rem; + } + + &-sm { + max-width: 2.5rem; + .form-control { + padding-left: 0.25rem; + padding-right: 0.25rem; + font-size: 0.75rem; + } + } + + &-lg { + max-width: 3.5rem; + .form-control { + font-size: 1rem; + } + } + } +} + +.dark-layout { + .number-input { + border-color: $theme-dark-input-border-color; + + .input-group-prepend, + .input-group-append { + button:not(.disabled) { + svg { + stroke: $theme-dark-body-color; + } + } + } + + &:focus, + &:active, + &:focus-within { + border-color: $primary !important; + + .form-control { + border-color: $theme-dark-input-border-color !important; + } + } + + &:not(.disabled), + &:not(.readonly) { + &:focus, + &:active, + &:focus-within { + border-color: $theme-dark-input-border-color; + } + } + + &.disabled, + &.readonly { + .btn { + background-color: $theme-dark-input-disabled-border-color; + } + } + } +} diff --git a/src/@core/components/repeater/index.js b/src/@core/components/repeater/index.js new file mode 100644 index 0000000..bd893dd --- /dev/null +++ b/src/@core/components/repeater/index.js @@ -0,0 +1,33 @@ +// ** Third Party Components +import PropTypes from 'prop-types' + +const Repeater = props => { + // ** Props + const { count, tag, component, children, ...rest } = props + + // ** Custom Tag + const Tag = tag + + // ** Default Items + const items = [] + + // ** Loop passed count times and push it in items Array + for (let i = 0; i < count; i++) { + items.push(children(i)) + } + + return {items} +} + +// ** PropTypes +Repeater.propTypes = { + count: PropTypes.number.isRequired, + tag: PropTypes.string.isRequired +} + +// ** Default Props +Repeater.defaultProps = { + tag: 'div' +} + +export default Repeater diff --git a/src/@core/components/ripple-button/index.js b/src/@core/components/ripple-button/index.js new file mode 100644 index 0000000..fda6ec1 --- /dev/null +++ b/src/@core/components/ripple-button/index.js @@ -0,0 +1,75 @@ +// ** React Imports +import { useState, useEffect } from 'react' + +// ** Third Party Components +import { Button } from 'reactstrap' +import classnames from 'classnames' + +// ** Styles +import './ripple-button.scss' + +const RippleButton = ({ className, children, onClick, ...rest }) => { + // ** States + const [mounted, setMounted] = useState(false) + const [isRippling, setIsRippling] = useState(false) + const [coords, setCoords] = useState({ x: -1, y: -1 }) + + // ** Toggle mounted on mount & unmount + useEffect(() => { + setMounted(true) + return () => setMounted(false) + }, []) + + // ** Check for coords and set ripple + useEffect(() => { + if (mounted) { + if (coords.x !== -1 && coords.y !== -1) { + setIsRippling(true) + setTimeout(() => setIsRippling(false), 500) + } else { + setIsRippling(false) + } + } + }, [coords]) + + // ** Reset Coords on ripple end + useEffect(() => { + if (mounted) { + if (!isRippling) setCoords({ x: -1, y: -1 }) + } + }, [isRippling]) + + return ( + + ) +} + +// ** PropTypes +RippleButton.propTypes = { + ...Button.propTypes +} + +Button.Ripple = RippleButton diff --git a/src/@core/components/ripple-button/ripple-button.scss b/src/@core/components/ripple-button/ripple-button.scss new file mode 100644 index 0000000..00d4164 --- /dev/null +++ b/src/@core/components/ripple-button/ripple-button.scss @@ -0,0 +1,36 @@ +// Component: Ripple Button +// ======================================================================== + +@import '../../scss/base/bootstrap-extended/include'; +@import '../../scss/base/components/include'; + +.waves-effect { + position: relative; + overflow: hidden; + .waves-ripple { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + opacity: 0; + width: 0; + height: 0; + border-radius: 50%; + background: rgba($color: $white, $alpha: 0.2); + animation: ripple-effect 0.7s ease; + } +} + +@keyframes ripple-effect { + 0% { + opacity: 0; + } + 25% { + opacity: 1; + } + 100% { + width: 200%; + padding-bottom: 200%; + opacity: 0; + } +} diff --git a/src/@core/components/sidebar/index.js b/src/@core/components/sidebar/index.js new file mode 100644 index 0000000..ea78d94 --- /dev/null +++ b/src/@core/components/sidebar/index.js @@ -0,0 +1,89 @@ +// ** Third Party Components +import { X } from 'react-feather' +import Proptypes from 'prop-types' +import classnames from 'classnames' +import { Modal, ModalHeader, ModalBody } from 'reactstrap' + +const Sidebar = props => { + // ** Props + const { + width, + open, + toggleSidebar, + size, + bodyClassName, + contentClassName, + wrapperClassName, + headerClassName, + className, + title, + children, + closeBtn, + ...rest + } = props + + // ** If user passes custom close btn render that else default close btn + const renderCloseBtn = closeBtn ? closeBtn : + + return ( + + +
    + {title} +
    +
    + + {children} + +
    + ) +} + +export default Sidebar + +// ** PropTypes +Sidebar.propTypes = { + title: Proptypes.string.isRequired, + open: Proptypes.bool.isRequired, + toggleSidebar: Proptypes.func.isRequired, + size: Proptypes.oneOf(['sm', 'lg']), + className: Proptypes.string, + bodyClassName: Proptypes.string, + contentClassName: Proptypes.string, + wrapperClassName: Proptypes.string, + children: Proptypes.any.isRequired, + width: Proptypes.oneOfType([Proptypes.number, Proptypes.string]) +} diff --git a/src/@core/components/spinner/Fallback-spinner.js b/src/@core/components/spinner/Fallback-spinner.js new file mode 100644 index 0000000..578d6d7 --- /dev/null +++ b/src/@core/components/spinner/Fallback-spinner.js @@ -0,0 +1,17 @@ +// ** Logo +import logo from '@src/assets/images/logo/logo.png' + +const SpinnerComponent = () => { + return ( +
    + logo +
    +
    +
    +
    +
    +
    + ) +} + +export default SpinnerComponent diff --git a/src/@core/components/spinner/Loading-spinner.js b/src/@core/components/spinner/Loading-spinner.js new file mode 100644 index 0000000..08da3c3 --- /dev/null +++ b/src/@core/components/spinner/Loading-spinner.js @@ -0,0 +1,13 @@ +const ComponentSpinner = () => { + return ( +
    +
    +
    +
    +
    +
    +
    + ) +} + +export default ComponentSpinner diff --git a/src/@core/components/statistics-card/index.js b/src/@core/components/statistics-card/index.js new file mode 100644 index 0000000..668345e --- /dev/null +++ b/src/@core/components/statistics-card/index.js @@ -0,0 +1,52 @@ +// ** Third Party Components +import Proptypes from 'prop-types' +import classnames from 'classnames' +import Chart from 'react-apexcharts' +import { Card, CardBody } from 'reactstrap' + +const StatisticsCards = props => { + // ** Props + const { className, hideChart, iconRight, iconBg, icon, stat, statTitle, options, series, type, height } = props + + return ( + + +
    +
    +
    {icon}
    +
    +
    +
    +

    {stat}

    +

    {statTitle}

    +
    +
    + {!hideChart && } +
    + ) +} +export default StatisticsCards + +// ** PropTypes +StatisticsCards.propTypes = { + className: Proptypes.string, + hideChart: Proptypes.bool, + iconRight: Proptypes.bool, + iconBg: Proptypes.string, + icon: Proptypes.node.isRequired, + stat: Proptypes.string.isRequired, + statTitle: Proptypes.string.isRequired, + options: Proptypes.object, + series: Proptypes.array, + type: Proptypes.string, + height: Proptypes.string +} diff --git a/src/@core/components/timeline/index.js b/src/@core/components/timeline/index.js new file mode 100644 index 0000000..b10ba88 --- /dev/null +++ b/src/@core/components/timeline/index.js @@ -0,0 +1,76 @@ +// ** Third Party Components +import Proptypes from 'prop-types' +import classnames from 'classnames' + +const Timeline = props => { + // ** Props + const { data, tag, className } = props + + // ** Custom Tagg + const Tag = tag ? tag : 'ul' + + return ( + + {data.map((item, i) => { + const ItemTag = item.tag ? item.tag : 'li' + + return ( + + + {item.icon ? item.icon : null} + +
    +
    +
    {item.title}
    + {item.meta ? ( + + {item.meta} + + ) : null} +
    +

    + {item.content} +

    + {item.customContent ? item.customContent : null} +
    +
    + ) + })} +
    + ) +} + +export default Timeline + +// ** PropTypes +Timeline.propTypes = { + data: Proptypes.array.isRequired, + className: Proptypes.string, + tag: Proptypes.string +} diff --git a/src/@core/components/ui-loader/index.js b/src/@core/components/ui-loader/index.js new file mode 100644 index 0000000..1170578 --- /dev/null +++ b/src/@core/components/ui-loader/index.js @@ -0,0 +1,45 @@ +// ** Third Party Components +import { Fragment } from 'react' +import Proptypes from 'prop-types' +import classnames from 'classnames' +import { Spinner } from 'reactstrap' + +import './ui-loader.scss' + +const UILoader = props => { + const { children, blocking, loader, className, tag, overlayColor } = props + + const Tag = tag + + return ( + + {children} + {blocking ? ( + +
    +
    {loader}
    +
    + ) : null} +
    + ) +} + +export default UILoader + +UILoader.defaultProps = { + tag: 'div', + blocking: false, + loader: +} + +UILoader.propTypes = { + tag: Proptypes.string, + loader: Proptypes.any, + className: Proptypes.string, + overlayColor: Proptypes.string, + blocking: Proptypes.bool.isRequired +} diff --git a/src/@core/components/ui-loader/ui-loader.scss b/src/@core/components/ui-loader/ui-loader.scss new file mode 100644 index 0000000..882f441 --- /dev/null +++ b/src/@core/components/ui-loader/ui-loader.scss @@ -0,0 +1,35 @@ +// Component: UI Loader +// ======================================================================== + +@import '../../scss/base/bootstrap-extended/include'; +@import '../../scss/base/components/include'; + +.ui-loader { + position: relative; + + &.show { + // background-color: rgba($color: $black, $alpha: 0.3); + .overlay { + content: ''; + position: absolute; + width: 100%; + height: 100%; + top: 0; + background-color: rgba($color: $black, $alpha: 0.3); + } + + > :first-child, + code { + background-color: initial; + } + } + + .loader { + position: absolute; + top: 50%; + left: 50%; + height: 50%; + margin-top: -1rem; + margin-left: -1rem; + } +} diff --git a/src/@core/components/widgets/stats/ChartOptions.js b/src/@core/components/widgets/stats/ChartOptions.js new file mode 100644 index 0000000..60e0d5c --- /dev/null +++ b/src/@core/components/widgets/stats/ChartOptions.js @@ -0,0 +1,104 @@ +// ** Area Chart Common Options +export const areaChartOptions = { + chart: { + toolbar: { + show: false + }, + sparkline: { + enabled: true + } + }, + grid: { + show: false + }, + colors: ['#7367F0'], + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + width: 2.5 + }, + fill: { + type: 'gradient', + gradient: { + shadeIntensity: 0.9, + opacityFrom: 0.7, + opacityTo: 0.5, + stops: [0, 80, 100] + } + }, + xaxis: { + labels: { + show: false + }, + axisBorder: { + show: false + } + }, + yaxis: { + labels: { + show: false + } + }, + tooltip: { + x: { show: false } + } +} + +// ** Line Chart Common Options +export const lineChartOptions = { + chart: { + toolbar: { + show: false + }, + sparkline: { + enabled: true + }, + dropShadow: { + enabled: true, + top: 5, + left: 0, + blur: 4, + opacity: 0.1 + } + }, + grid: { + show: false + }, + colors: ['#7367F0'], + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + width: 5 + }, + fill: { + type: 'gradient', + gradient: { + shadeIntensity: 1, + gradientToColors: ['#A9A2F6'], + opacityFrom: 1, + opacityTo: 1, + stops: [0, 100, 100, 100] + } + }, + + xaxis: { + labels: { + show: false + }, + axisBorder: { + show: false + } + }, + yaxis: { + labels: { + show: false + } + }, + tooltip: { + x: { show: false } + } +} diff --git a/src/@core/components/widgets/stats/StatsHorizontal.js b/src/@core/components/widgets/stats/StatsHorizontal.js new file mode 100644 index 0000000..c72535d --- /dev/null +++ b/src/@core/components/widgets/stats/StatsHorizontal.js @@ -0,0 +1,32 @@ +// ** Third Party Components +import PropTypes from 'prop-types' +import { Card, CardBody } from 'reactstrap' + +const StatsHorizontal = ({ icon, color, stats, statTitle, className, ...rest }) => { + return ( + + +
    +
    +

    {stats}

    +

    {statTitle}

    +
    +
    +
    {icon}
    +
    +
    +
    +
    + ) +} + +export default StatsHorizontal + +// ** PropTypes +StatsHorizontal.propTypes = { + icon: PropTypes.element.isRequired, + color: PropTypes.string.isRequired, + stats: PropTypes.string.isRequired, + statTitle: PropTypes.string.isRequired, + className: PropTypes.string +} diff --git a/src/@core/components/widgets/stats/StatsVertical.js b/src/@core/components/widgets/stats/StatsVertical.js new file mode 100644 index 0000000..db25de5 --- /dev/null +++ b/src/@core/components/widgets/stats/StatsVertical.js @@ -0,0 +1,28 @@ +// ** Third Party Components +import PropTypes from 'prop-types' +import { Card, CardBody } from 'reactstrap' + +const StatsVertical = ({ icon, color, stats, statTitle, className, ...rest }) => { + return ( + + +
    +
    {icon}
    +
    +

    {stats}

    +

    {statTitle}

    +
    +
    + ) +} + +export default StatsVertical + +// ** PropTypes +StatsVertical.propTypes = { + icon: PropTypes.element.isRequired, + color: PropTypes.string.isRequired, + stats: PropTypes.string.isRequired, + statTitle: PropTypes.string.isRequired, + className: PropTypes.string +} diff --git a/src/@core/components/widgets/stats/StatsWithAreaChart.js b/src/@core/components/widgets/stats/StatsWithAreaChart.js new file mode 100644 index 0000000..0863945 --- /dev/null +++ b/src/@core/components/widgets/stats/StatsWithAreaChart.js @@ -0,0 +1,51 @@ +// ** Custom Components +import Avatar from '@components/avatar' + +// ** Third Party Components +import PropTypes from 'prop-types' +import classnames from 'classnames' +import Chart from 'react-apexcharts' +import { Card, CardBody } from 'reactstrap' + +// ** Default Options +import { areaChartOptions } from './ChartOptions' + +const StatsWithAreaChart = props => { + // ** Props + const { icon, color, stats, statTitle, series, options, type, height, className, ...rest } = props + return ( + + + +

    {stats}

    +

    {statTitle}

    +
    + +
    + ) +} + +export default StatsWithAreaChart + +// ** PropTypes +StatsWithAreaChart.propTypes = { + icon: PropTypes.element.isRequired, + color: PropTypes.string.isRequired, + stats: PropTypes.string.isRequired, + statTitle: PropTypes.string.isRequired, + options: PropTypes.object, + series: PropTypes.array.isRequired, + type: PropTypes.string, + height: PropTypes.string, + className: PropTypes.string +} + +// ** Default Props +StatsWithAreaChart.defaultProps = { + options: areaChartOptions, + color: 'primary' +} diff --git a/src/@core/components/widgets/stats/StatsWithLineChart.js b/src/@core/components/widgets/stats/StatsWithLineChart.js new file mode 100644 index 0000000..d54ff89 --- /dev/null +++ b/src/@core/components/widgets/stats/StatsWithLineChart.js @@ -0,0 +1,45 @@ +// ** Custom Components +import Avatar from '@components/avatar' + +// ** Third Party Components +import PropTypes from 'prop-types' +import Chart from 'react-apexcharts' +import { Card, CardHeader, CardText } from 'reactstrap' + +// ** Default Options +import { lineChartOptions } from './ChartOptions' + +const StatsWithLineChart = ({ icon, color, stats, statTitle, series, options, type, height, ...rest }) => { + return ( + + +
    +

    {stats}

    + {statTitle} +
    + +
    + +
    + ) +} + +export default StatsWithLineChart + +// ** PropTypes +StatsWithLineChart.propTypes = { + icon: PropTypes.element.isRequired, + color: PropTypes.string.isRequired, + stats: PropTypes.string.isRequired, + statTitle: PropTypes.string.isRequired, + options: PropTypes.object, + series: PropTypes.array.isRequired, + type: PropTypes.string, + height: PropTypes.string +} + +// ** Default Props +StatsWithLineChart.defaultProps = { + options: lineChartOptions, + color: 'primary' +} diff --git a/src/@core/components/widgets/stats/TinyChartStats.js b/src/@core/components/widgets/stats/TinyChartStats.js new file mode 100644 index 0000000..3e8914f --- /dev/null +++ b/src/@core/components/widgets/stats/TinyChartStats.js @@ -0,0 +1,35 @@ +// ** Third Party Components +import PropTypes from 'prop-types' +import Chart from 'react-apexcharts' +import { Card, CardBody } from 'reactstrap' + +const TinyChartStats = props => { + // ** Props + const { title, stats, options, series, type, height } = props + + return ( + + +
    {title}
    +

    {stats}

    + +
    +
    + ) +} + +export default TinyChartStats + +// ** PropTypes +TinyChartStats.propTypes = { + title: PropTypes.string.isRequired, + stats: PropTypes.string.isRequired, + options: PropTypes.object.isRequired, + series: PropTypes.array.isRequired, + type: PropTypes.string.isRequired +} + +// ** Default Props +TinyChartStats.defaultProps = { + height: 100 +} diff --git a/src/@core/components/wizard/index.js b/src/@core/components/wizard/index.js new file mode 100644 index 0000000..d794b96 --- /dev/null +++ b/src/@core/components/wizard/index.js @@ -0,0 +1,121 @@ +// ** React Imports +import { useEffect, useState, Fragment, forwardRef } from 'react' + +// ** Third Party Components +import Stepper from 'bs-stepper' +import classnames from 'classnames' +import { PropTypes } from 'prop-types' +import { ChevronRight } from 'react-feather' + +// ** Styles +import 'bs-stepper/dist/css/bs-stepper.min.css' +import '../../../@core/scss/base/plugins/forms/form-wizard.scss' + +const Wizard = forwardRef((props, ref) => { + // ** Props + const { type, className, steps, separator, options, instance } = props + + // ** State + const [activeIndex, setActiveIndex] = useState(0) + + // ** Vars + let stepper = null + + // ** Step change listener on mount + useEffect(() => { + stepper = new Stepper(ref.current, options) + + ref.current.addEventListener('shown.bs-stepper', function (event) { + setActiveIndex(event.detail.indexStep) + }) + + if (instance) { + instance(stepper) + } + }, []) + + // ** Renders Wizard Header + const renderHeader = () => { + return steps.map((step, index) => { + return ( + + {index !== 0 && index !== steps.length ?
    {separator}
    : null} +
    index, + active: index === activeIndex + })} + data-target={`#${step.id}`} + > + +
    +
    + ) + }) + } + + // ** Renders Wizard Content + const renderContent = () => { + return steps.map((step, index) => { + return ( +
    + {step.content} +
    + ) + }) + } + + return ( +
    +
    {renderHeader()}
    +
    {renderContent()}
    +
    + ) +}) + +export default Wizard + +// ** Default Props +Wizard.defaultProps = { + type: 'horizontal', + separator: , + options: {} +} + +// ** PropTypes +Wizard.propTypes = { + type: PropTypes.string, + instance: PropTypes.func, + options: PropTypes.object, + className: PropTypes.string, + separator: PropTypes.element, + steps: PropTypes.arrayOf( + PropTypes.shape({ + id: PropTypes.string.isRequired, + title: PropTypes.string.isRequired, + subtitle: PropTypes.string, + icon: PropTypes.any, + content: PropTypes.any.isRequired + }) + ).isRequired +} diff --git a/src/@core/constant/index.js b/src/@core/constant/index.js new file mode 100644 index 0000000..e6b18e7 --- /dev/null +++ b/src/@core/constant/index.js @@ -0,0 +1,6 @@ +// ** Endpoints +export const HOST_NAME = process.env.API_BASE_URL +export default { + accountListEndpoint: `${HOST_NAME}user/list/account` +} + \ No newline at end of file diff --git a/src/@core/layouts/BlankLayout.js b/src/@core/layouts/BlankLayout.js new file mode 100644 index 0000000..1250625 --- /dev/null +++ b/src/@core/layouts/BlankLayout.js @@ -0,0 +1,35 @@ +// ** React Imports +import { useEffect, useState } from 'react' + +// ** Custom Hooks +import { useSkin } from '@hooks/useSkin' + +const BlankLayout = ({ children, ...rest }) => { + // ** Hooks + const [skin, setSkin] = useSkin() + + // ** States + const [isMounted, setIsMounted] = useState(false) + + //** ComponentDidMount + useEffect(() => { + setIsMounted(true) + return () => setIsMounted(false) + }, []) + + if (!isMounted) { + return null + } + + return ( +
    +
    +
    +
    {children}
    +
    +
    +
    + ) +} + +export default BlankLayout diff --git a/src/@core/layouts/HorizontalLayout.js b/src/@core/layouts/HorizontalLayout.js new file mode 100644 index 0000000..57b491a --- /dev/null +++ b/src/@core/layouts/HorizontalLayout.js @@ -0,0 +1,211 @@ +// ** React Imports +import { useState, useEffect } from 'react' +import { Link } from 'react-router-dom' + +// ** Store & Actions +import { useSelector, useDispatch } from 'react-redux' +import { handleMenuHidden, handleContentWidth } from '@store/actions/layout' + +// ** Third Party Components +import classnames from 'classnames' +import { ArrowUp } from 'react-feather' +import ScrollToTop from 'react-scroll-up' +import { Navbar, NavItem, Button } from 'reactstrap' + +// ** Configs +import themeConfig from '@configs/themeConfig' + +// ** Custom Components + +import Customizer from '@components/customizer' +import NavbarComponent from './components/navbar' +import FooterComponent from './components/footer' +import MenuComponent from './components/menu/horizontal-menu' + +// ** Custom Hooks +import { useRTL } from '@hooks/useRTL' +import { useSkin } from '@hooks/useSkin' +import { useNavbarType } from '@hooks/useNavbarType' +import { useFooterType } from '@hooks/useFooterType' +import { useNavbarColor } from '@hooks/useNavbarColor' + +// ** Styles +import '@styles/base/core/menu/menu-types/horizontal-menu.scss' + +const HorizontalLayout = props => { + // ** Props + const { children, navbar, footer, menu, currentActiveItem, routerProps } = props + + // ** Hooks + const [skin, setSkin] = useSkin() + const [isRtl, setIsRtl] = useRTL() + const [navbarType, setNavbarType] = useNavbarType() + const [footerType, setFooterType] = useFooterType() + const [navbarColor, setNavbarColor] = useNavbarColor() + + // ** States + const [isMounted, setIsMounted] = useState(false) + const [navbarScrolled, setNavbarScrolled] = useState(false) + + // ** Store Vars + const dispatch = useDispatch() + const layoutStore = useSelector(state => state.layout) + + // ** Vars + const contentWidth = layoutStore.contentWidth + const isHidden = layoutStore.menuHidden + + // ** Handles Content Width + const setContentWidth = val => dispatch(handleContentWidth(val)) + + // ** Handles Content Width + const setIsHidden = val => dispatch(handleMenuHidden(val)) + + // ** UseEffect Cleanup + const cleanup = () => { + setIsMounted(false) + setNavbarScrolled(false) + } + + //** ComponentDidMount + useEffect(() => { + setIsMounted(true) + window.addEventListener('scroll', function () { + if (window.pageYOffset > 65 && navbarScrolled === false) { + setNavbarScrolled(true) + } + if (window.pageYOffset < 65) { + setNavbarScrolled(false) + } + }) + return () => cleanup() + }, []) + + // ** Vars + const footerClasses = { + static: 'footer-static', + sticky: 'footer-fixed', + hidden: 'footer-hidden' + } + + const navbarWrapperClasses = { + floating: 'navbar-floating', + sticky: 'navbar-sticky', + static: 'navbar-static' + } + + const navbarClasses = { + floating: 'floating-nav', + sticky: 'fixed-top' + } + + const bgColorCondition = navbarColor !== '' && navbarColor !== 'light' && navbarColor !== 'white' + + if (!isMounted) { + return null + } + + return ( +
    + + {!navbar && ( +
    +
      + + + + logo + +

      {themeConfig.app.appName}

      + +
      +
    +
    + )} + +
    + {navbar ? navbar({ skin, setSkin }) : } +
    +
    + {!isHidden ? ( +
    + + {menu ? ( + menu({ routerProps, currentActiveItem }) + ) : ( + + )} + +
    + ) : null} + + {children} + {themeConfig.layout.customizer === true ? ( + + ) : null} +
    + {footer ? ( + footer({ footerType, footerClasses }) + ) : ( + + )} +
    + + {themeConfig.layout.scrollTop === true ? ( +
    + + + +
    + ) : null} +
    + ) +} +export default HorizontalLayout diff --git a/src/@core/layouts/components/BuyNow.js b/src/@core/layouts/components/BuyNow.js new file mode 100644 index 0000000..4b09cdb --- /dev/null +++ b/src/@core/layouts/components/BuyNow.js @@ -0,0 +1,14 @@ +// ** Third Party Components +import { Button } from 'reactstrap' + +const BuyNow = () => { + return ( +
    + +
    + ) +} + +export default BuyNow diff --git a/src/@core/layouts/components/footer/index.js b/src/@core/layouts/components/footer/index.js new file mode 100644 index 0000000..73cfecc --- /dev/null +++ b/src/@core/layouts/components/footer/index.js @@ -0,0 +1,22 @@ +// ** Icons Import +import { Heart } from 'react-feather' + +const Footer = () => { + return ( +

    + + COPYRIGHT © {new Date().getFullYear()}{' '} + + Pixinvent + + , All rights Reserved + + + Hand-crafted & Made with + + +

    + ) +} + +export default Footer diff --git a/src/@core/layouts/components/layout-wrapper/index.js b/src/@core/layouts/components/layout-wrapper/index.js new file mode 100644 index 0000000..81ad7c7 --- /dev/null +++ b/src/@core/layouts/components/layout-wrapper/index.js @@ -0,0 +1,89 @@ +// ** React Imports +import { Fragment, useEffect } from 'react' + +// ** Third Party Components +import classnames from 'classnames' + +// ** Store & Actions +import { useSelector, useDispatch } from 'react-redux' +import { handleContentWidth, handleMenuCollapsed, handleMenuHidden } from '@store/actions/layout' + +// ** Styles +import 'animate.css/animate.css' + +const LayoutWrapper = props => { + // ** Props + const { layout, children, appLayout, wrapperClass, transition, routeMeta } = props + + // ** Store Vars + const dispatch = useDispatch() + const store = useSelector(state => state) + const navbarStore = store.navbar + const contentWidth = store.layout.contentWidth + + //** Vars + const Tag = layout === 'HorizontalLayout' && !appLayout ? 'div' : Fragment + + // ** Clean Up Function + const cleanUp = () => { + if (routeMeta) { + if (routeMeta.contentWidth) { + dispatch(handleContentWidth('full')) + } + if (routeMeta.menuCollapsed) { + dispatch(handleMenuCollapsed(!routeMeta.menuCollapsed)) + } + if (routeMeta.menuHidden) { + dispatch(handleMenuHidden(!routeMeta.menuHidden)) + } + } + } + + // ** ComponentDidMount + useEffect(() => { + if (routeMeta) { + if (routeMeta.contentWidth) { + dispatch(handleContentWidth(routeMeta.contentWidth)) + } + if (routeMeta.menuCollapsed) { + dispatch(handleMenuCollapsed(routeMeta.menuCollapsed)) + } + if (routeMeta.menuHidden) { + dispatch(handleMenuHidden(routeMeta.menuHidden)) + } + } + return () => cleanUp() + }, []) + + return ( +
    +
    +
    +
    + + {children} + +
    +
    + ) +} + +export default LayoutWrapper diff --git a/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuGroup.js b/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuGroup.js new file mode 100644 index 0000000..a094d43 --- /dev/null +++ b/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuGroup.js @@ -0,0 +1,120 @@ +// ** React Imports +import { Link, useLocation } from 'react-router-dom' + +// ** Third Party Components +import classnames from 'classnames' +import { FormattedMessage } from 'react-intl' +import { Dropdown, DropdownMenu, DropdownToggle } from 'reactstrap' + +// ** Utils +import { isNavGroupActive } from '@layouts/utils' + +// ** Horizontal Menu Items Component +import HorizontalNavMenuItems from './HorizontalNavMenuItems' + +const HorizontalNavMenuGroup = props => { + // ** Props + const { + item, + submenu, + groupActive, + onMouseEnter, + onMouseLeave, + openDropdown, + setGroupActive, + activeItem, + setActiveItem, + routerProps, + setOpenDropdown, + currentActiveItem + } = props + + // ** URL Var + const currentURL = useLocation().pathname + + // ** Dropdown menu modifiers + const menuModifiers = { + setMaxHeight: { + enabled: true, + fn: data => { + const pageHeight = window.innerHeight, + ddTop = data.instance.reference.getBoundingClientRect().top, + ddHeight = data.popper.height + let maxHeight, stylesObj + + // ** Calculate and set height + if (pageHeight - ddTop - ddHeight - 28 < 1) { + maxHeight = pageHeight - ddTop - 25 + stylesObj = { + maxHeight, + overflowY: 'auto' + } + } + + const ddRef = data.instance.popper.getBoundingClientRect() + + // ** If there is not space left to open sub menu open it to the right + if (ddRef.left + ddRef.width - (window.innerWidth - 16) >= 0) { + data.instance.popper.closest('.dropdown').classList.add('openLeft') + } + + return { + ...data, + styles: { + ...stylesObj + } + } + } + } + } + return ( + onMouseEnter(item.id)} + onMouseEnter={() => onMouseEnter(item.id)} + onMouseLeave={() => onMouseLeave(item.id)} + > + e.preventDefault()} + > + {item.icon} + + + + + + + + + ) +} + +export default HorizontalNavMenuGroup diff --git a/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuItems.js b/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuItems.js new file mode 100644 index 0000000..c6dde20 --- /dev/null +++ b/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuItems.js @@ -0,0 +1,40 @@ +// ** React Imports +import { useContext } from 'react' + +// ** Ability Context +import { AbilityContext } from '@src/utility/context/Can' + +// ** Menu Components Imports +import HorizontalNavMenuLink from './HorizontalNavMenuLink' +import HorizontalNavMenuGroup from './HorizontalNavMenuGroup' +import { + resolveHorizontalNavMenuItemComponent as resolveNavItemComponent, + canViewMenuGroup, + canViewMenuItem +} from '@layouts/utils' + +const HorizontalNavMenuItems = props => { + // ** Context + const ability = useContext(AbilityContext) + + // ** Components Object + const Components = { + HorizontalNavMenuGroup, + HorizontalNavMenuLink + } + + // ** Render Nav Items + const RenderNavItems = props.items.map((item, index) => { + const TagName = Components[resolveNavItemComponent(item)] + if (item.children) { + // return canViewMenuGroup(item) && + return + } + // return canViewMenuItem(item) && + return + }) + + return RenderNavItems +} + +export default HorizontalNavMenuItems diff --git a/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuLink.js b/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuLink.js new file mode 100644 index 0000000..9b37959 --- /dev/null +++ b/src/@core/layouts/components/menu/horizontal-menu/HorizontalNavMenuLink.js @@ -0,0 +1,98 @@ +// ** React Imports +import { useEffect } from 'react' +import { NavLink, useLocation } from 'react-router-dom' + +// ** Horizontal menu items array +import navigation from '@src/navigation/horizontal' + +// ** Third Party Components +import classnames from 'classnames' +import { DropdownItem } from 'reactstrap' +import { FormattedMessage } from 'react-intl' + +// ** Utils +import { isNavLinkActive, search, getAllParents } from '@layouts/utils' + +const HorizontalNavMenuLink = ({ + item, + setOpenDropdown, + setGroupActive, + activeItem, + setActiveItem, + routerProps, + currentActiveItem, + isChild +}) => { + // ** Conditional Link Tag, if item has newTab or externalLink props use tag else use NavLink + const LinkTag = item.externalLink ? 'a' : NavLink + + // ** URL Vars + const location = useLocation() + const currentURL = location.pathname + + const navLinkActive = isNavLinkActive(item.navLink, currentURL, routerProps) + + // ** Get parents of current items + const searchParents = (navigation, currentURL) => { + const parents = search(navigation, currentURL, routerProps) // Search for parent object + const allParents = getAllParents(parents, 'id') // Parents Object to Parents Array + allParents.pop() + return allParents + } + + // ** Remove all items from OpenDropdown array + const resetOpenDropdowns = () => setOpenDropdown([]) + + // ** On mount update active group array + useEffect(() => { + if (currentActiveItem !== null) { + setActiveItem(currentActiveItem) + const arr = searchParents(navigation, currentURL) + setGroupActive([...arr]) + } + }, [location]) + + return ( +
  • + { + if (!match) { + return false + } + + if (match.url && match.url !== '' && match.url === item.navLink) { + currentActiveItem = item.navLink + } + } + })} + /*eslint-enable */ + > + {item.icon} + + + + +
  • + ) +} + +export default HorizontalNavMenuLink diff --git a/src/@core/layouts/components/menu/horizontal-menu/index.js b/src/@core/layouts/components/menu/horizontal-menu/index.js new file mode 100644 index 0000000..7a42f04 --- /dev/null +++ b/src/@core/layouts/components/menu/horizontal-menu/index.js @@ -0,0 +1,52 @@ +// ** React Imports +import { useState } from 'react' + +// ** Horizontal Menu Array +import navigation from '@src/navigation/horizontal' + +// ** Horizontal Menu Components +import HorizontalNavMenuItems from './HorizontalNavMenuItems' + +const HorizontalMenu = ({ currentActiveItem, routerProps }) => { + // ** States + const [activeItem, setActiveItem] = useState(null) + const [groupActive, setGroupActive] = useState([]) + const [openDropdown, setOpenDropdown] = useState([]) + + // ** On mouse enter push the ID to openDropdown array + const onMouseEnter = id => { + const arr = openDropdown + arr.push(id) + setOpenDropdown([...arr]) + } + + // ** On mouse leave remove the ID to openDropdown array + const onMouseLeave = id => { + const arr = openDropdown + arr.splice(arr.indexOf(id), 1) + setOpenDropdown([...arr]) + } + + return ( +
    + +
    + ) +} + +export default HorizontalMenu diff --git a/src/@core/layouts/components/menu/vertical-menu/VerticalMenuHeader.js b/src/@core/layouts/components/menu/vertical-menu/VerticalMenuHeader.js new file mode 100644 index 0000000..747eec6 --- /dev/null +++ b/src/@core/layouts/components/menu/vertical-menu/VerticalMenuHeader.js @@ -0,0 +1,65 @@ +// ** React Imports +import { useEffect } from 'react' +import { NavLink } from 'react-router-dom' + +// ** Third Party Components +import { Disc, X, Circle } from 'react-feather' + +// ** Config +import themeConfig from '@configs/themeConfig' + +const VerticalMenuHeader = props => { + // ** Props + const { menuCollapsed, setMenuCollapsed, setMenuVisibility, setGroupOpen, menuHover } = props + + // ** Reset open group + useEffect(() => { + if (!menuHover && menuCollapsed) setGroupOpen([]) + }, [menuHover, menuCollapsed]) + + // ** Menu toggler component + const Toggler = () => { + if (!menuCollapsed) { + return ( + setMenuCollapsed(true)} + /> + ) + } else { + return ( + setMenuCollapsed(false)} + /> + ) + } + } + + return ( +
    +
      +
    • + + + logo + +

      {themeConfig.app.appName}

      +
      +
    • +
    • +
      + + setMenuVisibility(false)} className='toggle-icon icon-x d-block d-xl-none' size={20} /> +
      +
    • +
    +
    + ) +} + +export default VerticalMenuHeader diff --git a/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuGroup.js b/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuGroup.js new file mode 100644 index 0000000..5116e07 --- /dev/null +++ b/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuGroup.js @@ -0,0 +1,145 @@ +// ** React Imports +import { Link, useLocation } from 'react-router-dom' + +// ** Third Party Components +import classnames from 'classnames' +import { Collapse, Badge } from 'reactstrap' +import { FormattedMessage } from 'react-intl' + +// ** Vertical Menu Items Component +import VerticalNavMenuItems from './VerticalNavMenuItems' + +// ** Utils +import { isNavGroupActive, getAllParents } from '@layouts/utils' + +const VerticalNavMenuGroup = ({ + item, + groupActive, + setGroupActive, + activeItem, + setActiveItem, + groupOpen, + setGroupOpen, + parentItem, + menuCollapsed, + menuHover, + routerProps, + currentActiveItem +}) => { + // ** Current Val + const currentURL = useLocation().pathname + + // ** Toggles Open Group + const toggleOpenGroup = (item, parentItem) => { + let openArr = groupOpen + let allParents + + if (parentItem) { + allParents = getAllParents(parentItem, 'id') + allParents.pop() + } + + // ** If user clicked on menu group inside already opened group i.g. when user click on blog group inside pages group + if (groupOpen && allParents && groupOpen[0] === allParents[0]) { + groupOpen.includes(item) ? openArr.splice(openArr.indexOf(item), 1) : openArr.push(item) + } else { + openArr = [] + if (!groupOpen.includes(item)) { + openArr.push(item) + } + } + + // ** Set Open Group + setGroupOpen([...openArr]) + } + + // ** Toggle Active Group + const toggleActiveGroup = (item, parentItem) => { + let activeArr = groupActive + let allParents + + if (parentItem) { + allParents = getAllParents(parentItem, 'id') + activeArr = allParents + } else { + activeArr.includes(item) ? activeArr.splice(activeArr.indexOf(item), 1) : activeArr.push(item) + } + + // ** Set open group removing any activegroup item present in opengroup state + const openArr = groupOpen.filter(val => !activeArr.includes(val)) + setGroupOpen([...openArr]) + + // ** Set Active Group + setGroupActive([...activeArr]) + } + + // ** On Group Item Click + const onCollapseClick = (e, item) => { + if ((groupActive && groupActive.includes(item.id)) || isNavGroupActive(item.children, currentURL, routerProps)) { + toggleActiveGroup(item.id) + } else { + toggleOpenGroup(item.id, parentItem) + } + + e.preventDefault() + } + + // ** Returns condition to add open class + const openClassCondition = id => { + if ((menuCollapsed && menuHover) || menuCollapsed === false) { + if (groupActive.includes(id) || groupOpen.includes(item.id)) { + return true + } + } else if (groupActive.includes(id) && menuCollapsed && menuHover === false) { + return false + } else { + return null + } + } + + return ( +
  • + onCollapseClick(e, item)}> + {item.icon} + + + + + {item.badge && item.badgeText ? ( + + {item.badgeText} + + ) : null} + + + {/* Render Child Recursively Through VerticalNavMenuItems Component */} +
      + + + +
    +
  • + ) +} + +export default VerticalNavMenuGroup diff --git a/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuItems.js b/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuItems.js new file mode 100644 index 0000000..ee754b5 --- /dev/null +++ b/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuItems.js @@ -0,0 +1,42 @@ +// ** React Imports +import { useContext } from 'react' + +// ** Vertical Menu Components +import VerticalNavMenuLink from './VerticalNavMenuLink' +import VerticalNavMenuGroup from './VerticalNavMenuGroup' +import VerticalNavMenuSectionHeader from './VerticalNavMenuSectionHeader' + +// ** Ability Context +import { AbilityContext } from '@src/utility/context/Can' + +// ** Utils +import { + resolveVerticalNavMenuItemComponent as resolveNavItemComponent, + canViewMenuGroup, + canViewMenuItem +} from '@layouts/utils' + +const VerticalMenuNavItems = props => { + // ** Context + const ability = useContext(AbilityContext) + + // ** Components Object + const Components = { + VerticalNavMenuSectionHeader, + VerticalNavMenuGroup, + VerticalNavMenuLink + } + + // ** Render Nav Menu Items + const RenderNavItems = props.items.map((item, index) => { + const TagName = Components[resolveNavItemComponent(item)] + if (item.children) { + return canViewMenuGroup(item) && + } + return canViewMenuItem(item) && + }) + + return RenderNavItems +} + +export default VerticalMenuNavItems diff --git a/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuLink.js b/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuLink.js new file mode 100644 index 0000000..a647e0e --- /dev/null +++ b/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuLink.js @@ -0,0 +1,122 @@ +// ** React Imports +import { useEffect } from 'react' +import { NavLink, useLocation, matchPath, useParams } from 'react-router-dom' + +// ** Third Party Components +import { Badge } from 'reactstrap' +import classnames from 'classnames' +import { FormattedMessage } from 'react-intl' + +// ** Vertical Menu Array Of Items +import navigation from '@src/navigation/vertical' + +// ** Utils +import { isNavLinkActive, search, getAllParents } from '@layouts/utils' + +const VerticalNavMenuLink = ({ + item, + groupActive, + setGroupActive, + activeItem, + setActiveItem, + groupOpen, + setGroupOpen, + toggleActiveGroup, + parentItem, + routerProps, + currentActiveItem +}) => { + // ** Conditional Link Tag, if item has newTab or externalLink props use
    tag else use NavLink + const LinkTag = item.externalLink ? 'a' : NavLink + + // ** URL Vars + const location = useLocation() + const currentURL = location.pathname + + // ** To match path + const match = matchPath(currentURL, { + path: `${item.navLink}/:param`, + exact: true, + strict: false + }) + + // ** Search for current item parents + const searchParents = (navigation, currentURL) => { + const parents = search(navigation, currentURL, routerProps) // Search for parent object + const allParents = getAllParents(parents, 'id') // Parents Object to Parents Array + return allParents + } + + // ** URL Vars + const resetActiveGroup = navLink => { + const parents = search(navigation, navLink, match) + toggleActiveGroup(item.id, parents) + } + + // ** Reset Active & Open Group Arrays + const resetActiveAndOpenGroups = () => { + setGroupActive([]) + setGroupOpen([]) + } + + // ** Checks url & updates active item + useEffect(() => { + if (currentActiveItem !== null) { + setActiveItem(currentActiveItem) + const arr = searchParents(navigation, currentURL) + setGroupActive([...arr]) + } + }, [location]) + + return ( +
  • + { + if (!match) { + return false + } + + if (match.url && match.url !== '' && match.url === item.navLink) { + currentActiveItem = item.navLink + } + } + })} + /*eslint-enable */ + onClick={e => { + if (!item.navLink.length) { + e.preventDefault() + } + parentItem ? resetActiveGroup(item.navLink) : resetActiveAndOpenGroups() + }} + > + {item.icon} + + + + + {item.badge && item.badgeText ? ( + + {item.badgeText} + + ) : null} + +
  • + ) +} + +export default VerticalNavMenuLink diff --git a/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuSectionHeader.js b/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuSectionHeader.js new file mode 100644 index 0000000..d8913aa --- /dev/null +++ b/src/@core/layouts/components/menu/vertical-menu/VerticalNavMenuSectionHeader.js @@ -0,0 +1,16 @@ +// ** Third Party Components +import { FormattedMessage } from 'react-intl' +import { MoreHorizontal } from 'react-feather' + +const VerticalNavMenuSectionHeader = ({ item, index }) => { + return ( +
  • + + + + +
  • + ) +} + +export default VerticalNavMenuSectionHeader diff --git a/src/@core/layouts/components/menu/vertical-menu/index.js b/src/@core/layouts/components/menu/vertical-menu/index.js new file mode 100644 index 0000000..d6c2a8e --- /dev/null +++ b/src/@core/layouts/components/menu/vertical-menu/index.js @@ -0,0 +1,98 @@ +// ** React Imports +import { Fragment, useState, useRef } from 'react' + +// ** Vertical Menu Items Array +import navigation from '@src/navigation/vertical' + +// ** Third Party Components +import classnames from 'classnames' +import PerfectScrollbar from 'react-perfect-scrollbar' + +// ** Vertical Menu Components +import VerticalMenuHeader from './VerticalMenuHeader' +import VerticalNavMenuItems from './VerticalNavMenuItems' + +const Sidebar = props => { + // ** Props + const { menuCollapsed, routerProps, menu, currentActiveItem, skin } = props + + // ** States + const [groupOpen, setGroupOpen] = useState([]) + const [groupActive, setGroupActive] = useState([]) + const [activeItem, setActiveItem] = useState(null) + + // ** Menu Hover State + const [menuHover, setMenuHover] = useState(false) + + // ** Ref + const shadowRef = useRef(null) + + // ** Function to handle Mouse Enter + const onMouseEnter = () => { + if (menuCollapsed) { + setMenuHover(true) + } + } + + // ** Scroll Menu + const scrollMenu = container => { + if (shadowRef && container.scrollTop > 0) { + if (!shadowRef.current.classList.contains('d-block')) { + shadowRef.current.classList.add('d-block') + } + } else { + if (shadowRef.current.classList.contains('d-block')) { + shadowRef.current.classList.remove('d-block') + } + } + } + + return ( + +
    setMenuHover(false)} + > + {menu ? ( + menu(props) + ) : ( + + {/* Vertical Menu Header */} + + {/* Vertical Menu Header Shadow */} +
    + {/* Perfect Scrollbar */} + scrollMenu(container)} + > +
      + +
    +
    +
    + )} +
    +
    + ) +} + +export default Sidebar diff --git a/src/@core/layouts/components/navbar/CartDropdown.js b/src/@core/layouts/components/navbar/CartDropdown.js new file mode 100644 index 0000000..90797c3 --- /dev/null +++ b/src/@core/layouts/components/navbar/CartDropdown.js @@ -0,0 +1,129 @@ +// ** React Imports +import { useEffect, Fragment, useState } from 'react' +import { Link } from 'react-router-dom' + +// ** Custom Components +import NumberInput from '@components/number-input' + +// ** Third Party Components +import { ShoppingCart, X } from 'react-feather' +import PerfectScrollbar from 'react-perfect-scrollbar' +import { Dropdown, DropdownMenu, DropdownToggle, DropdownItem, Media, Badge, Button } from 'reactstrap' + +// ** Store & Actions +import { useDispatch, useSelector } from 'react-redux' +import { getCartItems, deleteCartItem, getProduct } from '@src/views/apps/ecommerce/store/actions' + +const CartDropdown = () => { + // ** State + const [dropdownOpen, setDropdownOpen] = useState(false) + + // ** Store Vars + const dispatch = useDispatch() + const store = useSelector(state => state.ecommerce) + + // ** ComponentDidMount + useEffect(() => { + dispatch(getCartItems()) + }, []) + + // ** Function to toggle Dropdown + const toggle = () => setDropdownOpen(prevState => !prevState) + + // ** Function to call on Dropdown Item Click + const handleDropdownItemClick = id => { + dispatch(getProduct(id)) + toggle() + } + + // ** Loops through Cart Array to return Cart Items + const renderCartItems = () => { + if (store.cart.length) { + let total = 0 + + return ( + + + {store.cart.map(item => { + total += item.price + + return ( + + {item.name} + + dispatch(deleteCartItem(item.id))} /> +
    +
    + handleDropdownItemClick(item.id)} + > + {item.name} + +
    + by {item.brand} +
    +
    + +
    +
    ${item.price}
    +
    +
    + ) + })} +
    +
  • +
    +
    Total:
    +
    ${Number(total.toFixed(2))}
    +
    + + Checkout + +
  • +
    + ) + } else { + return

    Your cart is empty

    + } + } + + return ( + + + + {store.cart.length > 0 ? ( + + {store.cart.length} + + ) : null} + + +
  • + +

    My Cart

    + + {store.cart.length || 0} Items + +
    +
  • + {renderCartItems()} +
    +
    + ) +} + +export default CartDropdown diff --git a/src/@core/layouts/components/navbar/IntlDropdown.js b/src/@core/layouts/components/navbar/IntlDropdown.js new file mode 100644 index 0000000..1cca793 --- /dev/null +++ b/src/@core/layouts/components/navbar/IntlDropdown.js @@ -0,0 +1,61 @@ +// ** React Imports +import { useContext } from 'react' + +// ** Third Party Components +import ReactCountryFlag from 'react-country-flag' +import { UncontrolledDropdown, DropdownMenu, DropdownItem, DropdownToggle } from 'reactstrap' + +// ** Internationalization Context +import { IntlContext } from '@src/utility/context/Internationalization' + +const IntlDropdown = () => { + // ** Context + const intlContext = useContext(IntlContext) + + // ** Vars + const langObj = { + en: 'English', + de: 'German', + fr: 'French', + pt: 'Portuguese' + } + + // ** Function to switch Language + const handleLangUpdate = (e, lang) => { + e.preventDefault() + intlContext.switchLanguage(lang) + } + + return ( + + e.preventDefault()}> + + {langObj[intlContext.locale]} + + + handleLangUpdate(e, 'en')}> + + English + + handleLangUpdate(e, 'fr')}> + + French + + handleLangUpdate(e, 'de')}> + + German + + handleLangUpdate(e, 'pt')}> + + Portuguese + + + + ) +} + +export default IntlDropdown diff --git a/src/@core/layouts/components/navbar/NavIcons.js b/src/@core/layouts/components/navbar/NavIcons.js new file mode 100644 index 0000000..e69de29 diff --git a/src/@core/layouts/components/navbar/NavbarBookmarks.js b/src/@core/layouts/components/navbar/NavbarBookmarks.js new file mode 100644 index 0000000..30f00ce --- /dev/null +++ b/src/@core/layouts/components/navbar/NavbarBookmarks.js @@ -0,0 +1,300 @@ +// ** React Imports +import { Fragment, useEffect, useState } from 'react' +import { Link } from 'react-router-dom' + +// ** Third Party Components +import * as Icon from 'react-feather' +import classnames from 'classnames' +import Autocomplete from '@components/autocomplete' +import { + NavItem, + NavLink, + UncontrolledTooltip, + UncontrolledDropdown, + DropdownToggle, + DropdownMenu, + DropdownItem, + Tooltip +} from 'reactstrap' + +// ** Store & Actions +import { useDispatch, useSelector } from 'react-redux' +import { getBookmarks, updateBookmarked, handleSearchQuery } from '@store/actions/navbar' + +const NavbarBookmarks = props => { + // ** Props + const { setMenuVisibility } = props + + // ** State + const [value, setValue] = useState('') + const [openSearch, setOpenSearch] = useState(false) + + // ** Store Vars + const dispatch = useDispatch() + const store = useSelector(state => state.navbar) + + // ** ComponentDidMount + useEffect(() => { + dispatch(getBookmarks()) + }, []) + + // ** Function to toggle Theme (Light/Dark) + const ThemeToggler = () => { + if (props.skin === 'dark') { + return props.setSkin('light')} /> + } else { + return props.setSkin('dark')} /> + } +} + const [tooltipOpen, setTooltipOpen] = useState(false) + const toggle = () => setTooltipOpen(!tooltipOpen) + + const [mailtpOpen, setMailtpOpen] = useState(false) + const mailtoggle = () => setMailtpOpen(!mailtpOpen) + + const [smstpOpen, setSmstpOpen] = useState(false) + const smstoggle = () => setSmstpOpen(!smstpOpen) + + const [doctpOpen, setDoctpOpen] = useState(false) + const doctoggle = () => setDoctpOpen(!doctpOpen) + + const [markettpOpen, setMarkettpOpen] = useState(false) + const markettoggle = () => setMarkettpOpen(!markettpOpen) + + const [zoomtpOpen, setZoomtpOpen] = useState(false) + const zoomtoggle = () => setZoomtpOpen(!zoomtpOpen) + + const [linkedtpOpen, setLinkedtpOpen] = useState(false) + const linkedtoggle = () => setLinkedtpOpen(!linkedtpOpen) + + const [swthemetpOpen, setSwitchThemetpOpen] = useState(false) + const switchThemetoggle = () => setSwitchThemetpOpen(!swthemetpOpen) + // ** Loops through Bookmarks Array to return Bookmarks + const renderBookmarks = () => { + if (store.bookmarks.length) { + return store.bookmarks + .map(item => { + const IconTag = Icon[item.icon] + return ( + + + + {item.title} + + + ) + }) + .slice(0, 10) + } else { + return null + } + } + + // ** If user has more than 10 bookmarks then add the extra Bookmarks to a dropdown + const renderExtraBookmarksDropdown = () => { + if (store.bookmarks.length && store.bookmarks.length >= 11) { + return ( + + + + + + + + {store.bookmarks + .map(item => { + const IconTag = Icon[item.icon] + return ( + + + {item.title} + + ) + }) + .slice(10)} + + + + + ) + } else { + return null + } + } + + // ** Removes query in store + const handleClearQueryInStore = () => dispatch(handleSearchQuery('')) + + // ** Loops through Bookmarks Array to return Bookmarks + const onKeyDown = e => { + if (e.keyCode === 27 || e.keyCode === 13) { + setTimeout(() => { + setOpenSearch(false) + handleClearQueryInStore() + }, 1) + } + } + + // ** Function to toggle Bookmarks + const handleBookmarkUpdate = id => dispatch(updateBookmarked(id)) + + // ** Function to handle Bookmarks visibility + const handleBookmarkVisibility = () => { + setOpenSearch(!openSearch) + setValue('') + handleClearQueryInStore() + } + + // ** Function to handle Input change + const handleInputChange = e => { + setValue(e.target.value) + dispatch(handleSearchQuery(e.target.value)) + } + + // ** Function to handle external Input click + const handleExternalClick = () => { + if (openSearch === true) { + setOpenSearch(false) + handleClearQueryInStore() + } + } + + // ** Function to clear input value + const handleClearInput = setUserInput => { + if (!openSearch) { + setUserInput('') + handleClearQueryInStore() + } + } + + return ( + +
      + + + + + Switch Theme + + + +
      + + + + Xero + + + + + + Email + + + + + + SMS + + + + + + Documents + + + + + + Marketting + + + + + + Zoom + + + + + + LinkedIn + + +
      + {renderExtraBookmarksDropdown()} + +
      +
      + +
      + {openSearch && store.suggestions.length ? ( + handleClearInput(setUserInput)} + onKeyDown={onKeyDown} + value={value} + onChange={handleInputChange} + customRender={( + item, + i, + filteredData, + activeSuggestion, + onSuggestionItemClick, + onSuggestionItemHover + ) => { + const IconTag = Icon[item.icon ? item.icon : 'X'] + return ( +
    • onSuggestionItemHover(filteredData.indexOf(item))} + className={classnames('suggestion-item d-flex align-items-center justify-content-between', { + active: filteredData.indexOf(item) === activeSuggestion + })} + > + { + setOpenSearch(false) + handleClearQueryInStore() + }} + style={{ + width: 'calc(90%)' + }} + > +
      + + {item.title} +
      + + handleBookmarkUpdate(item.id)} + /> +
    • + ) + }} + /> + ) : null} +
      +
      +
    +
    + ) +} + +export default NavbarBookmarks diff --git a/src/@core/layouts/components/navbar/NavbarSearch.js b/src/@core/layouts/components/navbar/NavbarSearch.js new file mode 100644 index 0000000..df4863f --- /dev/null +++ b/src/@core/layouts/components/navbar/NavbarSearch.js @@ -0,0 +1,160 @@ +// ** React Imports +import { useEffect, useState } from 'react' + +// ** Third Party Components +import axios from 'axios' +import classnames from 'classnames' +import * as Icon from 'react-feather' +import { NavItem, NavLink } from 'reactstrap' + +// ** Store & Actions +import { useDispatch } from 'react-redux' +import { handleSearchQuery } from '@store/actions/navbar' + +// ** Custom Components +import Autocomplete from '@components/autocomplete' + +const NavbarSearch = () => { + // ** Store Vars + const dispatch = useDispatch() + + // ** States + const [suggestions, setSuggestions] = useState([]) + const [navbarSearch, setNavbarSearch] = useState(false) + + // ** ComponentDidMount + useEffect(() => { + axios.get('/api/main-search/data').then(({ data }) => { + setSuggestions(data.searchArr) + }) + }, []) + + // ** Removes query in store + const handleClearQueryInStore = () => dispatch(handleSearchQuery('')) + + // ** Function to handle external Input click + const handleExternalClick = () => { + if (navbarSearch === true) { + setNavbarSearch(false) + handleClearQueryInStore() + } + } + + // ** Function to clear input value + const handleClearInput = setUserInput => { + if (!navbarSearch) { + setUserInput('') + handleClearQueryInStore() + } + } + + // ** Function to close search on ESC & ENTER Click + const onKeyDown = e => { + if (e.keyCode === 27 || e.keyCode === 13) { + setTimeout(() => { + setNavbarSearch(false) + handleClearQueryInStore() + }, 1) + } + } + + // ** Function to handle search suggestion Click + const handleSuggestionItemClick = () => { + setNavbarSearch(false) + handleClearQueryInStore() + } + + // ** Function to handle search list Click + const handleListItemClick = (func, link, e) => { + func(link, e) + setTimeout(() => { + setNavbarSearch(false) + }, 1) + handleClearQueryInStore() + } + + return ( + setNavbarSearch(true)}> + + + +
    +
    + +
    + {navbarSearch ? ( + handleClearInput(setUserInput)} + onKeyDown={onKeyDown} + onChange={e => dispatch(handleSearchQuery(e.target.value))} + customRender={(item, i, filteredData, activeSuggestion, onSuggestionItemClick, onSuggestionItemHover) => { + const IconTag = Icon[item.icon ? item.icon : 'X'] + return ( +
  • handleListItemClick(onSuggestionItemClick, item.link, e)} + onMouseEnter={() => onSuggestionItemHover(filteredData.indexOf(item))} + > +
    +
    + {item.icon ? ( + + ) : item.file ? ( + {item.title} + ) : item.img ? ( + {item.title} + ) : null} +
    +

    {item.title}

    + {item.by || item.email ? ( + {item.by ? item.by : item.email ? item.email : null} + ) : null} +
    +
    + {item.size || item.date ? ( +
    + {item.size ? item.size : item.date ? item.date : null} +
    + ) : null} +
    +
  • + ) + }} + /> + ) : null} +
    + { + e.stopPropagation() + setNavbarSearch(false) + handleClearQueryInStore() + }} + /> +
    +
    +
    + ) +} + +export default NavbarSearch diff --git a/src/@core/layouts/components/navbar/NotificationDropdown.js b/src/@core/layouts/components/navbar/NotificationDropdown.js new file mode 100644 index 0000000..f8864d4 --- /dev/null +++ b/src/@core/layouts/components/navbar/NotificationDropdown.js @@ -0,0 +1,176 @@ +// ** React Imports +import { Fragment } from 'react' + +// ** Custom Components +import Avatar from '@components/avatar' + +// ** Third Party Components +import classnames from 'classnames' +import PerfectScrollbar from 'react-perfect-scrollbar' +import { Bell, X, Check, AlertTriangle } from 'react-feather' +import { + Button, + Badge, + Media, + CustomInput, + DropdownMenu, + DropdownItem, + DropdownToggle, + UncontrolledDropdown +} from 'reactstrap' + +const NotificationDropdown = () => { + // ** Notification Array + const notificationsArray = [ + { + img: require('@src/assets/images/portrait/small/avatar-s-15.jpg').default, + subtitle: 'Won the monthly best seller badge.', + title: ( + + Congratulation Sam 🎉winner! + + ) + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + subtitle: 'You have 10 unread messages.', + title: ( + + New message received + + ) + }, + { + avatarContent: 'MD', + color: 'light-danger', + subtitle: 'MD Inc. order updated', + title: ( + + Revised Order 👋 checkout + + ) + }, + { + title:
    System Notifications
    , + switch: + }, + { + avatarIcon: , + color: 'light-danger', + subtitle: 'USA Server is down due to hight CPU usage', + title: ( + + Server down registered + + ) + }, + { + avatarIcon: , + color: 'light-success', + subtitle: 'Last month sales report generated', + title: ( + + Sales report generated + + ) + }, + { + avatarIcon: , + color: 'light-warning', + subtitle: 'BLR Server using high memory', + title: ( + + High memory usage + + ) + } + ] + + // ** Function to render Notifications + /*eslint-disable */ + const renderNotificationItems = () => { + return ( + + {notificationsArray.map((item, index) => { + return ( +
    e.preventDefault()}> + + {!item.switch ? ( + + + + + + {item.title} + {item.subtitle} + + + ) : ( + + {item.title} + {item.switch} + + )} + + + ) + })} + + ) + } + /*eslint-enable */ + + return ( + + e.preventDefault()}> + + + 5 + + + +
  • + +

    Notifications

    + + 6 New + +
    +
  • + {renderNotificationItems()} +
  • + + Read all notifications + +
  • +
    +
    + ) +} + +export default NotificationDropdown diff --git a/src/@core/layouts/components/navbar/UserDropdown.js b/src/@core/layouts/components/navbar/UserDropdown.js new file mode 100644 index 0000000..bcb158b --- /dev/null +++ b/src/@core/layouts/components/navbar/UserDropdown.js @@ -0,0 +1,72 @@ +// ** React Imports +import { useEffect, useState } from 'react' +import { Link } from 'react-router-dom' + +// ** Custom Components +import Avatar from '@components/avatar' + +// ** Utils +import { isUserLoggedIn } from '@utils' + +// ** Store & Actions +import { useDispatch } from 'react-redux' +import { handleLogout } from '@store/actions/auth' + +// ** Third Party Components +import { UncontrolledDropdown, DropdownMenu, DropdownToggle, DropdownItem } from 'reactstrap' +import { User, Mail, CheckSquare, MessageSquare, Settings, CreditCard, HelpCircle, Power } from 'react-feather' + +// ** Default Avatar Image +import defaultAvatar from '@src/assets/images/portrait/small/avatar-s-11.jpg' + +const UserDropdown = () => { + // ** Store Vars + const dispatch = useDispatch() + + // ** State + const [userData, setUserData] = useState(null) + + //** ComponentDidMount + useEffect(() => { + if (isUserLoggedIn() !== null) { + setUserData(JSON.parse(localStorage.getItem('userData'))) + } + }, []) + + //** Vars + const userAvatar = (userData && userData.avatar) || defaultAvatar + + return ( + + e.preventDefault()}> +
    + {(userData && userData['first_name']) || 'John Doe'} + {(userData && userData.role) || 'Admin'} +
    + +
    + + + + Profile + + + + Tasks + + + + + + Settings + + dispatch(handleLogout())}> + + Logout + + +
    + ) +} + +export default UserDropdown diff --git a/src/@core/layouts/components/navbar/index.js b/src/@core/layouts/components/navbar/index.js new file mode 100644 index 0000000..4d791eb --- /dev/null +++ b/src/@core/layouts/components/navbar/index.js @@ -0,0 +1,45 @@ +// ** React Imports +import { Fragment, useState } from 'react' +// ** Dropdowns Imports +// ** Dropdowns Imports +import IntlDropdown from './IntlDropdown' +import NavbarSearch from './NavbarSearch' +import NotificationDropdown from './NotificationDropdown' +import * as Icon from 'react-feather' +// ** Custom Components +import NavbarBookmarks from './NavbarBookmarks' +import UserDropdown from './UserDropdown' + + +// import NavIcons from './NavIcons' +// ** Third Party Components + +import { NavItem, NavLink, Tooltip } from 'reactstrap' + +const ThemeNavbar = props => { + // ** Props + const { skin, setSkin, setMenuVisibility } = props + + return ( + +
    +
      + + setMenuVisibility(true)}> + + + +
    + +
    +
    +
    + +
      + +
    +
    + ) +} + +export default ThemeNavbar diff --git a/src/@core/layouts/utils.js b/src/@core/layouts/utils.js new file mode 100644 index 0000000..83edf98 --- /dev/null +++ b/src/@core/layouts/utils.js @@ -0,0 +1,159 @@ +// ** React Imports +import { useContext } from 'react' +import { AbilityContext } from '@src/utility/context/Can' + +/** + * Return which component to render based on it's data/context + * @param {Object} item nav menu item + */ +export const resolveVerticalNavMenuItemComponent = item => { + if (item.header) return 'VerticalNavMenuSectionHeader' + if (item.children) return 'VerticalNavMenuGroup' + return 'VerticalNavMenuLink' +} + +/** + * Return which component to render based on it's data/context + * @param {Object} item nav menu item + */ +export const resolveHorizontalNavMenuItemComponent = item => { + if (item.children) return 'HorizontalNavMenuGroup' + return 'HorizontalNavMenuLink' +} + +/** + * Check if nav-link is active + * @param {Object} link nav-link object + */ +// export const isNavLinkActive = (link, currentURL, match) => { +// // return currentURL === link || (URLParams && Object.keys(URLParams).length && currentURLFilter === item.navLink) +// const getFirstObjProp = obj => obj[Object.keys(obj)[0]] +// return ( +// currentURL === link || +// (match !== null && match !== undefined && match.url === `${link}/${getFirstObjProp(match.params)}`) +// ) +// } + +export const isNavLinkActive = (link, currentURL, routerProps) => { + return ( + currentURL === link || + (routerProps && routerProps.meta && routerProps.meta.navLink && routerProps.meta.navLink === link) + ) + // return currentURL === link +} + +/** + * Check if nav group is + * @param {Array} children Group children + */ +// export const isNavGroupActive = (children, currentURL, match) => { +// return children.some(child => { +// // If child have children => It's group => Go deeper(recursive) +// if (child.children) { +// return isNavGroupActive(child.children, currentURL, match) +// } +// // else it's link => Check for matched Route +// return isNavLinkActive(child.navLink, currentURL, match) +// }) +// } +export const isNavGroupActive = (children, currentURL, routerProps) => { + return children.some(child => { + // If child have children => It's group => Go deeper(recursive) + if (child.children) { + return isNavGroupActive(child.children, currentURL, routerProps) + } + // else it's link => Check for matched Route + return isNavLinkActive(child.navLink, currentURL, routerProps) + }) +} + +/** + * Search for parent object + * @param {Array} navigation Group children + * @param {string} currentURL current URL + */ +// export const search = (navigation, currentURL, match) => { +// let result +// navigation.some(child => { +// let children +// // If child have children => It's group => Go deeper(recursive) +// if (child.children && (children = search(child.children, currentURL, match))) { +// return (result = { +// id: child.id, +// children +// }) +// } + +// // else it's link => Check for matched Route +// if (isNavLinkActive(child.navLink, currentURL, match)) { +// return (result = { +// id: child.id +// }) +// } +// }) +// return result +// } + +export const search = (navigation, currentURL, routerProps) => { + let result + navigation.some(child => { + let children + // If child have children => It's group => Go deeper(recursive) + if (child.children && (children = search(child.children, currentURL, routerProps))) { + return (result = { + id: child.id, + children + }) + } + + // else it's link => Check for matched Route + if (isNavLinkActive(child.navLink, currentURL, routerProps)) { + return (result = { + id: child.id + }) + } + }) + return result +} + +/** + * Loop through nested object + * @param {object} obj nested object + */ +export const getAllParents = (obj, match) => { + const res = [] + const recurse = (obj, current) => { + for (const key in obj) { + const value = obj[key] + if (value !== undefined) { + if (value && typeof value === 'object') { + recurse(value, key) + } else { + if (key === match) { + res.push(value) + } + } + } + } + } + recurse(obj) + return res +} + +export const canViewMenuGroup = item => { + const ability = useContext(AbilityContext) + // ! This same logic is used in canViewHorizontalNavMenuGroup and canViewHorizontalNavMenuHeaderGroup. So make sure to update logic in them as well + const hasAnyVisibleChild = item.children && item.children.some(i => ability.can(i.action, i.resource)) + + // ** If resource and action is defined in item => Return based on children visibility (Hide group if no child is visible) + // ** Else check for ability using provided resource and action along with checking if has any visible child + if (!(item.action && item.resource)) { + return hasAnyVisibleChild + } + return ability.can(item.action, item.resource) && hasAnyVisibleChild +} + +export const canViewMenuItem = item => { + const ability = useContext(AbilityContext) + return ability.can(item.action, item.resource) +} diff --git a/src/@core/scss/base/bootstrap-extended.scss b/src/@core/scss/base/bootstrap-extended.scss new file mode 100644 index 0000000..89c5f99 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended.scss @@ -0,0 +1,47 @@ +// ================================================================================================ +// File Name: bootstrap-extended.scss +// Description: List of modified Bootstrap files. This is an actual copy of bootstrap.scss +// excluding files that have not been modified. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import 'bootstrap-extended/include'; // Bootstrap includes +@import 'components/include'; // Components includes + +// Custom template mixins +@import 'core/mixins/alert'; // Template custom mixins + +// Core CSS +@import 'bootstrap-extended/reboot'; +@import 'bootstrap-extended/helper'; +@import 'bootstrap-extended/type'; +@import 'bootstrap-extended/code'; +@import 'bootstrap-extended/tables'; +@import 'bootstrap-extended/forms'; +@import 'bootstrap-extended/buttons'; +@import 'bootstrap-extended/button-group'; + +// Components +@import 'bootstrap-extended/dropdown'; +@import 'bootstrap-extended/navbar'; +@import 'bootstrap-extended/card'; +@import 'bootstrap-extended/breadcrumb'; +@import 'bootstrap-extended/badge'; +@import 'bootstrap-extended/nav'; +@import 'bootstrap-extended/alert'; +@import 'bootstrap-extended/media'; +@import 'bootstrap-extended/progress'; +@import 'bootstrap-extended/list-group'; +@import 'bootstrap-extended/toast'; +@import 'bootstrap-extended/collapse'; +@import 'bootstrap-extended/pagination'; + +// Components w/ JavaScript +@import 'bootstrap-extended/modal'; +@import 'bootstrap-extended/popover'; + +// Utility classes +@import 'bootstrap-extended/utilities'; diff --git a/src/@core/scss/base/bootstrap-extended/_alert.scss b/src/@core/scss/base/bootstrap-extended/_alert.scss new file mode 100644 index 0000000..f24e998 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_alert.scss @@ -0,0 +1,56 @@ +// Alerts + +.alert { + font-weight: 500; + border: none; + padding: 0; + // close + &.alert-dismissible { + .close { + padding: 0.5rem $alert-padding-x 0.5rem $alert-padding-x; + background-color: transparent !important; + box-shadow: none !important; + } + .alert-body { + padding: $alert-padding-y ($alert-padding-x * 2) $alert-padding-y $alert-padding-x; + } + } + .close:focus { + outline: 0; + } + + .alert-link:hover { + text-decoration: underline; + } + + // For Alert Content + p { + font-weight: 500; + padding: 2px 0; + margin-bottom: 0; + vertical-align: middle; + } + + // For alert heading + .alert-heading { + font-weight: 600; + font-size: $font-size-base; + padding: $alert-padding-y $alert-padding-x; + margin-bottom: 0; + } + .alert-body { + padding: $alert-padding-y $alert-padding-x; + i, + svg { + position: relative; + top: -2px; + } + } + + // For dark alert + &.alert-dark { + .alert-heading { + @include alert-heading-bs($dark); + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_badge.scss b/src/@core/scss/base/bootstrap-extended/_badge.scss new file mode 100644 index 0000000..636da58 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_badge.scss @@ -0,0 +1,90 @@ +// Badge + +.badge { + color: $white; + &[class*='badge-'] { + [class*='icon-'] { + line-height: 1; + } + + a { + color: $white; + } + + // badge dropdown alignment + .dropdown-toggle, + &.dropdown-toggle { + span, + i, + svg { + vertical-align: text-top; + } + i, + svg { + padding-left: 0.2rem; + } + &::after { + position: relative; + top: 0; + left: 0; + font-size: 1rem; + } + } + .dropdown-menu { + a { + color: $dropdown-color; + } + } + } + + i, + svg { + height: 12px; + width: 11px; + font-size: 12px; + stroke-width: 3; + vertical-align: top; + } + + // square badge + &.badge-square { + border-radius: 0; + } + + // badge-up + // to align badge over any element + &.badge-up { + position: absolute; + top: -11px; + right: -9px; + min-width: 1.429rem; + min-height: 1.429rem; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.786rem; + line-height: 0.786; + padding-left: 0.25rem; + padding-right: 0.25rem; + &.badge-sm { + top: -0.5rem; + right: -0.5rem; + } + } +} + +// For fullscreen search +.badge-icon { + i, + svg { + font-size: 100%; + margin-right: 5px; + } +} + +// badge dropup pointer +.dropup { + .badge { + cursor: pointer; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_breadcrumb.scss b/src/@core/scss/base/bootstrap-extended/_breadcrumb.scss new file mode 100644 index 0000000..e44405f --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_breadcrumb.scss @@ -0,0 +1,76 @@ +.breadcrumb { + &:not([class*='breadcrumb-']) { + .breadcrumb-item + .breadcrumb-item { + &:before { + content: ' '; + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $body-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + color: $body-color; + margin-right: $breadcrumb-item-padding; + background-size: 14px; + } + } + } + .breadcrumb-item + .breadcrumb-item { + &:before { + height: 20px; + } + } +} + +/* Component Specific */ +.breadcrumb-slash { + &.breadcrumb { + .breadcrumb-item + .breadcrumb-item:before { + content: '/'; + } + } +} +.breadcrumb-dots { + &.breadcrumb { + .breadcrumb-item + .breadcrumb-item:before { + content: '.'; + position: relative; + top: -4px; + } + } +} +.breadcrumb-dashes { + &.breadcrumb { + .breadcrumb-item + .breadcrumb-item:before { + content: '-'; + } + } +} +.breadcrumb-pipes { + &.breadcrumb { + .breadcrumb-item + .breadcrumb-item:before { + content: '|'; + } + } +} +.breadcrumb-chevron { + &.breadcrumb { + .breadcrumb-item + .breadcrumb-item:before { + content: ' '; + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $body-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + color: $body-color; + margin-right: $breadcrumb-item-padding; + background-size: 14px; + } + } +} + +@media (max-width: 648px) { + .content-header .breadcrumb { + display: none; + } + .breadcrumbs-top { + .content-header-title { + display: contents !important; + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_button-group.scss b/src/@core/scss/base/bootstrap-extended/_button-group.scss new file mode 100644 index 0000000..21bb5df --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_button-group.scss @@ -0,0 +1,59 @@ +// +// Split button dropdowns +// + +.dropdown-toggle-split { + padding-right: $btn-padding-x / 1.9; + padding-left: $btn-padding-x / 1.9; +} + +.btn-lg + .dropdown-toggle-split, +.btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: $input-btn-padding-x-lg / 1.75; + padding-left: $input-btn-padding-x-lg / 1.75; +} + +.btn-sm + .dropdown-toggle-split, +.btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: $input-btn-padding-x-sm / 1.9; + padding-left: $input-btn-padding-x-sm / 1.9; +} + +// button group border +.btn-group { + [class*='btn-']:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']) { + border-left-color: rgba($black, 0.08) !important; + border-right-color: rgba($black, 0.08) !important; + } +} + +// remove first btn group border left +.btn-group + > .btn:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']):first-child, +.btn-group + > .btn:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']):first-of-type { + border-left-color: transparent !important; +} + +// remove last btn group border right +.btn-group + > .btn:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']):last-child, +.btn-group + > .btn:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']):last-of-type { + border-right-color: transparent !important; +} + +// toggle button +.btn-group-toggle { + [class*='btn-outline-'] { + &:not(:last-child) { + border-right-width: 0 !important; + } + } + :not([class*='btn-outline-']) { + &.active, + &:active { + box-shadow: inset $box-shadow; + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_buttons.scss b/src/@core/scss/base/bootstrap-extended/_buttons.scss new file mode 100644 index 0000000..260370c --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_buttons.scss @@ -0,0 +1,67 @@ +// var for box shadow of gradient buttons +// Buttons +.btn { + box-shadow: none; + font-weight: 500; + + // gradient button on hover transition + &[class*='bg-gradient-'] { + transition: all 0.2s ease; + &:hover { + transform: translateY(-2px); + } + } + + // Icon button padding + &.btn-icon { + padding: 0.715rem 0.736rem; + } + &.btn-sm { + &.btn-icon { + padding: 0.5rem; + line-height: 0.5; + } + } + &.btn-lg { + &.btn-icon { + padding: 1rem; + line-height: 0.75; + } + } + + &:focus, + &.focus, + &:active, + &.active { + outline: none; + box-shadow: none; + } + + &:not(:disabled):not(.disabled):active:focus, + &:not(:disabled):not(.disabled).active:focus { + box-shadow: none !important; + } + + // feather icons inside btn + .feather { + vertical-align: bottom; + } +} + +// For Waves Input Padding +.btn.waves-input-wrapper { + padding: 0; +} + +@include media-breakpoint-down(sm) { + .btn-sm-block { + display: block; + width: 100%; + } +} + +// Remove cursor-pointer from button if button is disabled +// * setting it to inherit will auto adept cursor +.waves-effect { + cursor: inherit; +} diff --git a/src/@core/scss/base/bootstrap-extended/_card.scss b/src/@core/scss/base/bootstrap-extended/_card.scss new file mode 100644 index 0000000..d879311 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_card.scss @@ -0,0 +1,514 @@ +.card { + border: none; + margin-bottom: $content-padding; + box-shadow: $box-shadow; + transition: all 0.3s ease-in-out, background 0s, color 0s, border-color 0s; + .card { + box-shadow: none !important; + } + .card-title { + font-weight: 500; + font-size: 1.285rem; + margin-bottom: 1.53rem; // Considering sub-title minus margin + } + .card-bordered { + border: $card-border-width solid $card-border-color; + } + .card-img { + object-fit: cover; + } + .card-img-overlay { + border-radius: $card-border-radius; + } + + //fullscreen card + &.card-fullscreen { + display: block; + z-index: 9999; + position: fixed; + width: 100% !important; + height: 100% !important; + top: 0; + right: 0; + left: 0; + bottom: 0; + overflow: auto; + } + .card-body[class*='border-bottom-'] { + border-bottom-width: 2px !important; + } + .card-img-overlay { + &.bg-overlay { + background: rgba($black, 0.45); + } + .text-muted { + color: $gray-800 !important; + } + } + &.card-minimal { + border: none; + box-shadow: none; + } + + .card-header { + position: relative; + display: flex; + align-items: center; + flex-wrap: wrap; + justify-content: space-between; + border-bottom: none; + padding: 1.5rem; + background-color: transparent; + .card-title { + margin-bottom: 0; + } + + .heading-elements { + position: relative; + top: -1px; + + li:not(:first-child) a { + margin-left: 0.75rem; + } + + a { + &.btn { + padding-top: 6px; + padding-bottom: 6px; + } + i, + svg { + height: 1rem; + width: 1rem; + font-size: 1rem; + } + &[data-action='collapse'] { + i, + svg { + transition: all 0.25s ease-out; + display: inline-block; + } + &.rotate { + i, + svg { + transform: rotate(-180deg); + } + } + } + } + } + + & + .card-content > .card-body:first-of-type, + & + .card-body { + padding-top: 0px; + } + } + .card-footer { + border-top: 1px solid $gray-300; + background-color: transparent; + } +} +// Card Column +.card-columns { + .card { + margin-bottom: $spacer * 2.2; + } +} + +.card-group, +.card-deck { + margin-bottom: 0.75rem; +} + +.card-head-inverse { + .heading-elements { + i, + svg { + color: $white; + } + } + color: $white; +} +.card-transparent { + background-color: transparent; +} + +.text-white { + .card-img-overlay { + .text-muted { + color: $white !important; + } + } + code { + background-color: rgba($white, 1); + } + .heading-elements { + i, + svg { + color: $white; + } + } +} + +// overlay-img-card +.overlay-img-card { + .card-img-overlay, + img { + max-height: 34.64rem; + } +} + +// IE Specific CSS +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + // img-fluid class + .card-body, + .card-content { + min-height: 1px; + } +} + +//--------------- Advance Cards --------------- +//--------------------------------------------- + +// Congratulations Card +.card-congratulations { + background: linear-gradient(118deg, rgba($primary, 1), rgba($primary, 0.7)); + color: $white; + + // image on left + .congratulations-img-left { + width: 200px; + position: absolute; + top: 0; + left: 0; + + @include media-breakpoint-down(xs) { + width: 140px; + } + } + // image on right + .congratulations-img-right { + width: 175px; + position: absolute; + top: 0; + right: 0; + + @include media-breakpoint-down(xs) { + width: 140px; + } + } + + .avatar { + margin-bottom: 2rem; + } +} +// congratulation medal card +.congratulation-medal { + position: absolute; + top: 0; + right: 37px; +} + +// Deposits Card +.card-deposits { + .deposits-divider { + margin-top: 1.8rem; + margin-bottom: 1.4rem; + } +} + +// Employee Task Card +.card-employee-task { + .employee-task { + &:not(:last-child) { + margin-bottom: 1.5rem; + } + } +} + +// Developer Meetup Card +.card-developer-meetup { + .meetup-img-wrapper { + background-color: rgba($primary, 0.1); + } + .meetup-header { + margin-bottom: 2rem; + + .meetup-day { + text-align: center; + border-right: 1px solid $custom-control-border-color; + padding-right: 1.3rem; + margin-right: 1.3rem; + } + } + .media { + .avatar .avatar-content { + width: 34px; + height: 34px; + } + & + .media { + margin-top: 1.2rem; + } + } + .avatar-group { + margin-top: 2rem; + } +} + +// Profile Card +.card-profile { + text-align: center; + .card-body { + position: relative; + padding: 5rem 2.3rem $card-spacer-y 2.3rem; + + .profile-image-wrapper { + display: flex; + justify-content: center; + + .profile-image { + position: absolute; + top: -4rem; + padding: 0.5rem; + border-radius: 50%; + background-color: $white; + box-shadow: 0 0 8px 0 rgba($black, 0.14); + margin-bottom: 1.15rem; + + img { + width: 100px; + height: 100px; + } + } + } + + .profile-badge { + margin-top: 0.8rem; + margin-bottom: 0.8rem; + } + } +} + +// Apply Job Card +.card-apply-job { + .apply-job-package { + padding: 1.2rem; + margin-bottom: 1.15rem; + display: flex; + align-items: center; + justify-content: space-between; + sup { + top: -0.8rem; + } + } +} + +// Transaction Card +.card-transaction { + .transaction-item { + display: flex; + align-items: center; + justify-content: space-between; + &:not(:last-child) { + margin-bottom: 1.2rem; + } + + .avatar { + margin-right: 1.2rem; + .avatar-content { + width: 42px; + height: 42px; + } + } + + .transaction-title { + margin-bottom: 0.2rem; + margin-top: 0.2rem; + } + } +} + +// User Timeline Card +.card-user-timeline { + .user-timeline-title-icon { + width: 1.714rem; + height: 1.714rem; + margin-right: 1.3rem; + } + .timeline { + .timeline-item { + &:last-child { + .timeline-event { + min-height: auto; + } + } + &:not(:last-child) { + padding-bottom: 2.3rem; + } + } + } +} + +// Business Card +.business-card { + .business-items { + &:not(:last-child) { + margin-bottom: 1.3rem; + } + + .business-item { + border: 1px solid $border-color; + border-radius: $border-radius; + padding: 1rem 1rem 1rem 1.3rem; + &:not(:last-child) { + margin-bottom: 0.85rem; + } + } + } +} + +// States Card +.card-browser-states { + .browser-states { + margin-top: 2.14rem; + display: flex; + justify-content: space-between; + align-items: center; + } +} + +// App Design Card +.card-app-design { + .design-group { + margin-bottom: 2rem; + + .avatar:not(:last-child) { + margin-right: 0.6rem; + } + } + + .design-planning-wrapper { + display: flex; + align-items: center; + flex-wrap: wrap; + &:not(:last-child) { + margin-bottom: 1.3rem; + } + + .design-planning { + padding: 0.5rem; + margin-bottom: 0.7rem; + text-align: center; + background-color: $body-bg; + border-radius: $border-radius; + min-width: 6.4rem; + &:not(:last-child) { + margin-right: 0.7rem; + } + } + } +} + +//--------------- Statistics Card --------------- +//------------------------------------------------ + +.card-statistics { + .card-header { + padding-left: 2.4rem; + } + .statistics-body { + padding: 2rem 2.4rem 2.8rem !important; + + .avatar .avatar-content { + width: 48px; + height: 48px; + + .avatar-icon { + width: 24px; + height: 24px; + } + } + } +} + +//--------------- Analytics Card --------------- +//---------------------------------------------- + +// Chart-dropdown Button +.chart-dropdown { + .btn { + font-size: 1rem; + font-weight: $font-weight-normal; + &:after { + display: none; + } + } +} + +// Revenue Report & Budget Card +.card-revenue-budget { + .revenue-report-wrapper { + padding: 1.286rem 1.5rem; + + @include media-breakpoint-up(md) { + border-right: 1px solid $border-color; + } + + #revenue-report-chart { + .apexcharts-series { + &[seriesName='Earning'] { + transform: scaleY(0.965); + } + &[seriesName='Expense'] { + transform: scaleY(1.035); + } + } + } + } + + .budget-wrapper { + padding: 2rem 3rem; + text-align: center; + + @include media-breakpoint-down(sm) { + padding-top: 0; + } + + .budget-dropdown { + margin-bottom: 2rem; + } + + #budget-chart { + margin-top: 2rem; + margin-bottom: 2rem; + } + } +} + +// Earnings Card +.earnings-card { + .apexcharts-canvas .apexcharts-pie { + .apexcharts-datalabel-label { + font-size: 0.8rem; + fill: $body-color !important; + } + .apexcharts-datalabel-value { + fill: $headings-color; + font-size: 1.286rem; + font-weight: 500; + } + } +} + +// IE Specific CSS +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + // make icon center in avatar-content + #dashboard-analytics, + #statistics-card { + .avatar { + .avatar-content { + padding: 0 !important; + } + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_code.scss b/src/@core/scss/base/bootstrap-extended/_code.scss new file mode 100644 index 0000000..09a369f --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_code.scss @@ -0,0 +1,14 @@ +// Inline code +code { + padding: 0.1rem 0.4rem; + font-size: 90%; + color: $code-color; + background-color: $kbd-bg; + @include border-radius($border-radius/2); +} +pre { + background-color: #f7f7f9; + code { + background-color: transparent !important; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_collapse.scss b/src/@core/scss/base/bootstrap-extended/_collapse.scss new file mode 100644 index 0000000..6bbf6b3 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_collapse.scss @@ -0,0 +1,140 @@ +// For Collapse And Accordion + +// For collapse-title +[class*='collapse-'] { + .collapse-title { + font-weight: 500; + font-size: 1.1rem; + } + .card { + margin-bottom: 0; + &:last-of-type { + margin-bottom: 0; + } + &:not(:last-of-type) { + border-bottom: 1px solid $border-color; + } + .card-header { + cursor: pointer; + padding: 1rem 2.8rem 1rem 1rem; + } + .card-body { + padding: 1rem; + line-height: 1.5; + padding-top: 0.42rem; + } + } +} + +// For collapse title +.collapse-title { + color: inherit; + &:hover { + color: inherit; + } +} + +// To add a border below collapse/accordion heading +.collapse-default { + .card:first-child { + border-top: 0; + } + .card:last-child { + border-bottom: 0; + } + .card { + border-radius: 0; + } +} + +// For Collapse with border + +.collapse-border { + .card { + border: 1px solid $border-color; + &:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + &:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + } +} + +// For Collapse with shadow +.collapse-shadow { + box-shadow: 0 0px 4px 0 rgba($black, 0.1); + padding: 0.15rem 0.75rem; + border-radius: $border-radius; + .card { + border-radius: 0; + transition: border 0.5s ease-in-out, all 0.3s ease-in-out; + &.open { + border-radius: 0.571rem; + margin: 10px 0; + border: 0; + box-shadow: 0px 0px 8px 0px rgba($black, 0.1) !important; + } + } + .card:first-child { + border-top-left-radius: 0.571rem; + border-top-right-radius: 0.571rem; + } + .card:last-child { + border-bottom-left-radius: 0.571rem; + border-bottom-right-radius: 0.571rem; + } +} + +// For Collapse with margin +.collapse-margin { + .card { + margin-top: 0.71rem; + margin-bottom: 0.71rem; + box-shadow: 0 2px 15px 0 rgba($black, 0.05) !important; + border-radius: 0.358rem; + border-bottom: 0 solid transparent !important; + } + .card-header { + border-radius: 0.358rem; + } +} + +// Collapse Icon & Animation +.collapse-icon { + .card-header { + position: relative; + } + + [data-toggle='collapse'] { + &:after { + position: absolute; + top: 58%; + right: 1rem; + margin-top: -8px; + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $body-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 14px; + width: 14px; + height: 11px; + content: ''; + transition: all 300ms linear 0s; + } + + &:disabled { + &:before { + background-image: url(str-replace(str-replace($chevron-up, 'currentColor', $body-color), '#', '%23')); + } + } + } + + [aria-expanded='false'] { + &:after { + transform: rotate(-180deg); + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_dropdown.scss b/src/@core/scss/base/bootstrap-extended/_dropdown.scss new file mode 100644 index 0000000..4fa6004 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_dropdown.scss @@ -0,0 +1,255 @@ +// The dropdown menu +.dropdown { + [class*='btn-outline-'].dropdown-toggle.dropdown-toggle-split { + border-left: 0 !important; + } + + // If don't won't dropdown/up arrow + &.no-arrow { + .dropdown-toggle { + &:after { + display: none; + } + i, + svg { + margin-right: 0; + } + } + } +} + +// dropdown menu +.dropdown-menu { + // border: 1px solid rgba($black, 0.05); // border opacity has been reduced to make it look same as vue's dropdown border [component page, list view page] + border-radius: $dropdown-border-radius; + transform: scale(1, 0); + box-shadow: $dropdown-box-shadow; // this according to vue version + + .dropdown-item { + width: auto; + cursor: pointer; + } + + // Dropdown Header + .dropdown-header { + font-weight: 500; + line-height: 1; + } +} + +.show { + > .dropdown-menu { + transform: scale(1, 1); + opacity: 1; + display: block; + } + .dropdown-toggle { + &:focus { + box-shadow: none; + } + } + + // For DD box shadow on show + .btn { + &.dropdown-toggle { + &:focus { + box-shadow: none; + } + } + } +} + +.dropdown-toggle { + // changed icon caret + + &::after { + border: none !important; + content: ' '; + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $white), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 16px; + color: $body-color; + width: 14px; + height: 11px; + position: relative; + top: 1px; + right: 0px; + left: 0.714rem; + padding: 0; + margin: 0; + vertical-align: 0; + } + // arrow size according to toggle sizes + &.btn-lg { + &::after { + background-size: 18px; + } + } + + &.btn-sm { + &::after { + background-size: 14px; + } + } + + &.dropdown-toggle-split { + &:after { + left: 0; + } + } + + // hide default arrow to show custom icon DD + &.nav-hide-arrow { + &::after { + display: none; + } + } + + // Prevent the focus on the dropdown toggle when closing dropdowns + &:focus { + outline: 0; + } +} + +// DropUp +.dropup { + position: relative; + .dropdown-toggle { + // changed icon dropup caret + &::after { + background-image: url(str-replace(str-replace($chevron-up, 'currentColor', $white), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 16px; + width: 14px; + height: 11px; + content: ''; + vertical-align: 0.05rem; + } + } + .dropdown-menu { + min-width: 8rem; + } +} + +// DropLeft +.dropleft { + .dropdown-toggle { + // changed icon dropup caret + &::before { + border: none !important; + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $white), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 16px; + width: 14px; + height: 11px; + content: ''; + position: relative; + left: 0; + } + } + .dropdown-menu { + min-width: 8rem; + } +} + +// DropRight +.dropright { + .dropdown-toggle { + // changed icon dropup caret + &::after { + border: none !important; + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $white), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 16px; + width: 14px; + height: 11px; + content: ''; + } + } + .dropdown-menu { + min-width: 8rem; + } +} + +// Dropdown ::before position +.dropdown-menu { + // Dropdown margin according to dropdown position + + &[x-placement='bottom-start'], + &[x-placement='bottom-end'] { + margin-top: $dropdown_spacing; + } + + &[x-placement='top-start'], + &[x-placement='top-end'] { + margin-bottom: $dropdown_spacing; + } + + &[x-placement='right-start'] { + margin-left: $dropdown_spacing; + } + &[x-placement='left-start'] { + margin-right: $dropdown_spacing; + } +} + +// Dropdown icon +.dropdown, +.dropup { + &.dropdown-icon-wrapper { + .dropdown-toggle { + &:after { + display: none; + } + } + .dropdown-menu { + min-width: auto; + .dropdown-item { + padding: 0.5rem 1.1rem; + cursor: pointer; + i, + svg { + height: 1.3rem; + width: 1.3rem; + font-size: 1.3rem; + } + } + } + } +} + +// Dropdown menu animation for Horizontal menu +.horizontal-menu-wrapper .dropdown-menu, +.header-navbar .dropdown-menu { + animation-duration: 0.3s; + animation-fill-mode: both; + animation-name: slideIn; +} + +// Hidden dropdown toggle arrow +.dropdown-toggle.hide-arrow, +.dropdown-toggle-hide-arrow > .dropdown-toggle { + &::before, + &::after { + display: none; + } +} + +@keyframes slideIn { + 0% { + transform: translateY(1rem); + opacity: 0; + } + 100% { + transform: translateY(0rem); + opacity: 1; + } + 0% { + transform: translateY(1rem); + opacity: 0; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_forms.scss b/src/@core/scss/base/bootstrap-extended/_forms.scss new file mode 100644 index 0000000..8dbc515 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_forms.scss @@ -0,0 +1,570 @@ +// +// Labels +// +label { + color: $headings-color; + font-size: $small-font-size; +} + +// placeholder specific scss +.form-control { + &::placeholder { + transition: all 0.2s ease; + } + + &:focus { + &::placeholder { + transform: translate(5px); + transition: all 0.2s ease; + } + &:valid, + &.is-valid { + box-shadow: $input-focus-box-shadow; + } + } +} + +.form-control-plaintext { + &:focus { + outline: none; + } +} + +.custom-file-label { + line-height: 1.75; + height: $custom-file-height !important; + &:after { + height: 2.58rem; + line-height: 1.75; + } +} + +.valid-tooltip, +.invalid-tooltip { + top: 102%; + left: 5px; +} + +/*************** +* Form Group +***************/ + +// input group !important for overriding the dark style +.input-group { + &:not(.bootstrap-touchspin):focus-within { + box-shadow: $input-focus-box-shadow; + border-radius: $input-border-radius; + .form-control, + .input-group-text { + border-color: $primary; + box-shadow: none; + + &.is-valid { + border-color: $success; + } + + &.is-invalid { + border-color: $danger; + } + } + } + &.is-valid { + .input-group-text { + border-color: $success !important; + } + &:not(.bootstrap-touchspin):focus-within { + .input-group-text { + border-color: $success; + } + } + } + &.is-invalid { + .input-group-text { + border-color: $danger !important; + } + &:not(.bootstrap-touchspin):focus-within { + .input-group-text { + border-color: $danger; + } + } + } + + &.disabled { + .input-group-text { + background-color: $input-disabled-bg; + } + } + + &.round { + .form-control, + .input-group-text, + &:focus-within { + @include border-radius(1.5rem); + } + } + &.square { + .form-control, + .input-group-text, + &:focus-within { + @include border-radius(0); + } + } + &.round, + &.square { + .input-group-prepend { + .input-group-text { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + } + .input-group-append { + .input-group-text { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + } + .form-control { + &:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + &:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + } + } + &.square { + .form-control, + .input-group-text { + @include border-radius(0); + } + } +} + +.input-group-text { + @include transition($input-transition); +} + +.input-group-prepend { + .input-group-text { + border-right: 0; + } +} + +.input-group-append { + .input-group-text { + border-left: 0; + } + &:not(:last-child) .input-group-text { + border-right: 0; + } +} + +// input group merge +.input-group-merge { + .form-control { + &:not(:first-child) { + padding-left: 0; + border-left: 0; + } + + &:not(:last-child) { + padding-right: 0; + border-right: 0; + } + + &.is-valid { + ~ .input-group-append { + .input-group-text { + border-color: $success; + } + } + } + } + .input-group-prepend { + ~ .form-control.is-valid { + .input-group-text & { + border-color: $success; + } + } + } +} + +// Text area line height +textarea { + &.form-control { + line-height: 1.6rem; + padding: 0.8rem 1rem !important; + } + + &.form-control-sm { + padding: 0.4rem 0.857rem !important; + } + + &.form-control-lg { + padding: 1rem 1.143rem !important; + } +} + +// Used for Card - Check it and remove if not used +.form-actions { + border-top: 1px solid darken($body-bg, 10%); + padding: 20px 0; + margin-top: 20px; + + &.filled { + background-color: $body-bg; + } + &.center { + text-align: center; + } + &.right { + text-align: right; + } + + &.top { + border-top: 0; + border-bottom: 1px solid darken($body-bg, 10%); + margin-top: 0; + margin-bottom: 20px; + } + + @include media-breakpoint-down(sm) { + .buttons-group { + float: left !important; + margin-bottom: 10px; + } + } +} + +// Form-horizontal layout +.form-horizontal { + .form-group { + @include media-breakpoint-up(sm) { + .label-control { + text-align: right; + } + } + } +} + +// Select Inputs Specific SCSS +select.form-control { + &:not([multiple='multiple']) { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $input-border-color), '#', '%23')); + background-position: calc(100% - 12px) 13px, calc(100% - 20px) 13px, 100% 0; + background-size: 18px 14px, 18px 14px; + background-repeat: no-repeat; + -webkit-appearance: none; + -moz-appearance: none; + padding-right: 1.5rem; + } + &.form-control-lg { + background-position: calc(100% - 12px) 16px, calc(100% - 20px) 16px, 100% 0; + } + &.form-control-sm { + background-position: calc(100% - 12px) 8px, calc(100% - 20px) 8px, 100% 0; + } +} + +// For customs-select remove double arrow +.custom-select { + -moz-appearance: none; // For firefox + -webkit-appearance: none; // for chrome +} + +// Custom Checkbox +.custom-checkbox { + .custom-control-label::before, + .custom-control-label::after { + top: 0.07rem; + } + + .custom-control-label::after { + background-size: 57%; + } +} + +// Custom Radio +.custom-radio { + .custom-control-label::before { + top: 0.1rem; + } +} + +// Custom checkbox and radio in common +.custom-checkbox, +.custom-radio { + &.custom-control { + padding-left: 1.8rem; + + .input-group & { + padding-left: 1.3rem; + } + } + + .custom-control-input { + width: 1.285rem; + height: 1.285rem; + } + + .custom-control-label { + font-size: $font-size-base; + position: static; + // vertical-align: middle; + &::before, + &::after { + width: 18px; + height: 18px; + left: 0; + } + } + .custom-control-input:checked ~ .custom-control-label::before { + box-shadow: 0 2px 4px 0 rgba($custom-control-indicator-checked-bg, 0.4) !important; + } + + .custom-control-input:disabled ~ .custom-control-label::before { + border: none; + box-shadow: none !important; + } + + .custom-control-input:focus ~ .custom-control-label::before { + border-color: none; + box-shadow: 0 2px 4px 0 rgba($custom-control-indicator-checked-bg, 0.4) !important; + } +} + +// Custom-checkbox when not disabled and active +.custom-control-input:not(:disabled) { + &:active ~ .custom-control-label { + &::before { + background-color: $primary; + border-color: $primary; + } + } +} + +/* Floating label Group */ +.form-label-group { + position: relative; + margin-bottom: $form-group-margin-bottom; + + // Form-Control-Large in Floating Label Group + .form-control-lg { + ~ label { + font-size: $input-font-size; + padding: 1rem; + } + } + + // Form-label + > label { + position: absolute; + top: 0; + left: 0; + display: block; + transition: all 0.25s ease-in-out; + padding: 0.6rem; + pointer-events: none; + cursor: text; + color: rgba($black, 0.4); + font-size: 0.7rem; + opacity: 0; + } + // form-input + > input, + textarea { + // from-input on focus change label color + &:focus, + &:not(:active) { + &:not(:placeholder-shown) ~ label { + color: rgba($primary, 1) !important; + transition: all 0.25s ease-in-out; + opacity: 1; + } + } + &:not(:focus) { + &:not(:placeholder-shown) ~ label { + color: rgba($black, 0.4) !important; + } + } + // form-label after entering text in input box + &:not(:placeholder-shown) ~ label { + padding: 0.25rem 0; + top: -20px; + left: 3px; + } + + &.form-control-lg:not(:placeholder-shown) ~ label { + top: -23px; + } + + &.form-control-sm:not(:placeholder-shown) ~ label { + top: -18px; + } + } +} + +/* Switches */ + +.custom-switch { + padding-left: 0; + line-height: 1.7rem; + + .custom-control-label { + padding-left: 3.5rem; + line-height: 1.7rem; + + /* For bg color of switch*/ + &::before { + border: none; + background-color: $switch-bg-color; + height: 1.7rem; + box-shadow: none !important; + transition: opacity 0.25s ease, background-color 0.1s ease; + cursor: pointer; + user-select: none; + top: 0; + left: 0; + } + /*For Switch handle*/ + &:after { + position: absolute; + top: 4px; + left: 4px; + box-shadow: -1px 2px 3px 0 rgba($black, 0.2); + background-color: $switch-indicator-color; + transition: all 0.15s ease-out; + cursor: pointer; + user-select: none; + } + + /*For Switch text*/ + .switch-text-left, + .switch-text-right, + .switch-icon-left, + .switch-icon-right { + position: absolute; + cursor: pointer; + user-select: none; + line-height: 1.8; + i, + svg { + height: 13px; + width: 13px; + font-size: 13px; + } + } + .switch-text-left, + .switch-icon-left { + left: 6px; + color: $white; + opacity: 0; + transform: translateX(8px); + transition: opacity 0.1s ease, transform 0.15s ease; + } + .switch-text-right, + .switch-icon-right { + right: 13px; + opacity: 1; + transform: translateX(0px); + transition: opacity 0.08s ease, transform 0.15s ease; + } + &:focus { + outline: 0; + } + } + + /*For Switch label*/ + + .switch-label { + padding-left: 1rem; + } + + // after its checked + + .custom-control-input:checked ~ .custom-control-label::before { + box-shadow: none; + } + + /*For Switch Handle Animation*/ + .custom-control-input:checked ~ .custom-control-label::after { + transform: translateX(1.4rem); + } + + .custom-control-input:checked ~ .custom-control-label { + .switch-text-left, + .switch-icon-left { + transform: translateX(0); + opacity: 1; + } + + .switch-text-right, + .switch-icon-right { + transform: translateX(-8px); + opacity: 0; + } + } + .custom-control-input:not(:checked) ~ .custom-control-label { + .switch-text-left { + opacity: 0; + } + .switch-text-right { + opacity: 1; + } + } + .custom-control-input:checked ~ .custom-control-label { + .switch-text-right { + opacity: 0; + } + .switch-text-left { + opacity: 1; + } + } +} + +/* Textarea with Counter */ +.textarea-counter-value { + background-color: $primary; + color: $white; + padding: 1px 6px; + font-size: 0.6rem; + border-radius: 0 0 5px 5px; + margin-right: 1rem; +} + +.btn.disabled-max-min { + background-color: rgba($black, 0.5) !important; + cursor: default; +} + +/* Number Type Input Box Scss for - Remove arrow on hover */ +input[type='number']::-webkit-inner-spin-button, +input[type='number']::-webkit-outer-spin-button { + -webkit-appearance: none; +} + +// IE Specific CSS +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + // floating Label Group + .form-label-group { + label { + display: none; + } + } + + // Bootstrap Select + select.form-control { + &:not([multiple='multiple']) { + background: none; + } + } +} + +// Date & Time Picker - Form Control Bg color +.picker__input { + &.form-control { + background-color: $white; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_functions.scss b/src/@core/scss/base/bootstrap-extended/_functions.scss new file mode 100644 index 0000000..57a6eab --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_functions.scss @@ -0,0 +1,10 @@ +@function str-replace($string, $search, $replace: '') { + $index: str-index($string, $search); + + @if $index { + @return str-slice($string, 1, $index - 1) + $replace + + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); + } + + @return $string; +} diff --git a/src/@core/scss/base/bootstrap-extended/_helper.scss b/src/@core/scss/base/bootstrap-extended/_helper.scss new file mode 100644 index 0000000..759af3d --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_helper.scss @@ -0,0 +1,106 @@ +// ================================================================================================ +// File Name: helper.scss +// Description: Helper classes provides template related customization. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Content helpers +// ------------------------- + +// typography page icon with list +.list-style-icons { + padding-left: 10px; + margin-left: 0; + list-style: none; + > li svg, + > li i { + margin-right: 6px; + } +} + +//Pull the element +.pull-up { + transition: all 0.25s ease; + + &:hover { + transform: translateY(-4px) scale(1.02); + box-shadow: 0px 14px 24px rgba(62, 57, 107, 0.2); + z-index: 30; + } +} + +// Spinner classes +.spinner { + display: inline-block; + animation: spin 1s linear infinite; +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +.spinner-reverse { + display: inline-block; + animation: spin-reverse 1s linear infinite; +} +@keyframes spin-reverse { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(-360deg); + } +} + +// Bullets used in application pages +.bullet { + width: 1rem; + height: 1rem; + border-radius: 50%; + display: inline-block; + &.bullet-xs { + width: 0.5rem; + height: 0.5rem; + } + &.bullet-sm { + width: 0.714rem; + height: 0.714rem; + } + &.bullet-lg { + width: 1.25rem; + height: 1.25rem; + } +} + +// Section Label - used in pages and apps +.section-label { + font-size: 0.85rem; + color: $text-muted; + text-transform: uppercase; + letter-spacing: 0.6px; +} + +// Used for table cell fit +.cell-fit { + width: 0.1%; + white-space: nowrap; +} + +// Card match height +.match-height { + > [class*='col'] { + display: flex; + flex-flow: column; + + > .card { + flex: 1 1 auto; + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_include.scss b/src/@core/scss/base/bootstrap-extended/_include.scss new file mode 100644 index 0000000..ea9344d --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_include.scss @@ -0,0 +1,24 @@ +// ================================================================================================ +// File Name: include.scss +// Description: Common components file to include all theme specific custom components. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Variables +// ------------------------------ + +// Functions +@import 'bootstrap/scss/functions'; // Bootstrap core function +@import 'functions'; // Bootstrap extended function + +// Variables +@import 'scss/variables/variables'; // Bootstrap custom variable override (for user purpose) +@import 'variables'; // Bootstrap extended variable override +@import 'bootstrap/scss/variables'; // Bootstrap core variable + +// Mixins +@import 'bootstrap/scss/mixins'; // Bootstrap core mixins +@import 'mixins'; // Bootstrap extended mixins diff --git a/src/@core/scss/base/bootstrap-extended/_list-group.scss b/src/@core/scss/base/bootstrap-extended/_list-group.scss new file mode 100644 index 0000000..eec9f40 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_list-group.scss @@ -0,0 +1,101 @@ +/* =============================================================================================== + File Name: list-group.scss + Description: Contain list item, list group related extended SCSS. + ---------------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +================================================================================================*/ + +// Inline list style with pipeline separator + +ul.list-inline { + li { + display: inline-block; + } + // used in search page + &.list-inline-pipe { + > li + li:before { + content: ' | '; + padding-right: 2px; + } + } +} + +// bootstrap list group +.list-group { + .list-group-item { + line-height: 1.5; + &.active { + &:hover { + background-color: $primary; + } + &:focus { + // color: $body-color; + outline: 0; + &:hover { + color: $white; + } + } + small { + color: $white !important; + } + } + &:hover { + background-color: $body-bg; + } + + i, + svg { + position: relative; + } + + &:not(.active):focus:active { + color: inherit; + } + } + .list-group-item-action { + &.active { + background-color: $primary; + color: $white; + &:focus { + background-color: $primary; + } + } + &:focus { + background-color: $body-bg; + outline: 0; + } + } + + // List group with circle for pages like knowledge base + &.list-group-circle { + border: none; + .list-group-item { + border: none; + position: relative; + padding-left: 1.5rem; + &:after { + content: ' '; + background-image: url(str-replace(str-replace($circle, 'currentColor', $body-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + color: $body-color; + background-size: 10px; + position: absolute; + height: 10px; + width: 10px; + top: 1.15rem; + left: 0; + } + &:hover { + background-color: transparent; + } + } + } +} + +// for drag and drop border radius on selected +.list-group-item.gu-mirror { + border-radius: 0; +} diff --git a/src/@core/scss/base/bootstrap-extended/_media.scss b/src/@core/scss/base/bootstrap-extended/_media.scss new file mode 100644 index 0000000..a03bf49 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_media.scss @@ -0,0 +1,22 @@ +.media-list { + .media { + padding: 1.25rem; + width: 100%; + margin-top: 0; + .media-left { + margin-right: 1rem; + } + .media-right { + margin-left: 1rem; + } + } + a.media { + color: $gray-600 !important; + } +} + +.media-bordered { + .media:not(:first-child) { + border-top: 1px solid $border-color; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_mixins.scss b/src/@core/scss/base/bootstrap-extended/_mixins.scss new file mode 100644 index 0000000..46f5b18 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_mixins.scss @@ -0,0 +1,13 @@ +// =============================================================================================== +// File Name: mixins.scss +// Description: Extended mixins file with new mixins features. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import 'mixins/_type'; //(NEW) + +// Components +@import 'mixins/_navs'; diff --git a/src/@core/scss/base/bootstrap-extended/_modal.scss b/src/@core/scss/base/bootstrap-extended/_modal.scss new file mode 100644 index 0000000..0c5a3fb --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_modal.scss @@ -0,0 +1,175 @@ +// Modals + +.modal { + // Modal Header + + .modal-header { + background-color: $body-bg; + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + // close button + + .close { + padding: 0.2rem 0.62rem; + box-shadow: 0 5px 20px 0 rgba($black, 0.1); + border-radius: $border-radius; + background: $white; + opacity: 1; + transition: all 0.23s ease 0.1s; + position: relative; + transform: translate(8px, -2px); + + // For hover effect of close btn + &:hover, + &:focus, + &:active { + opacity: 1; + outline: none; + transform: translate(5px, 3px); + box-shadow: none; + } + } + } + // Modal Content + .modal-content { + border: none; + // overflow: unset; updated to "visible" as close icon is not visible in IE + overflow: visible; + box-shadow: 0 5px 20px 0 rgba($black, 0.1); + } + + .modal-footer { + padding: $modal-inner-padding; + } + + // modal sticky for apps + &.modal-sticky { + bottom: 0; + right: 0; + top: auto; + left: auto; + height: auto; + position: fixed; + .modal-header { + display: flex; + align-items: center; + justify-content: space-between; + } + .modal-dialog { + margin-right: #{$content-padding} !important; + box-shadow: 0px 0px 24px 0 rgba($black, 0.25); + border-radius: $border-radius; + } + .modal-actions { + background: transparent; + box-shadow: none; + line-height: 0; + } + } +} + +// Modal XS +.modal-xs { + max-width: 300px; +} + +// Modal XL +@media (min-width: 1200px) { + .modal-xl { + margin-left: 3%; + margin-right: 3%; + } +} + +// Slide In Modal // +.modal-slide-in, +.modal-slide-in .modal { + padding: 0 !important; + overflow: hidden !important; +} + +.modal-slide-in { + .modal-dialog { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: auto; + margin: 0; + max-width: none; + width: ($modal-slide-in-width-sm - 5); + + .modal-content { + padding-bottom: ($modal-title-line-height * $close-font-size) + $modal-header-padding-y; + padding-top: ($modal-title-line-height * $close-font-size) + $modal-header-padding-y; + overflow: auto; + border-radius: 0; + height: 100%; + } + + .modal-body { + padding-bottom: 0; + padding-top: 0; + margin: auto 0; + flex-grow: 0; + } + + @media (min-width: (map-get($grid-breakpoints, sm))) { + width: $modal-slide-in-width; + } + + &.sidebar-sm { + width: $modal-slide-in-width-sm; + } + &.sidebar-lg { + @media (min-width: (map-get($grid-breakpoints, sm))) { + width: $modal-slide-in-width-lg; + } + } + } + + .close { + top: $modal-header-padding-y / 2; + z-index: 10; + transform: none; + position: absolute; + top: 1.5rem; + right: $modal-header-padding-x; + margin: 0; + padding: 0 !important; + line-height: 0.5; + transform: translate(0, -50%); + } +} + +// Slide from Right +.modal-slide-in.fade .modal-dialog, +.modal-slide-in .modal.fade .modal-dialog { + transform: translateX(100%); + transition: transform 0.1s ease-out; +} + +.modal-slide-in.show .modal-dialog, +.modal-slide-in .modal.show .modal-dialog { + transform: translateX(0) !important; + transition: transform 0.1s ease-out; +} + +// To remove Max-width of XS Modal in Small Screen + +@media (max-width: 576px) { + .modal { + padding-right: 1rem; + padding-left: 1rem; + .modal-xs, + .modal-sm { + max-width: unset; + } + &.modal-sticky .modal-dialog { + margin-right: 0.2rem !important; + margin-left: 0.2rem; + margin-bottom: 3rem; + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_nav.scss b/src/@core/scss/base/bootstrap-extended/_nav.scss new file mode 100644 index 0000000..7130cf9 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_nav.scss @@ -0,0 +1,272 @@ +// Component nav and nav/pill tabs + +.nav { + border-radius: 0.25rem; + // for component navs + // to wrap border around nav component + &.wrap-border { + border: 1px solid $nav-component-border-color; + li.nav-header { + margin: 0 0.5rem; + } + li.nav-item, + div { + padding: 2px 0.714rem; + } + } + + &.nav-left { + .nav-item .nav-link { + justify-content: flex-start; + } + } + + &.nav-right { + .nav-item .nav-link { + justify-content: flex-end; + } + } + + // Square Border + &.square-border { + border-radius: 0; + .nav-item { + .nav-link.active { + border-radius: 0; + } + } + } + + // for main menu toggle lock + .modern-nav-toggle { + padding: 0; + margin: 1.571rem 0; + } + + // Dropdown without background need arrow color changes + .dropdown.show { + .dropdown-toggle { + &::after { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $white), '#', '%23')); + } + } + } + + .dropdown-toggle { + &:not(.active) { + &::after { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $body-color), '#', '%23')); + } + } + } +} +.nav-pills, +.nav-tabs { + // if icon added inside nav-link + .nav-link { + display: flex; + align-items: center; + justify-content: center; + i, + svg { + margin-right: 0.5rem; + } + } +} +// nav pills +.nav-pills { + margin-bottom: 1rem; + // nav item of nav pill + .nav-link { + padding: $btn-padding-y $btn-padding-x; + font-size: $btn-font-size; + line-height: $btn-font-size; + border: 1px solid transparent; + color: $headings-color; + &.active { + border-color: $nav-pills-link-active-bg; + box-shadow: 0 4px 18px -4px rgba($nav-pills-link-active-bg, 0.65); + } + &.disabled { + color: $nav-link-disabled-color; + } + &.dropdown-toggle::after { + top: 1px; + left: 1px; + } + } + + &.dropdown { + &.show { + .nav-link { + color: $white; + } + .dropdown-item { + &.active { + &:hover { + color: $primary; + } + } + } + } + } + + // Justified Pills + &.nav-justified { + @include nav-justified; + @include nav-tabs-justified; + .nav-link { + display: block; + + &.active { + border: none; + + &:hover, + &:focus { + border: none; + } + } + } + } +} + +// Basic Nav Tabs +.nav-tabs { + margin-bottom: 1rem; + position: relative; + // Basic nav item + .nav-item { + position: relative; + } + .nav-link { + color: $body-color; + border: none; + min-width: auto; + font-weight: 450; + padding: 0.61rem 1.2rem; + border-radius: 0; + position: relative; + overflow: hidden; + + &:after { + content: ''; + + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 3px; + background: linear-gradient(30deg, rgba($primary, 1), rgba($primary, 0.5)) !important; + transition: transform 0.3s; + transform: translate3d(0, 150%, 0); + } + &.active { + position: relative; + color: $primary; + + &:after { + transform: translate3d(0, 0, 0); + // box-shadow: 0 0 8px 0 rgba($primary, 0.5) !important; + } + } + + &.dropdown-toggle { + &::after { + top: 1px; + left: 1px; + } + } + } + // Justified Tabs + &.nav-justified { + @include nav-justified; + @include nav-tabs-justified; + + .nav-item { + a.nav-link { + display: block; + border-radius: 0; + + &.active { + border: none; + } + &:hover { + border-color: transparent; + } + } + } + } +} + +// Nav Tabs Vertical +.nav-vertical { + overflow: hidden; + .nav.nav-tabs { + // nav item styles for vertical nav tabs + .nav-item { + .nav-link { + margin-bottom: 0; + &:after { + transform: rotate(90deg) translate3d(0, 150%, 0); + left: 70%; + } + &.active { + &:after { + left: auto; + right: -1.4rem; + transform: rotate(90deg) translate3d(0, 225%, 0); + top: 1.25rem; + width: 2.14rem; + } + } + } + } + + // vertical nav left tabs + &.nav-left { + float: left; + display: table; + margin-right: 1rem; + + ~ .tab-content { + .tab-pane { + display: none; + overflow-y: auto; + padding-left: 1rem; + &.active { + display: block; + } + } + } + } + + // vertical right nav tabs + &.nav-right { + float: right; + display: table; + margin-left: 1rem; + + .nav-item { + .nav-link { + &.active { + &:after { + left: -0.9rem; + transform: rotate(90deg) translate3d(0, 10%, 0); + } + } + } + } + + ~ .tab-content { + .tab-pane { + display: none; + overflow-y: auto; + padding-right: 1rem; + &.active { + display: block; + } + } + } + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_navbar.scss b/src/@core/scss/base/bootstrap-extended/_navbar.scss new file mode 100644 index 0000000..5c42c4e --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_navbar.scss @@ -0,0 +1,670 @@ +/* =============================================================================================== + File Name: navbar.scss + Description: Contain header navigation bar, vertical main navigation bar and + horiznotal main navigation bar related SCSS. + ---------------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +================================================================================================*/ + +@function set-navbar-text-color($color) { + @if (lightness($color) > 50) { + @return $white; // Lighter backgorund, return dark color + } @else { + @return $black; // Darker background, return light color + } +} + +.header-navbar { + padding: 0px; + min-height: $navbar-height; + font-family: $font-family-monospace; + transition: 300ms ease all, background 0s; + z-index: 997; + + &.fixed-top { + left: $menu-expanded-width; + } + + // Apply navbar color as per background + &[class*='bg-'] { + .navbar-nav { + .nav-item { + > a { + color: set-navbar-text-color($theme-dark-body-color) !important; + + i, + svg, + span { + color: set-navbar-text-color($theme-dark-body-color) !important; + } + } + + .dropdown-menu { + i, + svg { + color: inherit !important; + } + } + } + + .search-input { + .input, + .search-list .auto-suggestion span { + color: $body-color !important; + } + } + } + } + + //* Navbar modifiers + //*------------------------ + + // floating nav + &.floating-nav { + position: fixed; + right: 0; + margin: #{$floating-nav-margin} #{$content-padding} 0; + width: calc(100vw - (100vw - 100%) - calc(#{$content-padding} * 2) - #{$menu-expanded-width}); + border-radius: $card-border-radius; + z-index: 12; + } + + // static nav + &.navbar-static-top { + top: 0; + right: 0; + left: $menu-expanded-width; + width: calc(100vw - (100vw - 100%) - #{$sidebar-width}); + background: transparent; + box-shadow: none !important; // remove this if removing "menu-shadow" class + } + + // add border to navbar + &.navbar-border { + border-bottom: 1px solid $border-color; + } + + // add shadow to navbar + &.navbar-shadow { + box-shadow: $box-shadow; + } + + &.navbar-dark.navbar-border { + border-bottom: 1px solid $theme-dark-border-color; + } + + // Hide navbar dropdown arrow + &:not(.navbar-horizontal) { + .nav-link { + &.dropdown-toggle::after { + display: none; + } + } + } + + //* Navbar modifiers + //*------------------------ + + .navbar-container { + padding: 0.8rem 1rem; + // Added more horizontal padding above small screen + @include media-breakpoint-up(sm) { + padding: 0.8rem 1.4rem; + } + flex-basis: 100%; + transition: 300ms ease all; + margin-left: 0; + + // Navbar bookmark primary color on hover + .bookmark-wrapper { + // for bookmark z-index + .bookmark-input { + z-index: 1; + } + } + + // Language dd style + .dropdown-language { + .selected-language { + font-weight: 500; + } + .nav-link { + .flag-icon { + margin-right: 0.4rem; + } + } + .dropdown-menu .dropdown-item { + .flag-icon { + margin-right: 0.4rem; + } + } + } + + ul.navbar-nav { + li { + line-height: 1.5; + &.dropdown { + .dropdown-menu { + .vertical-layout & { + top: 41px !important; // Apply navbar dd position on vertical layouts only (Not for horizontal layout due to hover out issue) + } + } + } + + &.dropdown-language { + .dropdown-menu.dropdown-menu-right { + right: -2px; + } + } + + // Cart & Notification badge + &.dropdown-cart, + &.dropdown-notification { + .badge { + &.badge-up { + right: -3px; + } + } + .dropdown-menu.dropdown-menu-right { + right: -2px; + padding: 0; + left: inherit; + &::before { + background: $primary; + border-color: $primary; + } + } + .dropdown-menu-header { + border-top-left-radius: $dropdown-border-radius; + border-top-right-radius: $dropdown-border-radius; + .dropdown-header { + padding: 1.22rem 1.28rem; + } + } + .notification-text { + margin-bottom: 0.5rem; + font-size: smaller; + color: $text-muted; + } + .dropdown-menu-footer { + padding: 1.28rem; + } + } + &.dropdown-notification { + .media-body { + .media-heading { + color: $body-color; + margin-bottom: 0; + line-height: 1.2; + } + } + } + + // Cart dropdown + &.dropdown-cart { + .media { + position: relative; + img { + background: $body-bg; + } + &:hover { + .cart-item-remove { + visibility: visible; + } + } + } + .media-heading { + width: 8rem; + h6.cart-item-title { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + } + .cart-item-by { + color: $text-muted; + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + } + } + .media-body { + display: flex; + align-items: center; + justify-content: space-between; + } + .cart-item-price { + margin-bottom: 0; + width: 5rem; + text-align: right; + } + + .cart-item-remove { + position: absolute; + top: 10px; + right: 17px; + width: 14px; + height: 14px; + cursor: pointer; + @include media-breakpoint-up(md) { + visibility: hidden; + } + } + } + + > a.nav-link { + color: $body-color; + padding: 0 0.5rem; + position: relative; + } + + &.dropdown-user { + line-height: 1 !important; // Set due to custom 2 line component in navbar + .dropdown-menu { + width: 12rem; + margin-top: 10px; + i, + svg { + height: 16px; + width: 16px; + font-size: 16px; + vertical-align: top; + } + } + } + + // Logged in user dropdown styles + a.dropdown-user-link { + display: flex; + align-items: center; + + .user-name { + display: inline-block; + margin-bottom: 0.435rem; + margin-left: 0.2rem; + } + + .user-status { + font-size: smaller; + } + + img { + box-shadow: 0 4px 8px 0 rgba($black, 0.12), 0 2px 4px 0 rgba($black, 0.08); + } + } + + // navbar toggle menu size (display below lg) + a.menu-toggle { + i, + svg { + height: 1.6rem; + width: 1.6rem; + font-size: 1.6rem; + } + } + + a.dropdown-user-link { + .user-nav { + display: flex; + flex-direction: column; + align-items: flex-end; + float: left; + margin-right: $spacer - 0.2; + } + } + + div.input-group { + padding: 0.7rem 1rem; + } + + i, + svg { + &.ficon { + height: 1.5rem; + width: 1.5rem; + font-size: 1.5rem; + color: $body-color; + + &:hover { + color: $primary; + } + } + } + + .media-list { + max-height: 25rem; + } + + .scrollable-container { + position: relative; + } + } + } + + //Navbar notification css + .dropdown-menu-media { + width: 30rem; + + .dropdown-menu-header { + border-bottom: 1px solid $border-color; + } + + .media-list { + .media { + padding: 0.9rem 1.28rem; + border: none; + border-bottom: 1px solid $border-color; + + &:hover { + background: $body-bg; + } + + .media-meta { + color: $body-color; + } + } + + a:last-of-type { + .media { + border-bottom: none; + } + } + } + + .dropdown-menu-footer { + border-top: 1px solid $border-color; + } + } + } +} + +// Navbar shadow on scroll +.header-navbar-shadow { + display: none; +} + +// Floating Navbar +.navbar-floating { + // Floating nav should have same padding across all screen + .navbar-container { + padding: 0.8rem 1rem; + } + .header-navbar-shadow { + display: block; + background: linear-gradient( + 180deg, + hsla(0, 0%, 97.3%, 0.95) 44%, + hsla(0, 0%, 97.3%, 0.46) 73%, + hsla(0, 0%, 100%, 0) + ); + padding-top: 2.2rem; + background-repeat: repeat; + width: 100%; + height: 102px; + position: fixed; + top: 0; + left: 0; + z-index: 11; + } +} + +// Navbar colors +.navbar-light { + background: $white; + + &.navbar-horizontal { + background: $white; + } + + .navbar-nav { + .active { + &.nav-link { + background-color: rgba($black, 0.03); + } + } + + .disabled { + &.nav-link { + color: $nav-link-disabled-color; + } + } + } +} + +.navbar-dark { + background: $gray-600; + + .navbar-brand { + color: $white !important; + } + + &.navbar-horizontal { + background: $gray-600; + } + + .nav-search { + .form-control, + .btn-secondary { + color: $white; + background: $gray-600; + } + } + + .navbar-nav { + li { + line-height: 1; + } + + .active { + &.nav-link { + background-color: rgba($white, 0.05); + } + } + + .disabled { + &.nav-link { + color: $gray-300; + } + } + } +} + +// Media queries for device support +// ========================================= +@include media-breakpoint-down(sm) { + .header-navbar { + // generic navbar dropdown specific + .navbar-nav { + .show { + position: static; + } + + .open-navbar-container { + padding-top: 0.625rem; + } + } + + .navbar-container { + .show { + .dropdown-menu { + right: 0; + left: 0 !important; + float: none; + width: auto !important; + margin-top: 0; + overflow: hidden; + } + } + + .dropdown-user { + .dropdown-menu-right { + right: 0 !important; + } + } + + ul.navbar-nav { + li { + .dropdown-toggle::after { + margin-right: 0; + margin-left: -2px; + } + } + } + } + } + + // dark navbar + .navbar-dark { + .navbar-header { + .navbar-nav { + .nav-link { + color: $white; + } + } + } + + .navbar-container { + .navbar-nav { + .nav-link { + color: $gray-600; + } + } + } + } + + // light navbar + .navbar-light { + .navbar-header { + .navbar-nav { + .nav-link { + color: $gray-600; + } + } + } + + .navbar-container { + .navbar-nav { + .nav-link { + color: $gray-600; + } + } + } + } +} + +// For Medium and down: iPad support for navbr + +// navbar static top +@include media-breakpoint-down(lg) { + .header-navbar { + // floating nav width + &.floating-nav { + width: calc(100vw - (100vw - 100%) - calc(#{$content-padding} * 2)); + } + &.navbar-static-top { + left: 0; + width: 100%; + } + } +} + +//For responsive sub nav +@mixin responsive_sub_nav { + .header-navbar { + .navbar-nav { + margin: 0; + flex-flow: row wrap; + + .dropdown-menu { + position: absolute; + } + + .nav-item { + float: left; + } + } + } +} + +@include media-breakpoint-down(md) { + @include responsive_sub_nav; +} +@media (max-width: 767px) { + @include responsive_sub_nav; +} + +@include media-breakpoint-down(xs) { + .header-navbar { + &.floating-nav { + width: calc( + 100vw - (100vw - 100%) - calc(#{$content-padding} + 0.4rem) + ) !important; // SM screen calc as per updated spacings + margin-left: 1rem; + margin-right: 1.2rem; + } + + .navbar-container ul.navbar-nav li .selected-language { + display: none; + } + } +} + +/* ----------- iPhone 5, 5S iPhone 6----------- */ + +// Set dropdown height as per the screen size +@mixin extend_mobile_specific($menu_height) { + .header-navbar { + .navbar-container { + .show { + .dropdown-menu { + max-height: $menu_height; + } + } + } + } +} + +/* Landscape */ + +@media only screen and (min-device-width: 26.78em) and (max-device-width: 47.64em) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) { + @include extend_mobile_specific(180px); +} + +/* ----------- iPhone 6+ ----------- */ + +/* Landscape */ + +@media only screen and (min-device-width: 29.57em) and (max-device-width: 52.57em) and (-webkit-min-device-pixel-ratio: 3) and (orientation: landscape) { + @include extend_mobile_specific(280px); +} + +// for width of navbar in fixed-top +@media (max-width: 1201px) { + .header-navbar { + &.fixed-top { + left: 0; + } + } + + .horizontal-layout { + .header-navbar { + .navbar-container { + padding-left: 0.8rem; + padding-right: 0.8rem; + } + } + } +} + +@media (max-width: 1199px) { + .header-navbar { + .navbar-container { + ul.navbar-nav li a.dropdown-user-link .user-name { + margin-bottom: 0; + } + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_pagination.scss b/src/@core/scss/base/bootstrap-extended/_pagination.scss new file mode 100644 index 0000000..d391d29 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_pagination.scss @@ -0,0 +1,307 @@ +// Pagination + +// default look for page item, first and last item + +.page-item { + border-radius: 5rem; + + &:not(.prev-item), + &:not(.next-item), + &:not(.first), + &:not(.last), + &:not(.active) { + .page-link { + line-height: 1.3; + } + } + + .page-link { + display: flex; + align-items: center; + justify-content: center; + } + &.previous, + &.prev, + &.next, + &.first, + &.last { + .page-link { + width: auto; + } + } + + &.prev-item, + &.next-item { + .page-link { + transition: all 0.2s ease-out; + } + } + + // prev and next item separated styles + &.prev-item { + margin-right: 0.3571rem; + + .page-link { + border-radius: 50%; + + &:before { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $pagination-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 14px; + color: $body-color; + width: 8px; + height: 18px; + content: ''; + } + + &:hover { + background: $pagination-hover-bg; + color: $pagination-hover-color; + } + &:active, + &:hover { + background-color: $primary !important; + &:before { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $white), '#', '%23')) !important; + } + } + } + &.disabled { + .page-link { + &:before { + background-image: url(str-replace( + str-replace($chevron-left, 'currentColor', $pagination-disabled-color), + '#', + '%23' + )); + } + } + } + + & ~ .page-item:nth-child(2) { + border-top-left-radius: 5rem; + border-bottom-left-radius: 5rem; + .page-link { + border-top-left-radius: 5rem !important; + border-bottom-left-radius: 5rem !important; + } + } + + & ~ .page-item:nth-last-child(2) { + border-top-right-radius: 5rem; + border-bottom-right-radius: 5rem; + .page-link { + border-top-right-radius: 5rem !important; + border-bottom-right-radius: 5rem !important; + } + } + } + + &.next-item { + margin-left: 0.3571rem; + + .page-link { + border-radius: 50%; + + &:after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $pagination-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 14px; + width: 8px; + height: 18px; + content: ''; + } + + &:hover { + background: $pagination-hover-bg; + color: $pagination-hover-color; + } + &:active, + &:hover { + background-color: $primary !important; + &:after { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $white), + '#', + '%23' + )) !important; + } + } + } + &.disabled { + .page-link { + &:after { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $pagination-disabled-color), + '#', + '%23' + )); + } + } + } + } + + // prev and next style + &.prev, + &.previous { + .page-link { + &:before { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $pagination-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 14px; + color: $body-color; + width: 12px; + height: 18px; + content: ''; + } + // &:active, + &:hover { + &:before { + background-image: url(str-replace( + str-replace($chevron-left, 'currentColor', $pagination-active-color), + '#', + '%23' + )) !important; + } + } + } + &.disabled { + .page-link { + &:before { + background-image: url(str-replace( + str-replace($chevron-left, 'currentColor', $pagination-disabled-color), + '#', + '%23' + )); + } + } + } + } + &.next { + .page-link { + &:after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $pagination-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 14px; + color: $body-color; + width: 12px; + height: 18px; + content: ''; + } + // &:active, + &:hover { + &:after { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $primary), + '#', + '%23' + )) !important; + } + } + } + &.disabled { + .page-link { + &:after { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $pagination-disabled-color), + '#', + '%23' + )); + } + } + } + } + + &.disabled { + .page-link { + color: $pagination-disabled-color; + } + } + + // page link customization + + .page-link { + border: none; + margin: 0; + margin-left: 0; + font-size: 1rem; + min-width: 2.286rem; + &:focus { + box-shadow: none; + } + + &:hover { + color: $primary; + } + } + + // for active page item + &.active { + background-color: $pagination-bg; + border-radius: 0; + + .page-link { + z-index: 3; + border-radius: 5rem; + background-color: $primary; + color: $white !important; + font-weight: 600; + } + } + + // if you don't want separated look + + &:first-child:not(.prev-item) { + &.active { + border-top-left-radius: 1.428rem; + border-bottom-left-radius: 1.428rem; + .page-link { + border-radius: 5rem; + } + } + .page-link { + border-top-left-radius: 1.428rem; + border-bottom-left-radius: 1.428rem; + } + } + + &:last-child:not(.next-item) { + &.active { + border-top-right-radius: 1.428rem; + border-bottom-right-radius: 1.428rem; + .page-link { + border-radius: 5rem; + } + } + .page-link { + border-top-right-radius: 1.428rem; + border-bottom-right-radius: 1.428rem; + } + } +} + +// For Pagination Font sizes +.pagination { + // For Pagination lg + &.pagination-lg { + .page-item { + .page-link { + font-size: $pagination-font-size-lg; + min-width: 2.6rem; + } + } + } + // For Pagination sm + &.pagination-sm { + .page-item { + .page-link { + font-size: $pagination-font-size-sm; + min-width: 2rem; + } + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_popover.scss b/src/@core/scss/base/bootstrap-extended/_popover.scss new file mode 100644 index 0000000..4463541 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_popover.scss @@ -0,0 +1,45 @@ +// Popovers + +.popover { + box-shadow: $popover-box-shadow; + // popover header style + .popover-header { + @include font-size(1.07rem); + border: 1px solid $popover-header-bg; + } + // popover body style + .popover-body { + border: 1px solid $popover-border-color; + border-top-color: $popover-bg; + border-bottom-left-radius: $popover-border-radius; + border-bottom-right-radius: $popover-border-radius; + } + // popover bottom arrow color like header + &.bs-popover-bottom { + .arrow:after { + border-bottom-color: $popover-header-bg; + } + } +} +// To set arrow border as we have added border to popover-body and popover-header +.bs-popover-top { + > .arrow { + &::after { + bottom: $popover-border-width + 1px; + } + } +} +.bs-popover-right { + > .arrow { + &::after { + left: $popover-border-width + 1px; + } + } +} +.bs-popover-left { + > .arrow { + &::after { + right: $popover-border-width + 1px; + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_progress.scss b/src/@core/scss/base/bootstrap-extended/_progress.scss new file mode 100644 index 0000000..c8268bd --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_progress.scss @@ -0,0 +1,20 @@ +/*========================================================================================= + File Name: progress.scss + Description: Extended bootstrap progress bar scss. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent + ---------------------------------------------------------------------------------------- +==========================================================================================*/ + +.progress { + // border radius to set for stacked bars + .progress-bar + .progress-bar:not(:last-child) { + border-radius: 0; + } + .progress-bar:last-child { + border-top-right-radius: $progress-border-radius; + border-bottom-right-radius: $progress-border-radius; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_reboot.scss b/src/@core/scss/base/bootstrap-extended/_reboot.scss new file mode 100644 index 0000000..02cbfea --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_reboot.scss @@ -0,0 +1,15 @@ +a { + &:focus { + outline: none; + } +} + +a:not([href]) { + color: inherit; + text-decoration: none; + + @include hover() { + color: inherit; + text-decoration: none; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_tables.scss b/src/@core/scss/base/bootstrap-extended/_tables.scss new file mode 100644 index 0000000..a490309 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_tables.scss @@ -0,0 +1,122 @@ +// ================================================================================================ +// File Name: tables.scss +// Description: Tables pages custom scss +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// table-white-space +.table-white-space { + th, + td { + white-space: nowrap; + } +} + +// table th, td padding +.table { + thead, + tfoot { + th { + vertical-align: top; + text-transform: uppercase; + font-size: $table-th-font-size; + letter-spacing: 0.5px; + } + } + th, + td { + padding: $table-cell-padding 2rem; + vertical-align: middle; + } + &.table-sm { + th, + td { + padding: $table-cell-padding-sm 0.5rem; + &:first-child { + padding-left: 0.75rem; + } + } + } +} +// if we are not using table-light class then also header color should apply +.table:not(.table-dark):not(.table-light) { + thead:not(.thead-dark) th, + tfoot:not(.thead-dark) th { + background-color: $table-head-bg; + } +} +// table inside card, don't need margin bottom +.table-hover { + tbody { + tr { + cursor: pointer; + } + } +} +// Table - hover animation +.table-hover-animation { + background-color: $body-bg; + thead { + th { + border-bottom: 0; + } + } + th, + td { + border: 0; + } + tbody { + tr { + transition: all 0.25s ease; + background-color: $white; + &:hover { + transform: translateY(-4px); + } + } + } +} + +// table border radius +.card .table { + margin-bottom: 0; + border-bottom-left-radius: $border-radius; + border-bottom-right-radius: $border-radius; + tbody { + tr:last-child { + td:first-child { + border-bottom-left-radius: $border-radius; + } + td:last-child { + border-bottom-right-radius: $border-radius; + } + } + } +} + +// Contexual table inside card radius +.card { + table { + tr[class*='table-']:last-child { + td:first-child { + border-bottom-left-radius: $border-radius; + } + td:last-child { + border-bottom-right-radius: $border-radius; + } + } + } +} + +// IE Specific CSS +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .table-hover-animation { + tr { + &:hover { + border-bottom-color: $table-border-color; + } + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_toast.scss b/src/@core/scss/base/bootstrap-extended/_toast.scss new file mode 100644 index 0000000..7990e30 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_toast.scss @@ -0,0 +1,16 @@ +// Toasts + +.toast { + &.show { + z-index: 1030; + } + .close:focus { + outline: none; + } +} + +@include media-breakpoint-down(xs) { + .toast { + left: 1rem; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_type.scss b/src/@core/scss/base/bootstrap-extended/_type.scss new file mode 100644 index 0000000..5558a4c --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_type.scss @@ -0,0 +1,22 @@ +// ================================================================================================ +// File Name: type.scss +// Description: Type pages custom scss +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// text heading color +.text-body-heading { + color: $headings-color; + &:hover { + color: inherit !important; + } +} +// text body hover color if have link +.text-body { + &[href]:hover { + color: $link-hover-color !important; + } +} diff --git a/src/@core/scss/base/bootstrap-extended/_utilities.scss b/src/@core/scss/base/bootstrap-extended/_utilities.scss new file mode 100644 index 0000000..59e62a5 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_utilities.scss @@ -0,0 +1,465 @@ +// ================================================================================================ +// File Name: utilities.scss +// Description: Utility classes provides color, width, position & background etc.. +// related customization. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Sizes Variable for height and width mixins +$sizes-px: ( + // in px + 50: 50px, + 100: 100px, + 150: 150px, + 200: 200px, + 250: 250px, + 300: 300px, + 350: 350px, + 400: 405px, + 450: 455px, + 500: 500px, + 550: 550px, + 600: 600px, + 650: 650px, + 700: 700px, + 750: 750px, + 800: 800px +) !default; + +$sizes-per: ( + // in % + 5: 5%, + 10: 10%, + 15: 15%, + 20: 20%, + 25: 25%, + 30: 30%, + 35: 35%, + 40: 40%, + 45: 45%, + 50: 50%, + 55: 55%, + 60: 60%, + 65: 65%, + 70: 70%, + 75: 75%, + 80: 80%, + 85: 85%, + 90: 90%, + 95: 95% +) !default; + +//--------------- Text --------------- +//------------------------------------ + +// Font Size +//---------- +//small +.font-small-1 { + font-size: 0.7rem !important; + + // for Feather SVG icons as we are using base size as 1rem + @at-root svg#{&} { + height: 0.7rem !important; + width: 0.7rem !important; + } +} +.font-small-2 { + font-size: 0.8rem !important; + @at-root svg#{&} { + height: 0.8rem !important; + width: 0.8rem !important; + } +} +.font-small-3 { + font-size: 0.9rem !important; + @at-root svg#{&} { + height: 0.9rem !important; + width: 0.9rem !important; + } +} +.font-small-4 { + font-size: 1rem !important; + @at-root svg#{&} { + height: 1rem !important; + width: 1rem !important; + } +} +//medium +.font-medium-1 { + font-size: 1.1rem !important; + @at-root svg#{&} { + height: 1.1rem !important; + width: 1.1rem !important; + } +} +.font-medium-2 { + font-size: 1.2rem !important; + @at-root svg#{&} { + height: 1.2rem !important; + width: 1.2rem !important; + } +} +.font-medium-3 { + font-size: 1.3rem !important; + @at-root svg#{&} { + height: 1.3rem !important; + width: 1.3rem !important; + } +} +.font-medium-4 { + font-size: 1.4rem !important; + @at-root svg#{&} { + height: 1.4rem !important; + width: 1.4rem !important; + } +} +.font-medium-5 { + font-size: 1.5rem !important; + @at-root svg#{&} { + height: 1.5rem !important; + width: 1.5rem !important; + } +} +//large +.font-large-1 { + font-size: 2rem !important; + @at-root svg#{&} { + height: 2rem !important; + width: 2rem !important; + } +} +.font-large-2 { + font-size: 3rem !important; + @at-root svg#{&} { + height: 3rem !important; + width: 3rem !important; + } +} +.font-large-3 { + font-size: 4rem !important; + @at-root svg#{&} { + height: 4rem !important; + width: 4rem !important; + } +} +.font-large-4 { + font-size: 5rem !important; + @at-root svg#{&} { + height: 5rem !important; + width: 5rem !important; + } +} +.font-large-5 { + font-size: 6rem !important; + @at-root svg#{&} { + height: 6rem !important; + width: 6rem !important; + } +} + +// Line height +//---------- +.line-height-1 { + line-height: 1 !important; +} +.line-height-condensed { + line-height: 1.5 !important; +} +.line-height-inherit { + line-height: inherit !important; +} + +// Transform +//---------- +.rotate-45 { + transform: rotate(45deg); +} +.rotate-45-inverse { + transform: rotate(-45deg); +} +.rotate-90 { + transform: rotate(90deg); +} +.rotate-90-inverse { + transform: rotate(-90deg); +} +.rotate-180 { + transform: rotate(180deg); +} +.rotate-180-inverse { + transform: rotate(-180deg); +} + +//-------------- Borders -------------- +//------------------------------------- + +// Border width - 2px +.border-2 { + border-width: 2px !important; +} +.border-top-2 { + border-top-width: 2px !important; +} +.border-bottom-2 { + border-bottom-width: 2px !important; +} +.border-left-2 { + border-left-width: 2px !important; +} +.border-right-2 { + border-right-width: 2px !important; +} + +// Border width - 3px +.border-3 { + border-width: 3px !important; +} +.border-top-3 { + border-top-width: 3px !important; +} +.border-bottom-3 { + border-bottom-width: 3px !important; +} +.border-left-3 { + border-left-width: 3px !important; +} +.border-right-3 { + border-right-width: 3px !important; +} + +// Shapes radius : Round / Square +.round { + @include border-radius(1.5rem); +} +.square { + @include border-radius(0); +} + +//-------------- Sizing -------------- +//------------------------------------ + +// Width && Height +.fit { + max-width: 100% !important; +} +.half-width { + width: 50% !important; +} +.full-width { + width: 100% !important; +} +.full-height { + height: 100% !important; +} + +// height & width in PX +@each $name, $size in $sizes-px { + .height-#{$name} { + height: $size !important; + } + + .width-#{$name} { + width: $size !important; + } +} + +// height & width in % +@each $name, $size in $sizes-per { + .height-#{$name}-per { + height: $size !important; + } + + .width-#{$name}-per { + width: $size !important; + } +} + +//------------- Position ------------- +//------------------------------------ +.position-top-0 { + top: 0; +} +.position-right-0 { + right: 0; +} +.position-bottom-0 { + bottom: 0; +} +.position-left-0 { + left: 0; +} + +//------------- Overflow ------------- +//------------------------------------ +.overflow-visible { + overflow: visible; +} +.overflow-scroll { + overflow: scroll; +} +.overflow-x-scroll { + overflow: scroll; +} +.overflow-y-scroll { + overflow: scroll; +} + +//-------------- Cursor -------------- +//------------------------------------ +.cursor-pointer { + cursor: pointer; +} +.cursor-move { + cursor: move; +} +.cursor-default { + cursor: default; +} +.cursor-progress { + cursor: progress; +} +.cursor-not-allowed { + cursor: not-allowed; +} + +//-------------- Z-index -------------- +//------------------------------------- +.zindex-1 { + z-index: 1 !important; +} +.zindex-2 { + z-index: 2 !important; +} +.zindex-3 { + z-index: 3 !important; +} +.zindex-4 { + z-index: 4 !important; +} +.zindex-0 { + z-index: 0 !important; +} +.zindex-minus-1 { + z-index: -1 !important; +} +.zindex-minus-2 { + z-index: -2 !important; +} +.zindex-minus-3 { + z-index: -3 !important; +} +.zindex-minus-4 { + z-index: -4 !important; +} + +//------------ Box Shadow ------------ +//------------------------------------ +.box-shadow-0 { + box-shadow: none !important; +} +.box-shadow-1 { + box-shadow: 0 2px 5px 0 rgba($black, 0.16), 0 2px 10px 0 rgba($black, 0.12); +} +.box-shadow-2 { + box-shadow: 0 8px 17px 0 rgba($black, 0.2), 0 6px 20px 0 rgba($black, 0.19); +} +.box-shadow-3 { + box-shadow: 0 12px 15px 0 rgba($black, 0.24), 0 17px 50px 0 rgba($black, 0.19); +} +.box-shadow-4 { + box-shadow: 0 16px 28px 0 rgba($black, 0.22), 0 25px 55px 0 rgba($black, 0.21); +} +.box-shadow-5 { + box-shadow: 0 27px 24px 0 rgba($black, 0.2), 0 40px 77px 0 rgba($black, 0.22); +} +.box-shadow-6 { + box-shadow: 0 4px 8px 0 rgba($black, 0.12), 0 2px 4px 0 rgba($black, 0.08); +} + +//-------------- Outline -------------- +//------------------------------------- +.outline-none { + outline: none !important; +} + +//-------------- Lists -------------- +//----------------------------------- +.list-style-inside { + list-style: inside; +} +.list-style-circle { + list-style: circle; +} +.list-style-square { + list-style: square; +} + +//--------- Background Image --------- +//------------------------------------ +.bg-cover { + background-size: cover !important; +} +.background-repeat { + background-repeat: repeat !important; +} +.background-no-repeat { + background-repeat: no-repeat !important; +} + +//-------------- Icons -------------- +//----------------------------------- +.icon-bg-circle { + color: $white; + padding: 0.5rem; + border-radius: 50%; +} +.icon-left { + margin-right: 0.5rem; +} +.icon-right { + margin-right: 0.5rem; +} + +// Used for blockUI +.blockOverlay { + z-index: 1050 !important; +} +.blockElement, +.blockPage { + z-index: 1051 !important; +} + +.hidden { + display: none; + visibility: hidden; +} + +a { + &:hover { + cursor: pointer; + } +} + +//Tables +//-------------------------- +.table-middle { + td { + vertical-align: middle; + } +} + +//SVG +//-------------------------- +.fill-current { + fill: currentColor; +} + +//Cursor +//-------------------------- +.pointer-events-none { + pointer-events: none; +} diff --git a/src/@core/scss/base/bootstrap-extended/_variables.scss b/src/@core/scss/base/bootstrap-extended/_variables.scss new file mode 100644 index 0000000..e8dc986 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/_variables.scss @@ -0,0 +1,499 @@ +// ================================================================================================ +// File Name: variables.scss +// Description: Custom overrides of Bootstrap variables +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Color system + +$white: #fff !default; +$gray-50: #f6f6f6 !default; +$gray-100: #babfc7 !default; // $gray-lightest +$gray-200: #ededed !default; // $gray-lighter +$gray-300: #dae1e7 !default; // $gray-light +$gray-400: #636363 !default; +$gray-500: #adb5bd !default; +$gray-600: #b8c2cc !default; // $gray +$gray-700: #4e5154 !default; +$gray-800: #1e1e1e !default; // $gray-dark +$gray-900: #2a2e30 !default; +$black: #22292f !default; // 231f48 22292f + +$purple: #7367f0 !default; //$primary +$green: #28c76f !default; //$success +$blue: #00cfe8 !default; //$info +$orange: #ff9f43 !default; //$warning +$red: #ea5455 !default; //$danger + +$primary: $purple !default; +$secondary: #82868b !default; +$info: $blue !default; +$warning: $orange !default; +$light: $gray-50 !default; +$dark: #4b4b4b !default; + +// Spacing +// +// Control the default styling of most Bootstrap elements by modifying these +// variables. Mostly focused on spacing. +// You can add more entries to the $spacers map, should you need more variation. + +// scss-docs-start container-max-widths +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1140px, + xxl: 1440px // Custom xxl size +) !default; +// scss-docs-end container-max-widths + +// stylelint-disable +$spacer: 1rem !default; +$spacers: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$spacers: map-merge( + ( + 0: 0, + 25: ( + $spacer * 0.25 + ), + 50: ( + $spacer * 0.5 + ), + 75: ( + $spacer * 0.75 + ), + 1: ( + $spacer + ), + 2: ( + $spacer * 1.5 + ), + 3: ( + $spacer * 3 + ), + 4: ( + $spacer * 3.5 + ), + 5: ( + $spacer * 4 + ) + ), + $spacers +); + +// Body +// +// Settings for the `` element. +$body-bg: #f8f8f8 !default; +$body-color: #6e6b7b !default; + +// Links +// +// Style anchor elements. + +$link-color: $primary !default; +$link-hover-color: darken($link-color, 5%) !default; +$link-hover-decoration: none !default; + +// Grid columns +// +// Set the number of columns and specify the width of the gutters. + +$grid-gutter-width: 2rem !default; + +// Components +// +// Define common padding and border radius sizes and more. + +$line-height-lg: 1.25 !default; +$line-height-sm: 1 !default; + +$border-width: 1px !default; +$border-color: #ebe9f1 !default; +$border-radius: 0.357rem !default; +$border-radius-lg: 0.6rem !default; +$border-radius-sm: 0.25rem !default; + +// shadow +$box-shadow: 0 4px 24px 0 rgba($black, 0.1) !default; +// Typography + +// +// Font, line-height, and color for body text, headings, and more. + +// stylelint-disable value-keyword-case +$font-family-sans-serif: 'Montserrat', Helvetica, Arial, serif !default; +$font-family-monospace: 'Montserrat', Helvetica, Arial, serif !default; + +// stylelint-enable value-keyword-case +$font-size-base: 1rem !default; +$font-size-lg: ceil($font-size-base * 1.25) !default; +$font-size-sm: ceil($font-size-base * 0.85) !default; + +$font-weight-normal: 400 !default; +$font-weight-bold: 500 !default; +$font-weight-bolder: 600 !default; + +$line-height-base: 1.45 !default; + +$h1-font-size: $font-size-base * 2 !default; +$h2-font-size: $font-size-base * 1.714 !default; +$h3-font-size: $font-size-base * 1.5 !default; +$h4-font-size: $font-size-base * 1.286 !default; +$h5-font-size: $font-size-base * 1.07 !default; + +$headings-font-family: inherit !default; +$headings-color: #5e5873 !default; + +$display1-weight: $font-weight-normal !default; +$display2-weight: $font-weight-normal !default; +$display3-weight: $font-weight-normal !default; +$display4-weight: $font-weight-normal !default; + +$lead-font-size: $font-size-base * 1.14 !default; +$lead-font-weight: $font-weight-normal !default; + +$small-font-size: 0.857rem !default; + +$text-muted: #b9b9c3 !default; +$hr-border-color: $border-color !default; + +$blockquote-small-color: $text-muted !default; + +// Tables + +$table-cell-padding: 0.72rem !default; + +$table-accent-bg: #fafafc !default; +$table-hover-bg: #f6f6f9 !default; + +$table-border-color: $border-color !default; + +$table-head-bg: #f3f2f7 !default; +$table-head-color: $headings-color !default; + +$table-dark-bg: $dark !default; +$table-dark-border-color: #404040 !default; + +$table-th-font-size: 0.857rem !default; // custom + +// Buttons + Forms +$btn-padding-y: 0.786rem !default; +$btn-padding-x: 1.5rem !default; +$input-btn-padding-y: 0.75rem !default; +$input-btn-padding-x: 2rem !default; + +$input-btn-padding-y-sm: 0.486rem !default; +$input-btn-padding-x-sm: 1rem !default; +$input-btn-font-size-sm: $font-size-base * 0.9 !default; + +$input-btn-padding-y-lg: 0.8rem !default; +$input-btn-padding-x-lg: 2rem !default; +$input-btn-font-size-lg: $font-size-base * 1.25 !default; +$btn-line-height: 1 !default; +$btn-border-radius: 0.358rem !default; +$btn-border-radius-lg: 0.358rem !default; +$btn-border-radius-sm: 0.358rem !default; + +$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, background 0s, border 0s !default; + +// Forms +$custom-control-border-color: #d8d6de; +$label-margin-bottom: 0.2857rem !default; + +$input-padding-y: 0.438rem !default; +$input-padding-x: 1rem !default; +$input-font-size: 1rem !default; +$input-line-height: $line-height-base !default; + +$input-padding-y-sm: 0.188rem !default; +$input-padding-x-sm: 0.857rem !default; +$input-font-size-sm: 0.857rem !default; + +$input-padding-y-lg: 0.75rem !default; +$input-padding-x-lg: 1.143rem !default; +$input-font-size-lg: 1.143rem !default; + +$input-disabled-bg: #efefef !default; + +$input-color: $body-color !default; +$input-border-color: $custom-control-border-color !default; +$input-box-shadow: inset 0 1px 1px rgba($black, 0.075) !default; + +$input-border-radius: $border-radius !default; +$input-border-radius-lg: $border-radius !default; +$input-border-radius-sm: $border-radius !default; + +$input-focus-border-color: $primary !default; +$input-focus-box-shadow: 0 3px 10px 0 rgba($black, 0.1) !default; + +$input-placeholder-color: $text-muted !default; +$input-plaintext-color: $body-color !default; + +$input-height: 2.714rem !default; +$input-height-sm: 2.142rem !default; +$input-height-lg: 3.2857rem !default; + +$input-group-addon-bg: white !default; +$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, background 0s, border-color 0s !default; + +$custom-control-indicator-border-color: $custom-control-border-color; + +$custom-checkbox-indicator-border-radius: 3px !default; +$custom-checkbox-indicator-checked-color: white !default; +$custom-checkbox-indicator-indeterminate-color: white !default; +$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); + +$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{$custom-checkbox-indicator-indeterminate-color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-minus'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); + +$custom-control-indicator-checked-disabled-bg: rgba($primary, 0.65); + +$custom-radio-indicator-icon-checked: none; + +$custom-file-height-inner: $input-height !default; + +$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator +$custom-select-disabled-bg: $input-disabled-bg !default; +$custom-select-bg-size: 10px 10px !default; // In pixels because image dimensions +$custom-select-indicator-color: $input-border-color !default; +$custom-select-indicator: url("data:image/svg+xml,") !default; + +// $custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default; +// $custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; + +$custom-select-border-radius: $input-border-radius !default; +$custom-select-focus-box-shadow: $input-focus-box-shadow !default; + +$custom-select-padding-y-sm: $input-padding-y-sm !default; +$custom-select-padding-x-sm: $input-padding-x-sm !default; +$custom-select-font-size-sm: $input-font-size-sm !default; +$custom-select-height-sm: $input-height-sm !default; + +$custom-select-padding-y-lg: $input-padding-y-lg !default; +$custom-select-padding-x-lg: $input-padding-x-lg !default; +$custom-select-font-size-lg: $input-font-size-lg !default; +$custom-select-height-lg: $input-height-lg !default; + +// Dropdowns +// +// Dropdown menu container and contents. + +$dropdown-border-color: rgba($black, 0.05) !default; +$dropdown-border-radius: 0.358rem !default; +$dropdown-box-shadow: 0 5px 25px rgba($black, 0.1) !default; + +$dropdown-link-color: $body-color !default; +$dropdown-link-hover-color: $primary !default; +$dropdown-link-hover-bg: rgba($primary, 0.12) !default; + +$dropdown-divider-bg: rgba($black, 0.08) !default; +$dropdown-font-size: 1rem !default; +$dropdown-spacer: 0 !default; +$zindex-dropdown: 10 !default; + +$dropdown-box-shadow: 0 5px 25px 0 rgba($black, 0.1) !default; + +$dropdown-link-disabled-color: $text-muted !default; + +$dropdown-item-padding-y: 0.65rem !default; +$dropdown-item-padding-x: 1.28rem !default; + +$dropdown-header-color: $headings-color !default; + +$dropdown_spacing: 0.5rem; // custom + +// Pagination + +$pagination-padding-y: 0.5rem !default; +$pagination-padding-x: 0.85rem !default; +$pagination-padding-y-lg: 0.5575rem !default; +$pagination-padding-x-lg: 1rem !default; +$pagination-padding-y-sm: 0.443rem !default; +$pagination-padding-x-sm: 0.745rem !default; + +$pagination-disabled-color: $text-muted !default; + +$pagination-color: $body-color !default; +$pagination-bg: #f3f2f7 !default; + +$pagination-hover-color: $primary !default; +$pagination-hover-bg: #f3f2f7 !default; + +$pagination-active-color: $primary !default; + +$pagination-disabled-color: $text-muted !default; +$pagination-disabled-bg: #f3f2f7 !default; + +$pagination-font-size-lg: 1.14rem !default; // custom +$pagination-font-size-sm: 0.857rem !default; // custom + +// Cards +$card-spacer-y: 1.5rem !default; +$card-spacer-x: 1.5rem !default; +$card-border-radius: 0.428rem !default; + +//Alerts + +$alert-padding-y: 0.71rem !default; +$alert-padding-x: 1rem !default; +$alert-border-radius: 0.358rem !default; +$alert-link-font-weight: 700 !default; + +// List group + +$list-group-border-radius: 0.358rem !default; +$list-group-disabled-color: $text-muted !default; + +// Nav tabs + +$nav-link-padding-y: 0.358rem !default; +$nav-link-padding-x: 0.5rem !default; +$nav-link-disabled-color: $text-muted !default; + +$nav-tabs-border-width: 0 !default; +$nav-tabs-border-radius: 0.25 !default; +$nav-tabs-link-active-color: $primary !default; + +$nav-tabs-link-active-bg: transparent !default; + +$nav-pills-border-radius: $btn-border-radius !default; + +// navbar + +$floating-nav-margin: 1.3rem; + +// Tooltips + +$tooltip-bg: #323232 !default; +$tooltip-padding-y: 0.4rem !default; +$tooltip-padding-x: 0.775rem !default; +$tooltip-font-size: 0.857rem !default; +$tooltip-border-radius: 0.358rem !default; +$tooltip-opacity: 1 !default; +$tooltip-max-width: 220px !default; + +// Popovers + +$popover-font-size: 1rem !default; +$popover-border-width: 0 !default; +$popover-border-radius: 0.358rem !default; +$popover-border-color: $border-color !default; +$popover-box-shadow: 0 0 10px 0 rgba($black, 0.1) !default; + +$popover-header-bg: $primary !default; +$popover-header-color: $white !default; +$popover-header-padding-y: 0.65rem !default; +$popover-header-padding-x: 1.21rem !default; + +// Toasts + +$toast-max-width: 380px !default; +$toast-padding-x: 1.14rem !default; +$toast-padding-y: 0.15rem !default; +$toast-font-size: 0.857rem !default; +$toast-color: $body-color !default; +$toast-border-width: 0 !default; +$toast-border-radius: 0.286rem !default; +$toast-box-shadow: 0 2px 20px 0 rgba($black, 0.08) !default; + +$toast-header-color: $body-color !default; +$toast-header-background-color: $white !default; + +// Progress + +$progress-height: 0.857rem !default; +$progress-border-radius: 5rem !default; +$progress-font-size: $font-size-base * 0.857 !default; +$progress-bg: rgba($primary, 0.12) !default; + +// Breadcrumbs + +$breadcrumb-font-size: 1rem !default; + +$breadcrumb-padding-y: 0.3rem !default; +$breadcrumb-item-padding: 0.6rem !default; + +$breadcrumb-margin-bottom: 0 !default; + +$breadcrumb-bg: transparent !default; +$breadcrumb-divider-color: $body-color !default; +$breadcrumb-active-color: $body-color !default; + +$breadcrumb-border-radius: 0 !default; + +// Carousel + +$carousel-control-color: $white !default; +$carousel-control-prev-icon-bg: url('data:image/svg+xml,') !default; +$carousel-control-next-icon-bg: url('data:image/svg+xml,') !default; + +// Badges + +$badge-font-size: 85% !default; +$badge-padding-y: 0.3rem !default; +$badge-padding-x: 0.5rem !default; +$badge-font-weight: 600 !default; +$badge-border-radius: 0.358rem !default; + +$badge-pill-padding-x: 0.5rem !default; + +// Modal +$modal-inner-padding: 0.8rem 1.4rem !default; + +$modal-footer-border-color: rgba($black, 0.05) !default; + +$modal-header-padding-y: 0.8rem !default; +$modal-header-padding-x: 1.4rem !default; +$modal-content-border-radius: 0.358rem !default; + +$modal-xl: 94% !default; +$modal-sm: 400px !default; + +// Slide In Modal +$modal-slide-in-width-sm: 25rem !default; // custom +$modal-slide-in-width: 28rem !default; // custom +$modal-slide-in-width-lg: 30rem !default; // custom + +// Close + +$close-font-size: $font-size-base * 2 !default; +$close-font-weight: 400 !default; +$close-color: $headings-color !default; + +// Code + +$code-font-size: 90% !default; +$kbd-bg: #eee !default; + +// Switch +$custom-switch-width: 3rem !default; +$custom-switch-indicator-border-radius: 1rem !default; +$custom-switch-indicator-size: 1rem !default; + +//svg color +$svg-color-light: #626262 !default; + +// SVG icons +// For Breadcrumb +$double-chevron-right: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevrons-right'%3E%3Cpolyline points='13 17 18 12 13 7'%3E%3C/polyline%3E%3Cpolyline points='6 17 11 12 6 7'%3E%3C/polyline%3E%3C/svg%3E"; +// Chevron Icons +$chevron-left: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-left'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E"; +$chevron-right: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-right'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E"; +$chevron-up: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-up'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E"; +$chevron-down: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-down'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"; + +$download: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-download'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E"; +$remove: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"; +$check: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"; +$circle: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-circle'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3C/svg%3E"; +$infoIcon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-info'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='16' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'%3E%3C/line%3E%3C/svg%3E"; +$warningIcon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-alert-triangle'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'%3E%3C/path%3E%3Cline x1='12' y1='9' x2='12' y2='13'%3E%3C/line%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E"; +$menu: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' stroke='currentColor' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round' class='css-i6dzq1'%3E%3Cline x1='3' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='21' y2='18'%3E%3C/line%3E%3C/svg%3E"; + +$chat-bg-light: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNjAgMjYwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNjAgMjYwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0UxRTBFOTt9Cjwvc3R5bGU+CjxnPgoJPGcgaWQ9ImktbGlrZS1mb29kIj4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQuNCwxNmMwLjIsMC42LDAuNCwxLjMsMC41LDJoLTMuN2wxLjIsMi4zbDAuNSwwLjlsLTAuMiwwLjFWMjhjMi4yLDEuNywyLjcsNC44LDEsNwoJCQljLTAuOCwxLTEuOSwxLjctMy4yLDEuOVYzN2MtMC45LDMuNS00LjEsNi03LjgsNmgtMjBjLTMuNiwwLTYuOC0yLjUtNy43LTZ2LTAuMWMtMi43LTAuNC00LjYtMy00LjItNS43YzAuMi0xLjMsMC45LTIuNSwxLjktMy4yCgkJCXYtNi44bC0wLjgtMS42bC0wLjQtMC45bDAuOS0wLjRMLTE3LDE4aC0zQy0xNy4yLDUuNi00LjktMi4yLDcuNSwwLjZDMTUuNCwyLjMsMjEuOSw4LjIsMjQuNCwxNnogTS0xMi40LDE4Yy0wLjIsMC0wLjMsMC0wLjQsMC4xCgkJCWwtMy4xLDEuNmwwLjksMS44bDEuMy0wLjdjMC44LTAuNCwxLjgtMC40LDIuNywwbDIuMiwxLjFjMC4zLDAuMSwwLjYsMC4xLDAuOSwwbDIuMi0xLjFjMC44LTAuNCwxLjgtMC40LDIuNywwbDIuMiwxLjEKCQkJYzAuMywwLjEsMC42LDAuMSwwLjksMGwyLjItMS4xYzAuOC0wLjQsMS44LTAuNCwyLjcsMGwyLjIsMS4xQzcuNCwyMiw3LjcsMjIsOCwyMS45bDIuOS0xLjNjMC44LTAuMywxLjctMC4zLDIuNCwwbDIuOSwxLjMKCQkJYzAuMywwLjEsMC42LDAuMSwwLjksMGwzLjEtMS41bC0wLjktMS44bC0xLjQsMC43Yy0wLjgsMC40LTEuNywwLjQtMi42LDAuMWwtMi44LTEuMkMxMi4zLDE4LDEyLjIsMTgsMTIuMSwxOGwwLDAKCQkJYy0wLjEsMC0wLjMsMC0wLjQsMC4xbC0yLjgsMS4yYy0wLjgsMC40LTEuOCwwLjMtMi42LTAuMUw0LDE4LjFDMy45LDE4LDMuNywxOCwzLjYsMThsMCwwYy0wLjIsMC0wLjMsMC0wLjQsMC4xTDEsMTkuMgoJCQljLTAuOCwwLjQtMS44LDAuNC0yLjcsMEwtNCwxOC4xQy00LjEsMTgtNC4zLDE4LTQuNCwxOGwwLDBjLTAuMiwwLTAuMywwLTAuNCwwLjFMLTcsMTkuMmMtMC44LDAuNC0xLjgsMC40LTIuNywwbC0yLjItMS4xCgkJCUMtMTIuMSwxOC0xMi4zLDE4LTEyLjQsMThMLTEyLjQsMThMLTEyLjQsMTh6IE0tMTIuNCwxNmgtNC45Qy0xMy41LDUuMS0xLjUtMC43LDkuNSwzLjJjNiwyLjEsMTAuNyw2LjgsMTIuOCwxMi44aC0yLjFsLTAuMS0wLjEKCQkJTDE5LjksMTZILTEyLjRMLTEyLjQsMTZ6IE0xNy45LDIzLjdsMS40LTAuN2gxLjN2MmgtMzZ2LTEuMWwwLjMtMC4ybDEuNC0wLjdoMi42bDEuNCwwLjdjMC44LDAuNCwxLjgsMC40LDIuNywwbDEuNC0wLjdILTMKCQkJbDEuNCwwLjdjMC44LDAuNCwxLjgsMC40LDIuNywwTDIuMywyM2gyLjZsMS40LDAuN2MwLjcsMC40LDEuNywwLjQsMi41LDBsMS43LTAuN2gzLjJsMS43LDAuN0MxNi4yLDI0LjEsMTcuMSwyNC4xLDE3LjksMjMuN3oKCQkJIE0tMTMuOCwyN2wxNi40LDQuOUwxOC45LDI3SC0xMy44eiBNLTE0LjQsMjloMC4zbDE2LjcsNWwxNi43LTVoMC4zYzEuNywwLDMsMS4zLDMsM3MtMS4zLDMtMywzaC0zNGMtMS43LDAtMy0xLjMtMy0zCgkJCUMtMTcuNCwzMC4zLTE2LjEsMjktMTQuNCwyOXogTS0xMy4xLDM3YzAuOCwyLjQsMy4xLDQsNS43LDRoMjBjMi41LDAsNC44LTEuNiw1LjctNEMxOC4yLDM3LTEzLjEsMzctMTMuMSwzN3oiLz4KCQk8cGF0aCBpZD0icGF0aDZfZmlsbC1jb3B5IiBjbGFzcz0ic3QwIiBkPSJNMjg0LjQsMTZjMC4yLDAuNiwwLjQsMS4zLDAuNSwyaC0zLjdsMS4yLDIuM2wwLjUsMC45bC0wLjIsMC4xVjI4YzIuMiwxLjcsMi43LDQuOCwxLDcKCQkJYy0wLjgsMS0xLjksMS43LTMuMiwxLjlWMzdjLTAuOSwzLjUtNC4xLDYtNy44LDZoLTIwYy0zLjYsMC02LjgtMi41LTcuNy02di0wLjFjLTIuNy0wLjQtNC42LTMtNC4yLTUuN2MwLjItMS4zLDAuOS0yLjUsMS45LTMuMgoJCQl2LTYuOGwtMC44LTEuNmwtMC40LTAuOWwwLjktMC40TDI0MywxOGgtM2MyLjgtMTIuNCwxNS4xLTIwLjIsMjcuNS0xNy40QzI3NS40LDIuMywyODEuOSw4LjIsMjg0LjQsMTZ6IE0yNDcuNSwxOAoJCQljLTAuMiwwLTAuMywwLTAuNCwwLjFsLTMuMSwxLjZsMC45LDEuOGwxLjMtMC43YzAuOC0wLjQsMS44LTAuNCwyLjcsMGwyLjIsMS4xYzAuMywwLjEsMC42LDAuMSwwLjksMGwyLjItMS4xCgkJCWMwLjgtMC40LDEuOC0wLjQsMi43LDBsMi4yLDEuMWMwLjMsMC4xLDAuNiwwLjEsMC45LDBsMi4yLTEuMWMwLjgtMC40LDEuOC0wLjQsMi43LDBsMi4yLDEuMWMwLjMsMC4xLDAuNiwwLjEsMC45LDBsMi45LTEuMwoJCQljMC44LTAuMywxLjctMC4zLDIuNCwwbDIuOSwxLjNjMC4zLDAuMSwwLjYsMC4xLDAuOSwwbDMuMS0xLjVsLTAuOS0xLjhsLTEuNCwwLjdjLTAuOCwwLjQtMS43LDAuNC0yLjYsMC4xbC0yLjgtMS4yCgkJCWMtMC4xLTAuMS0wLjMtMC4xLTAuNC0wLjFsMCwwYy0wLjEsMC0wLjMsMC0wLjQsMC4xbC0yLjgsMS4yYy0wLjgsMC40LTEuOCwwLjMtMi42LTAuMWwtMi4zLTEuMWMtMC4xLTAuMS0wLjMtMC4xLTAuNS0wLjFsMCwwCgkJCWMtMC4yLDAtMC4zLDAtMC40LDAuMWwtMi4yLDEuMWMtMC44LDAuNC0xLjgsMC40LTIuNywwbC0yLjItMS4xYy0wLjEtMC4xLTAuMy0wLjEtMC40LTAuMWwwLDBjLTAuMiwwLTAuMywwLTAuNCwwLjFsLTIuMiwxLjEKCQkJYy0wLjgsMC40LTEuOCwwLjQtMi43LDBsLTIuMi0xLjFDMjQ3LjksMTgsMjQ3LjcsMTgsMjQ3LjUsMThMMjQ3LjUsMThMMjQ3LjUsMTh6IE0yNDcuNSwxNmgtNC45YzMuOS0xMC45LDE1LjktMTYuNywyNi44LTEyLjgKCQkJYzYsMi4xLDEwLjcsNi44LDEyLjgsMTIuOGgtMi4xbC0wLjEtMC4xbC0wLjMsMC4xSDI0Ny41TDI0Ny41LDE2eiBNMjc3LjksMjMuN2wxLjQtMC43aDEuM3YyaC0zNnYtMS4xbDAuMy0wLjJsMS40LTAuN2gyLjYKCQkJbDEuNCwwLjdjMC44LDAuNCwxLjgsMC40LDIuNywwbDEuNC0wLjdoMi42bDEuNCwwLjdjMC44LDAuNCwxLjgsMC40LDIuNywwbDEuNC0wLjdoMi42bDEuNCwwLjdjMC44LDAuNCwxLjcsMC40LDIuNiwwLjFsMS43LTAuNwoJCQloMy4ybDEuNywwLjdDMjc2LjIsMjQuMSwyNzcuMSwyNC4xLDI3Ny45LDIzLjdMMjc3LjksMjMuN3ogTTI0Ni4yLDI3bDE2LjQsNC45TDI3OSwyN0gyNDYuMnogTTI0NS41LDI5aDAuM2wxNi43LDVsMTYuNy01aDAuMwoJCQljMS43LDAsMywxLjMsMywzcy0xLjMsMy0zLDNoLTM0Yy0xLjcsMC0zLTEuMy0zLTNTMjQzLjksMjksMjQ1LjUsMjl6IE0yNDYuOSwzN2MwLjgsMi40LDMuMSw0LDUuNiw0aDIwYzIuNSwwLDQuOC0xLjYsNS43LTQKCQkJSDI0Ni45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNTkuNSwyMWMtMS4zLTMuNi00LjctNi04LjUtNmgtNDJjLTMuOCwwLTcuMiwyLjQtOC41LDZjLTMuMywwLjMtNS44LDMuMi01LjUsNi41YzAuMiwyLjksMi42LDUuMiw1LjUsNS41CgkJCWMtMS43LDQuNywwLjgsOS44LDUuNCwxMS41YzEsMC4zLDIsMC41LDMsMC41aDQyYzUsMCw5LTQsOS05YzAtMS0wLjItMi4xLTAuNS0zYzMuMy0wLjMsNS44LTMuMiw1LjUtNi41CgkJCUMxNjQuNywyMy42LDE2Mi40LDIxLjMsMTU5LjUsMjF6IE0xNTEsMTdoLTQyYy0yLjcsMC01LjIsMS42LTYuMyw0aDU0LjdDMTU2LjIsMTguNiwxNTMuNywxNywxNTEsMTd6IE0xNDEuNyw0MwoJCQljMi4xLTEuNywzLjMtNC4zLDMuMy03aC0yYzAsMy45LTMuMSw3LTcsN2gtNC4zYzIuMS0xLjcsMy4zLTQuMywzLjMtN2gtMmMwLDMuOS0zLjEsNy03LDdoLTQuM2MyLjEtMS43LDMuMy00LjMsMy4zLTdoLTIKCQkJYzAsMy45LTMuMSw3LTcsN2gtN2MtMy45LDAtNy0zLjEtNy03czMuMS03LDctN2g0MmMzLjksMCw3LDMuMSw3LDdzLTMuMSw3LTcsN0gxNDEuN3ogTTEwOSwyN2MtMywwLTUuOCwxLjUtNy41LDRIMTAxCgkJCWMtMi4yLDAtNC0xLjgtNC00czEuOC00LDQtNGg1OGMyLjIsMCw0LDEuOCw0LDRzLTEuOCw0LTQsNGgtMC41Yy0xLjctMi41LTQuNS00LTcuNS00SDEwOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzksMTE1YzQuNCwwLDgtMy42LDgtOHMtMy42LTgtOC04cy04LDMuNi04LDhTMzQuNiwxMTUsMzksMTE1eiBNNDUsMTA3YzAsMy4zLTIuNyw2LTYsNnMtNi0yLjctNi02CgkJCXMyLjctNiw2LTZTNDUsMTAzLjcsNDUsMTA3eiBNNDIsNzh2LTJoOHYtNkg0MGMtMi4yLDAtNCwxLjgtNCw0djEwSDIybC0xLjMsNEwyMCw5MGgyLjJsMy44LDQwaDI2bDMuOC00MEg1OGwtMC43LTJMNTYsODRINDJWNzh6CgkJCSBNMzgsNzR2MTBoMlY3NGg4di0yaC04QzM4LjksNzIsMzgsNzIuOSwzOCw3NHogTTQwLDg2aDE0LjZsMC43LDJIMjIuOGwwLjctMkg0MHogTTUzLjgsOTBIMjQuMmwzLjYsMzhoMjIuNEw1My44LDkweiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMjksOTJoLTZ2NGgtNnY0aC02djE0aC0zbDAuMiwybDMuOCwzMmgzNmwzLjgtMzJsMC4yLTJoLTN2LTE0aC02di00aC02di00SDEyOXogTTE0NywxMTR2LTEyaC00djRoM3Y4SDE0NwoJCQl6IE0xNDQsMTE0di02aC00djZIMTQ0eiBNMTM4LDEyMHYtMTZoLTR2MTkuMkMxMzUuNiwxMjIuNSwxMzcsMTIxLjQsMTM4LDEyMHogTTEzMiwxMjMuOFYxMDBoLTR2MjMuOAoJCQlDMTI5LjMsMTI0LjEsMTMwLjcsMTI0LjEsMTMyLDEyMy44eiBNMTI2LDEyMy4yVjEwNGgtNHYxNkMxMjMsMTIxLjQsMTI0LjQsMTIyLjUsMTI2LDEyMy4yeiBNMTIwLDExNHYtNmgtNHY2SDEyMHogTTExNCwxMTR2LThoMwoJCQl2LTRoLTR2MTJIMTE0eiBNMTQxLDEwMnYtNGgtNHY0aDN2NGgxVjEwMnogTTEzNSwxMDJ2LThoLTR2NGgzdjRIMTM1eiBNMTI5LDk4di00aC00djhoMXYtNEgxMjl6IE0xMjMsMTAydi00aC00djhoMXYtNEgxMjN6CgkJCSBNMTMwLDEyNmM1LjksMCwxMC45LTQuMiwxMS44LTEwaDcuOWwtMy41LDMwaC0zMi40bC0zLjUtMzBoNy45QzExOS4xLDEyMS44LDEyNC4xLDEyNiwxMzAsMTI2eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTIsODZ2MmgtNHYtMkgyMTJ6IE0yMTYsODZoLTJ2MmgyVjg2eiBNMTk2LDg2TDE5Niw4NmMtMi43LDAuNy00LjUsMy4zLTMuOSw2YzAuNCwxLjgsMS42LDMuMiwzLjMsMy44CgkJCWwwLjEsMC4ybDEuMSw0LjVjMC4yLDAuOSwxLDEuNSwxLjksMS41bDAsMGw3LDI0LjZjMC4yLDAuOSwxLDEuNCwxLjksMS40aDVjMC45LDAsMS43LTAuNiwxLjktMS40bDctMjQuNmMwLjksMCwxLjctMC42LDEuOS0xLjUKCQkJbDEuMS00LjVsMC4xLTAuMmMyLjYtMC45LDQuMS0zLjcsMy4yLTYuM2MtMC42LTEuNy0yLTMtMy44LTMuM1Y4NmMwLTcuNy02LjMtMTQtMTQtMTRTMTk2LDc4LjMsMTk2LDg2eiBNMjAwLDg2aDZ2MmgtOQoJCQljLTEuNywwLTMsMS4zLTMsM3MxLjMsMywzLDNoMjZjMS43LDAsMy0xLjMsMy0zcy0xLjMtMy0zLTNoLTN2LTJoMmMwLTYuNi01LjQtMTItMTItMTJzLTEyLDUuNC0xMiwxMkgyMDB6IE0xOTguNiwxMDBsLTEtNGgyNC45CgkJCWwtMSw0SDE5OC42eiBNMjA3LjUsMTI2bC02LjktMjRoMTguN2wtNi45LDI0SDIwNy41eiBNMTUwLDI0MmMxMi4yLDAsMjItOS44LDIyLTIycy05LjgtMjItMjItMjJzLTIyLDkuOC0yMiwyMgoJCQlTMTM3LjgsMjQyLDE1MCwyNDJ6IE0xNzQsMjIwYzAsMTMuMy0xMC43LDI0LTI0LDI0cy0yNC0xMC43LTI0LTI0bDAsMGMwLTEzLjMsMTAuNy0yNCwyNC0yNFMxNzQsMjA2LjcsMTc0LDIyMHogTTE0NS42LDIzNy43CgkJCWwyLTAuOWMxLjUtMC42LDMuMi0wLjYsNC43LDBsMiwwLjljMC45LDAuNCwyLDAsMi41LTAuOGwxLjEtMS45YzAuOC0xLjQsMi4yLTIuNCwzLjgtMi44bDIuMS0wLjVjMS0wLjIsMS42LTEuMSwxLjUtMi4xbC0wLjItMi4yCgkJCWMtMC4xLTEuNiwwLjQtMy4yLDEuNC00LjVsMS40LTEuN2MwLjctMC44LDAuNy0xLjksMC0yLjZsLTEuNC0xLjdjLTEuMS0xLjItMS42LTIuOC0xLjQtNC41bDAuMi0yLjJjMC4xLTEtMC42LTEuOS0xLjYtMi4xCgkJCWwtMi4xLTAuNWMtMS42LTAuNC0zLTEuNC0zLjgtMi44bC0xLjEtMS45Yy0wLjUtMC45LTEuNi0xLjItMi41LTAuOGwtMiwwLjljLTEuNSwwLjYtMy4yLDAuNi00LjcsMGwtMi0wLjljLTAuOS0wLjQtMiwwLTIuNSwwLjgKCQkJbC0xLDIuMWMtMC44LDEuNC0yLjIsMi40LTMuOCwyLjhsLTIuMSwwLjVjLTEsMC4yLTEuNiwxLjEtMS41LDIuMWwwLjIsMi4yYzAuMSwxLjYtMC40LDMuMi0xLjQsNC41bC0xLjQsMS43CgkJCWMtMC43LDAuOC0wLjcsMS45LDAsMi42bDEuNCwxLjdjMS4xLDEuMiwxLjYsMi44LDEuNCw0LjVsLTAuMiwyLjJjLTAuMSwxLDAuNiwxLjksMS42LDIuMWwyLjEsMC41YzEuNiwwLjQsMywxLjQsMy44LDIuOGwxLjEsMS45CgkJCUMxNDMuNiwyMzcuOCwxNDQuNywyMzguMSwxNDUuNiwyMzcuN0wxNDUuNiwyMzcuN3ogTTE0OC40LDIzOC43YzEtMC40LDIuMS0wLjQsMy4xLDBsMiwwLjljMS44LDAuOCw0LDAuMSw1LTEuNmwxLjEtMS45CgkJCWMwLjYtMC45LDEuNS0xLjYsMi41LTEuOGwyLjEtMC41YzEuOS0wLjQsMy4zLTIuMywzLjEtNC4ybC0wLjItMi4yYy0wLjEtMS4xLDAuMy0yLjIsMS0zbDEuNC0xLjdjMS4zLTEuNSwxLjMtMy43LDAtNS4ybC0xLjQtMS43CgkJCWMtMC43LTAuOC0xLjEtMS45LTEtM2wwLjItMi4yYzAuMi0yLTEuMS0zLjgtMy4xLTQuMmwtMi4xLTAuNWMtMS4xLTAuMi0yLTAuOS0yLjUtMS44bC0xLjEtMS45Yy0xLTEuNy0zLjItMi40LTUtMS42bC0yLDAuOQoJCQljLTEsMC40LTIuMSwwLjQtMy4xLDBsLTItMC45Yy0xLjgtMC44LTQtMC4xLTUsMS42bC0xLjEsMS45Yy0wLjYsMC45LTEuNSwxLjYtMi41LDEuOGwtMi4xLDAuNWMtMS45LDAuNC0zLjMsMi4zLTMuMSw0LjJsMC4yLDIuMgoJCQljMC4xLDEuMS0wLjMsMi4yLTEsM2wtMS40LDEuN2MtMS4zLDEuNS0xLjMsMy43LDAsNS4ybDEuNCwxLjdjMC43LDAuOCwxLjEsMS45LDEsM2wtMC4yLDIuMmMtMC4yLDIsMS4xLDMuOCwzLjEsNC4ybDIuMSwwLjUKCQkJYzEuMSwwLjIsMiwwLjksMi41LDEuOGwxLjEsMS45YzEsMS43LDMuMiwyLjQsNSwxLjZMMTQ4LjQsMjM4Ljd6IE0xNTIsMjA3YzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMQoJCQlTMTUyLDIwNy42LDE1MiwyMDd6IE0xNTgsMjA5YzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxNTgsMjA5LjYsMTU4LDIwOXogTTE0NywyMTBjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMQoJCQlzLTAuNCwxLTEsMVMxNDcsMjEwLjYsMTQ3LDIxMHogTTE0MSwyMTBjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXMtMC40LDEtMSwxUzE0MSwyMTAuNiwxNDEsMjEweiBNMTQ0LDIwNWMwLTAuNiwwLjQtMSwxLTEKCQkJczEsMC40LDEsMXMtMC40LDEtMSwxUzE0NCwyMDUuNiwxNDQsMjA1eiBNMTM2LDIxM2MwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxcy0wLjQsMS0xLDFTMTM2LDIxMy42LDEzNiwyMTN6IE0xMzksMjE5CgkJCWMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxcy0wLjQsMS0xLDFTMTM5LDIxOS42LDEzOSwyMTl6IE0xMzksMjI1YzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxMzksMjI1LjYsMTM5LDIyNXoKCQkJIE0xNDMsMjMyYzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxNDMsMjMyLjYsMTQzLDIzMnogTTE0OCwyMzBjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXMtMC40LDEtMSwxCgkJCVMxNDgsMjMwLjYsMTQ4LDIzMHogTTE1MywyMzRjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXMtMC40LDEtMSwxUzE1MywyMzQuNiwxNTMsMjM0eiBNMTU3LDIyOGMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxCgkJCXMtMC40LDEtMSwxUzE1NywyMjguNiwxNTcsMjI4eiBNMTYzLDIyNGMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxcy0wLjQsMS0xLDFTMTYzLDIyNC42LDE2MywyMjR6IE0xNTksMjIxYzAtMC42LDAuNC0xLDEtMQoJCQlzMSwwLjQsMSwxcy0wLjQsMS0xLDFTMTU5LDIyMS42LDE1OSwyMjF6IE0xNjMsMjE4YzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxNjMsMjE4LjYsMTYzLDIxOHogTTE1OCwyMTQKCQkJYzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxNTgsMjE0LjYsMTU4LDIxNHogTTEzNCwyMjBjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXMtMC40LDEtMSwxUzEzNCwyMjAuNiwxMzQsMjIwegoJCQkgTTE1MCwyMjVjMi44LDAsNS0yLjIsNS01cy0yLjItNS01LTVzLTUsMi4yLTUsNVMxNDcuMiwyMjUsMTUwLDIyNXogTTE1NywyMjBjMCwzLjktMy4xLDctNyw3cy03LTMuMS03LTdzMy4xLTcsNy03CgkJCVMxNTcsMjE2LjEsMTU3LDIyMHogTTI0MywxOTFjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMmMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgyNDN6IE0yNjIsMjAwYzAtMC42LDAuNC0xLDEtMWgyCgkJCWMwLjYsMCwxLDAuNCwxLDFzLTAuNCwxLTEsMWgtMkMyNjIuNCwyMDEsMjYyLDIwMC42LDI2MiwyMDB6IE0yNDgsMjA1Yy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTEKCQkJSDI0OHogTTIyMywyMDZjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMmMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgyMjN6IE0yMjgsMjEwYy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDIKCQkJYzAuNiwwLDEtMC40LDEtMXMtMC40LTEtMS0xSDIyOHogTTIzNywyMTBjMC0wLjYsMC40LTEsMS0xaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDMjM3LjQsMjExLDIzNywyMTAuNiwyMzcsMjEwegoJCQkgTTI1MiwyMTFjMC0wLjYsMC40LTEsMS0xaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDMjUyLjQsMjEyLDI1MiwyMTEuNiwyNTIsMjExeiBNMjY0LDIwOWMtMC42LDAtMSwwLjQtMSwxczAuNCwxLDEsMWgyCgkJCWMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgyNjR6IE0yNTMsMTk1YzAtMC42LDAuNC0xLDEtMWgyYzAuNiwwLDEsMC40LDEsMXMtMC40LDEtMSwxaC0yQzI1My40LDE5NiwyNTMsMTk1LjYsMjUzLDE5NXoKCQkJIE0yMzQsMTk1Yy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTFIMjM0eiBNMjQwLDIwMGMwLTAuNiwwLjQtMSwxLTFoMmMwLjYsMCwxLDAuNCwxLDFzLTAuNCwxLTEsMQoJCQloLTJDMjQwLjQsMjAxLDI0MCwyMDAuNiwyNDAsMjAweiBNMjE1LDIxNWMwLTAuNSwwLTAuOSwwLTEuNGMtMi41LTEuMS0zLjctNC0yLjYtNi42YzAuMi0wLjUsMC41LTEsMC45LTEuNGMtMC45LTIsMC00LjIsMS45LTUuMgoJCQljLTAuOC0yLjYsMC43LTUuNCwzLjQtNi4ybDAsMGMwLjQtMC41LDAuOS0wLjksMS41LTEuMWMwLjUtMi43LDMuMS00LjUsNS44LTQuMWMwLjcsMC4xLDEuNCwwLjQsMiwwLjhjNS4zLTMuOCwxMS42LTUuOSwxOC4yLTUuOQoJCQljNi44LDAsMTMuMSwyLjIsMTguMiw1LjljMi4zLTEuNiw1LjQtMSw3LDEuM2MwLjQsMC42LDAuNywxLjMsMC44LDJjMC42LDAuMiwxLjEsMC42LDEuNSwxLjFjMi43LDAuOCw0LjIsMy41LDMuNCw2LjJsMCwwCgkJCWMxLjksMSwyLjcsMy4yLDEuOSw1LjJjMS45LDIsMS44LDUuMi0wLjIsN2MtMC40LDAuNC0wLjksMC43LTEuNSwxYzAsMC41LDAsMC45LDAsMS40djFoLTYydi0xSDIxNXogTTIxNS44LDIwNy44CgkJCWMtMC4zLDEuMi0wLjUsMi40LTAuNiwzLjZjLTEuMy0xLTEuNi0yLjktMC42LTQuMmwwLDBDMjE1LDIwNy41LDIxNS40LDIwNy43LDIxNS44LDIwNy44TDIxNS44LDIwNy44eiBNMjE3LjMsMjAzLjIKCQkJYy0wLjQsMC45LTAuNywxLjgtMSwyLjdjLTEtMC40LTEuNi0xLjUtMS4zLTIuNWMwLjItMC41LDAuNi0wLjksMS4xLTEuMkMyMTYuNSwyMDIuNiwyMTYuOSwyMDIuOSwyMTcuMywyMDMuMkwyMTcuMywyMDMuMnoKCQkJIE0yMTkuNiwxOTguN2MtMC41LDAuOS0xLDEuOC0xLjUsMi43Yy0xLjMtMS0xLjUtMi45LTAuNS00LjJjMC4xLTAuMiwwLjMtMC4zLDAuNC0wLjVDMjE4LjMsMTk3LjYsMjE4LjksMTk4LjMsMjE5LjYsMTk4LjcKCQkJTDIxOS42LDE5OC43eiBNMjIwLjgsMTk3YzAuNC0wLjUsMC43LTEsMS4xLTEuNWMtMC4zLTAuNS0wLjktMC43LTEuNC0wLjRzLTAuNywwLjktMC40LDEuNEMyMjAuMywxOTYuNywyMjAuNSwxOTYuOSwyMjAuOCwxOTcKCQkJTDIyMC44LDE5N3ogTTIyNi4xLDE5MS4yYy0xLDAuOS0yLDEuOC0yLjksMi44Yy0wLjMtMC4zLTAuNy0wLjYtMS4xLTAuOGMwLjQtMS42LDIuMS0yLjUsMy43LTIuMQoJCQlDMjI1LjksMTkxLjEsMjI2LDE5MS4yLDIyNi4xLDE5MS4yTDIyNi4xLDE5MS4yeiBNMjY4LjgsMTk0Yy0wLjktMS0xLjktMS45LTIuOS0yLjhjMS41LTAuNiwzLjMsMC4xLDMuOSwxLjcKCQkJYzAsMC4xLDAuMSwwLjIsMC4xLDAuM0MyNjkuNSwxOTMuNCwyNjkuMSwxOTMuNiwyNjguOCwxOTRMMjY4LjgsMTk0eiBNMjcwLjEsMTk1LjVjMC40LDAuNSwwLjgsMSwxLjEsMS40CgkJCWMwLjUtMC4xLDAuOS0wLjcsMC44LTEuMnMtMC43LTAuOS0xLjItMC44QzI3MC41LDE5NS4xLDI3MC4zLDE5NS4zLDI3MC4xLDE5NS41eiBNMjczLjksMjAxLjRjLTAuNS0wLjktMS0xLjgtMS41LTIuNwoJCQljMC44LTAuNCwxLjQtMS4xLDEuNi0yYzEuMywxLjEsMS40LDMsMC40LDQuMkMyNzQuMiwyMDEuMSwyNzQsMjAxLjIsMjczLjksMjAxLjR6IE0yNzUuNiwyMDUuOWMtMC4zLTAuOS0wLjYtMS44LTEtMi43CgkJCWMwLjQtMC4zLDAuOC0wLjYsMS4yLTFjMSwwLjUsMS40LDEuNywxLDIuN0MyNzYuNiwyMDUuMywyNzYuMiwyMDUuNywyNzUuNiwyMDUuOXogTTI3Ni44LDIxMS40Yy0wLjEtMS4yLTAuNC0yLjQtMC42LTMuNgoJCQljMC41LTAuMSwwLjktMC40LDEuMi0wLjZDMjc4LjQsMjA4LjUsMjc4LjEsMjEwLjQsMjc2LjgsMjExLjRMMjc2LjgsMjExLjRMMjc2LjgsMjExLjR6IE0yNzUsMjE0Yy0wLjUtMTYtMTMuOS0yOC42LTI5LjktMjguMQoJCQljLTE1LjMsMC41LTI3LjYsMTIuOC0yOC4xLDI4LjFIMjc1TDI3NSwyMTR6IE03Mi4zLDE5OC4xYy0wLjItMC4zLTAuMy0wLjctMC4zLTEuMXYtMTJoLTJ2MTJjMCwyLjIsMS44LDQsNCw0CgkJCWMxLjIsMCwyLjMtMC41LDMuMS0xLjRjMC42LTAuNywwLjktMS42LDAuOS0yLjV2LTEyaC0ydjEyYzAsMS4xLTAuOSwyLTIsMmwwLDBDNzMuMywxOTksNzIuNywxOTguNyw3Mi4zLDE5OC4xeiBNNzUsMTc2CgkJCWMwLjQsMCwwLjcsMCwxLjEtMC4xYzAuNSwyLjIsMi42LDMuNSw0LjgsM2MwLjUtMC4xLDEtMC4zLDEuNC0wLjZjMS4xLDIuMSwxLjcsNC40LDEuNyw2Ljd2MjRjMCwzLjMtMi43LDYtNiw2aC0zdjkKCQkJYzAsMi44LTIuMiw1LTUsNXMtNS0yLjItNS01di05aC0zYy0zLjMsMC02LTIuNy02LTZ2LTI0YzAtNy43LDYuMy0xNCwxNC0xNEM3MCwxNzMuOCw3Mi4yLDE3Niw3NSwxNzZ6IE01OCwxOTF2MTIKCQkJYzAsMC44LDAuNSwxLjUsMS4yLDEuOGMwLjksMC40LDEuOSwwLjEsMi40LTAuN2MwLjItMC4zLDAuMy0wLjcsMC4zLTEuMXYtMTJoMnYxMmMwLDIuMi0xLjcsNC0zLjksNGMtMC41LDAtMS0wLjEtMS40LTAuMgoJCQljLTAuMi0wLjEtMC40LTAuMi0wLjctMC4zdjIuNWMwLDIuMiwxLjgsNCw0LDRoMTZjMi4yLDAsNC0xLjgsNC00di0yNGMwLTEuNS0wLjItMi45LTAuNy00LjJjLTAuNCwwLjEtMC45LDAuMi0xLjMsMC4yCgkJCWMtMi4xLDAtNC4xLTEuMS01LjItM2MtMy0wLjEtNS42LTItNi41LTQuOUM2Mi40LDE3NCw1OCwxNzksNTgsMTg1VjE5MXogTTY3LDIxNXY5YzAsMS43LDEuMywzLDMsM3MzLTEuMywzLTN2LTlINjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTS0xNywxOTFjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMmMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgtMTd6IE0yLDIwMGMwLTAuNiwwLjQtMSwxLTFoMgoJCQljMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFIM0MyLjQsMjAxLDIsMjAwLjYsMiwyMDB6IE0tMTIsMjA1Yy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTFILTEyegoJCQkgTS0zNywyMDZjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMmMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgtMzd6IE0tMzIsMjEwYy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xCgkJCXMtMC40LTEtMS0xSC0zMnogTS0yMywyMTBjMC0wLjYsMC40LTEsMS0xaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDLTIyLjYsMjExLTIzLDIxMC42LTIzLDIxMHogTS04LDIxMWMwLTAuNiwwLjQtMSwxLTEKCQkJaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDLTcuNiwyMTItOCwyMTEuNi04LDIxMXogTTQsMjA5Yy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTFINHoKCQkJIE0tNywxOTVjMC0wLjYsMC40LTEsMS0xaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDLTYuNiwxOTYtNywxOTUuNi03LDE5NXogTS0yNiwxOTVjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMgoJCQljMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTFILTI2eiBNLTIwLDIwMGMwLTAuNiwwLjQtMSwxLTFoMmMwLjYsMCwxLDAuNCwxLDFzLTAuNCwxLTEsMWgtMkMtMTkuNiwyMDEtMjAsMjAwLjYtMjAsMjAweiBNLTQ1LDIxNQoJCQljMC0wLjUsMC0wLjksMC0xLjRjLTIuNS0xLjEtMy43LTQtMi42LTYuNmMwLjItMC41LDAuNS0xLDAuOS0xLjRjLTAuOS0yLDAtNC4yLDEuOS01LjJjLTAuOC0yLjYsMC43LTUuNCwzLjQtNi4ybDAsMAoJCQljMC40LTAuNSwwLjktMC45LDEuNS0xLjFjMC41LTIuNywzLjEtNC41LDUuOC00LjFjMC43LDAuMSwxLjQsMC40LDIsMC44YzUuMy0zLjgsMTEuNi01LjksMTguMi01LjljNi44LDAsMTMuMSwyLjIsMTguMiw1LjkKCQkJYzIuMy0xLjYsNS40LTEsNywxLjNjMC40LDAuNiwwLjcsMS4zLDAuOCwyYzAuNiwwLjIsMS4xLDAuNiwxLjUsMS4xYzIuNywwLjgsNC4yLDMuNSwzLjQsNi4ybDAsMGMxLjksMSwyLjcsMy4yLDEuOSw1LjIKCQkJYzEuOSwyLDEuOCw1LjItMC4yLDdjLTAuNCwwLjQtMC45LDAuNy0xLjUsMWMwLDAuNSwwLDAuOSwwLDEuNHYxaC02MnYtMUgtNDV6IE0tNDQuMiwyMDcuOGMtMC4zLDEuMi0wLjUsMi40LTAuNiwzLjYKCQkJYy0xLjMtMS0xLjYtMi45LTAuNi00LjJsMCwwQy00NSwyMDcuNS00NC42LDIwNy43LTQ0LjIsMjA3LjhMLTQ0LjIsMjA3Ljh6IE0tNDIuNywyMDMuMmMtMC40LDAuOS0wLjcsMS44LTEsMi43CgkJCWMtMS0wLjQtMS42LTEuNS0xLjMtMi41YzAuMi0wLjUsMC42LTAuOSwxLjEtMS4yQy00My41LDIwMi42LTQzLjEsMjAyLjktNDIuNywyMDMuMkwtNDIuNywyMDMuMnogTS00MC40LDE5OC43CgkJCWMtMC41LDAuOS0xLDEuOC0xLjUsMi43Yy0xLjMtMS0xLjUtMi45LTAuNS00LjJjMC4xLTAuMiwwLjMtMC4zLDAuNC0wLjVDLTQxLjcsMTk3LjYtNDEuMSwxOTguMy00MC40LDE5OC43eiBNLTM5LjIsMTk3CgkJCWMwLjMtMC41LDAuNy0xLDEuMS0xLjVjLTAuMy0wLjUtMC45LTAuNy0xLjQtMC40cy0wLjcsMC45LTAuNCwxLjRDLTM5LjcsMTk2LjctMzkuNSwxOTYuOS0zOS4yLDE5N0wtMzkuMiwxOTd6IE0tMzMuOSwxOTEuMgoJCQljLTEsMC45LTIsMS44LTIuOSwyLjhjLTAuMy0wLjMtMC43LTAuNi0xLjEtMC44YzAuNC0xLjYsMi4xLTIuNSwzLjctMi4xQy0zNC4xLDE5MS4xLTM0LDE5MS4yLTMzLjksMTkxLjJMLTMzLjksMTkxLjJ6IE04LjgsMTk0CgkJCWMtMC45LTEtMS45LTEuOS0yLjktMi44YzEuNS0wLjYsMy4zLDAuMSwzLjksMS43YzAsMC4xLDAuMSwwLjIsMC4xLDAuM0M5LjUsMTkzLjQsOS4xLDE5My42LDguOCwxOTRMOC44LDE5NHogTTEwLjEsMTk1LjUKCQkJYzAuNCwwLjUsMC44LDEsMS4xLDEuNGMwLjUtMC4xLDAuOS0wLjcsMC44LTEuMmMtMC4xLTAuNS0wLjctMC45LTEuMi0wLjhDMTAuNSwxOTUuMSwxMC4zLDE5NS4zLDEwLjEsMTk1LjV6IE0xMy45LDIwMS40CgkJCWMtMC41LTAuOS0wLjktMS44LTEuNS0yLjdjMC44LTAuNCwxLjQtMS4xLDEuNi0yYzEuMywxLjEsMS40LDMsMC40LDQuMkMxNC4yLDIwMS4xLDE0LDIwMS4yLDEzLjksMjAxLjR6IE0xNS43LDIwNS45CgkJCWMtMC4zLTAuOS0wLjYtMS44LTEtMi43YzAuNC0wLjMsMC44LTAuNiwxLjItMWMxLDAuNSwxLjQsMS43LDEsMi43QzE2LjYsMjA1LjMsMTYuMiwyMDUuNywxNS43LDIwNS45eiBNMTYuOCwyMTEuNAoJCQljLTAuMS0xLjItMC40LTIuNC0wLjYtMy42YzAuNS0wLjEsMC45LTAuNCwxLjItMC42QzE4LjQsMjA4LjUsMTguMSwyMTAuNCwxNi44LDIxMS40TDE2LjgsMjExLjRMMTYuOCwyMTEuNHogTTE1LDIxNAoJCQljLTAuNS0xNi0xMy45LTI4LjYtMjkuOS0yOC4xYy0xNS4zLDAuNS0yNy42LDEyLjgtMjguMSwyOC4xSDE1TDE1LDIxNHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K"; +$chat-bg-dark: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNjAgMjYwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNjAgMjYwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzE3MUEyNDt9Cjwvc3R5bGU+CjxnPgoJPGcgaWQ9ImktbGlrZS1mb29kIj4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQuNCwxNmMwLjIsMC42LDAuNCwxLjMsMC41LDJoLTMuN2wxLjIsMi4zbDAuNSwwLjlsLTAuMiwwLjFWMjhjMi4yLDEuNywyLjcsNC44LDEsNwoJCQljLTAuOCwxLTEuOSwxLjctMy4yLDEuOVYzN2MtMC45LDMuNS00LjEsNi03LjgsNmgtMjBjLTMuNiwwLTYuOC0yLjUtNy43LTZ2LTAuMWMtMi43LTAuNC00LjYtMy00LjItNS43YzAuMi0xLjMsMC45LTIuNSwxLjktMy4yCgkJCXYtNi44bC0wLjgtMS42bC0wLjQtMC45bDAuOS0wLjRMLTE3LDE4aC0zQy0xNy4yLDUuNi00LjktMi4yLDcuNSwwLjZDMTUuNCwyLjMsMjEuOSw4LjIsMjQuNCwxNnogTS0xMi40LDE4Yy0wLjIsMC0wLjMsMC0wLjQsMC4xCgkJCWwtMy4xLDEuNmwwLjksMS44bDEuMy0wLjdjMC44LTAuNCwxLjgtMC40LDIuNywwbDIuMiwxLjFjMC4zLDAuMSwwLjYsMC4xLDAuOSwwbDIuMi0xLjFjMC44LTAuNCwxLjgtMC40LDIuNywwbDIuMiwxLjEKCQkJYzAuMywwLjEsMC42LDAuMSwwLjksMGwyLjItMS4xYzAuOC0wLjQsMS44LTAuNCwyLjcsMGwyLjIsMS4xQzcuNCwyMiw3LjcsMjIsOCwyMS45bDIuOS0xLjNjMC44LTAuMywxLjctMC4zLDIuNCwwbDIuOSwxLjMKCQkJYzAuMywwLjEsMC42LDAuMSwwLjksMGwzLjEtMS41bC0wLjktMS44bC0xLjQsMC43Yy0wLjgsMC40LTEuNywwLjQtMi42LDAuMWwtMi44LTEuMkMxMi4zLDE4LDEyLjIsMTgsMTIuMSwxOGwwLDAKCQkJYy0wLjEsMC0wLjMsMC0wLjQsMC4xbC0yLjgsMS4yYy0wLjgsMC40LTEuOCwwLjMtMi42LTAuMUw0LDE4LjFDMy45LDE4LDMuNywxOCwzLjYsMThsMCwwYy0wLjIsMC0wLjMsMC0wLjQsMC4xTDEsMTkuMgoJCQljLTAuOCwwLjQtMS44LDAuNC0yLjcsMEwtNCwxOC4xQy00LjEsMTgtNC4zLDE4LTQuNCwxOGwwLDBjLTAuMiwwLTAuMywwLTAuNCwwLjFMLTcsMTkuMmMtMC44LDAuNC0xLjgsMC40LTIuNywwbC0yLjItMS4xCgkJCUMtMTIuMSwxOC0xMi4zLDE4LTEyLjQsMThMLTEyLjQsMThMLTEyLjQsMTh6IE0tMTIuNCwxNmgtNC45Qy0xMy41LDUuMS0xLjUtMC43LDkuNSwzLjJjNiwyLjEsMTAuNyw2LjgsMTIuOCwxMi44aC0yLjFsLTAuMS0wLjEKCQkJTDE5LjksMTZILTEyLjRMLTEyLjQsMTZ6IE0xNy45LDIzLjdsMS40LTAuN2gxLjN2MmgtMzZ2LTEuMWwwLjMtMC4ybDEuNC0wLjdoMi42bDEuNCwwLjdjMC44LDAuNCwxLjgsMC40LDIuNywwbDEuNC0wLjdILTMKCQkJbDEuNCwwLjdjMC44LDAuNCwxLjgsMC40LDIuNywwTDIuMywyM2gyLjZsMS40LDAuN2MwLjcsMC40LDEuNywwLjQsMi41LDBsMS43LTAuN2gzLjJsMS43LDAuN0MxNi4yLDI0LjEsMTcuMSwyNC4xLDE3LjksMjMuN3oKCQkJIE0tMTMuOCwyN2wxNi40LDQuOUwxOC45LDI3SC0xMy44eiBNLTE0LjQsMjloMC4zbDE2LjcsNWwxNi43LTVoMC4zYzEuNywwLDMsMS4zLDMsM3MtMS4zLDMtMywzaC0zNGMtMS43LDAtMy0xLjMtMy0zCgkJCUMtMTcuNCwzMC4zLTE2LjEsMjktMTQuNCwyOXogTS0xMy4xLDM3YzAuOCwyLjQsMy4xLDQsNS43LDRoMjBjMi41LDAsNC44LTEuNiw1LjctNEMxOC4yLDM3LTEzLjEsMzctMTMuMSwzN3oiLz4KCQk8cGF0aCBpZD0icGF0aDZfZmlsbC1jb3B5IiBjbGFzcz0ic3QwIiBkPSJNMjg0LjQsMTZjMC4yLDAuNiwwLjQsMS4zLDAuNSwyaC0zLjdsMS4yLDIuM2wwLjUsMC45bC0wLjIsMC4xVjI4YzIuMiwxLjcsMi43LDQuOCwxLDcKCQkJYy0wLjgsMS0xLjksMS43LTMuMiwxLjlWMzdjLTAuOSwzLjUtNC4xLDYtNy44LDZoLTIwYy0zLjYsMC02LjgtMi41LTcuNy02di0wLjFjLTIuNy0wLjQtNC42LTMtNC4yLTUuN2MwLjItMS4zLDAuOS0yLjUsMS45LTMuMgoJCQl2LTYuOGwtMC44LTEuNmwtMC40LTAuOWwwLjktMC40TDI0MywxOGgtM2MyLjgtMTIuNCwxNS4xLTIwLjIsMjcuNS0xNy40QzI3NS40LDIuMywyODEuOSw4LjIsMjg0LjQsMTZ6IE0yNDcuNSwxOAoJCQljLTAuMiwwLTAuMywwLTAuNCwwLjFsLTMuMSwxLjZsMC45LDEuOGwxLjMtMC43YzAuOC0wLjQsMS44LTAuNCwyLjcsMGwyLjIsMS4xYzAuMywwLjEsMC42LDAuMSwwLjksMGwyLjItMS4xCgkJCWMwLjgtMC40LDEuOC0wLjQsMi43LDBsMi4yLDEuMWMwLjMsMC4xLDAuNiwwLjEsMC45LDBsMi4yLTEuMWMwLjgtMC40LDEuOC0wLjQsMi43LDBsMi4yLDEuMWMwLjMsMC4xLDAuNiwwLjEsMC45LDBsMi45LTEuMwoJCQljMC44LTAuMywxLjctMC4zLDIuNCwwbDIuOSwxLjNjMC4zLDAuMSwwLjYsMC4xLDAuOSwwbDMuMS0xLjVsLTAuOS0xLjhsLTEuNCwwLjdjLTAuOCwwLjQtMS43LDAuNC0yLjYsMC4xbC0yLjgtMS4yCgkJCWMtMC4xLTAuMS0wLjMtMC4xLTAuNC0wLjFsMCwwYy0wLjEsMC0wLjMsMC0wLjQsMC4xbC0yLjgsMS4yYy0wLjgsMC40LTEuOCwwLjMtMi42LTAuMWwtMi4zLTEuMWMtMC4xLTAuMS0wLjMtMC4xLTAuNS0wLjFsMCwwCgkJCWMtMC4yLDAtMC4zLDAtMC40LDAuMWwtMi4yLDEuMWMtMC44LDAuNC0xLjgsMC40LTIuNywwbC0yLjItMS4xYy0wLjEtMC4xLTAuMy0wLjEtMC40LTAuMWwwLDBjLTAuMiwwLTAuMywwLTAuNCwwLjFsLTIuMiwxLjEKCQkJYy0wLjgsMC40LTEuOCwwLjQtMi43LDBsLTIuMi0xLjFDMjQ3LjksMTgsMjQ3LjcsMTgsMjQ3LjUsMThMMjQ3LjUsMThMMjQ3LjUsMTh6IE0yNDcuNSwxNmgtNC45YzMuOS0xMC45LDE1LjktMTYuNywyNi44LTEyLjgKCQkJYzYsMi4xLDEwLjcsNi44LDEyLjgsMTIuOGgtMi4xbC0wLjEtMC4xbC0wLjMsMC4xSDI0Ny41TDI0Ny41LDE2eiBNMjc3LjksMjMuN2wxLjQtMC43aDEuM3YyaC0zNnYtMS4xbDAuMy0wLjJsMS40LTAuN2gyLjYKCQkJbDEuNCwwLjdjMC44LDAuNCwxLjgsMC40LDIuNywwbDEuNC0wLjdoMi42bDEuNCwwLjdjMC44LDAuNCwxLjgsMC40LDIuNywwbDEuNC0wLjdoMi42bDEuNCwwLjdjMC44LDAuNCwxLjcsMC40LDIuNiwwLjFsMS43LTAuNwoJCQloMy4ybDEuNywwLjdDMjc2LjIsMjQuMSwyNzcuMSwyNC4xLDI3Ny45LDIzLjdMMjc3LjksMjMuN3ogTTI0Ni4yLDI3bDE2LjQsNC45TDI3OSwyN0gyNDYuMnogTTI0NS41LDI5aDAuM2wxNi43LDVsMTYuNy01aDAuMwoJCQljMS43LDAsMywxLjMsMywzcy0xLjMsMy0zLDNoLTM0Yy0xLjcsMC0zLTEuMy0zLTNTMjQzLjksMjksMjQ1LjUsMjl6IE0yNDYuOSwzN2MwLjgsMi40LDMuMSw0LDUuNiw0aDIwYzIuNSwwLDQuOC0xLjYsNS43LTQKCQkJSDI0Ni45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNTkuNSwyMWMtMS4zLTMuNi00LjctNi04LjUtNmgtNDJjLTMuOCwwLTcuMiwyLjQtOC41LDZjLTMuMywwLjMtNS44LDMuMi01LjUsNi41YzAuMiwyLjksMi42LDUuMiw1LjUsNS41CgkJCWMtMS43LDQuNywwLjgsOS44LDUuNCwxMS41YzEsMC4zLDIsMC41LDMsMC41aDQyYzUsMCw5LTQsOS05YzAtMS0wLjItMi4xLTAuNS0zYzMuMy0wLjMsNS44LTMuMiw1LjUtNi41CgkJCUMxNjQuNywyMy42LDE2Mi40LDIxLjMsMTU5LjUsMjF6IE0xNTEsMTdoLTQyYy0yLjcsMC01LjIsMS42LTYuMyw0aDU0LjdDMTU2LjIsMTguNiwxNTMuNywxNywxNTEsMTd6IE0xNDEuNyw0MwoJCQljMi4xLTEuNywzLjMtNC4zLDMuMy03aC0yYzAsMy45LTMuMSw3LTcsN2gtNC4zYzIuMS0xLjcsMy4zLTQuMywzLjMtN2gtMmMwLDMuOS0zLjEsNy03LDdoLTQuM2MyLjEtMS43LDMuMy00LjMsMy4zLTdoLTIKCQkJYzAsMy45LTMuMSw3LTcsN2gtN2MtMy45LDAtNy0zLjEtNy03czMuMS03LDctN2g0MmMzLjksMCw3LDMuMSw3LDdzLTMuMSw3LTcsN0gxNDEuN3ogTTEwOSwyN2MtMywwLTUuOCwxLjUtNy41LDRIMTAxCgkJCWMtMi4yLDAtNC0xLjgtNC00czEuOC00LDQtNGg1OGMyLjIsMCw0LDEuOCw0LDRzLTEuOCw0LTQsNGgtMC41Yy0xLjctMi41LTQuNS00LTcuNS00SDEwOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzksMTE1YzQuNCwwLDgtMy42LDgtOHMtMy42LTgtOC04cy04LDMuNi04LDhTMzQuNiwxMTUsMzksMTE1eiBNNDUsMTA3YzAsMy4zLTIuNyw2LTYsNnMtNi0yLjctNi02CgkJCXMyLjctNiw2LTZTNDUsMTAzLjcsNDUsMTA3eiBNNDIsNzh2LTJoOHYtNkg0MGMtMi4yLDAtNCwxLjgtNCw0djEwSDIybC0xLjMsNEwyMCw5MGgyLjJsMy44LDQwaDI2bDMuOC00MEg1OGwtMC43LTJMNTYsODRINDJWNzh6CgkJCSBNMzgsNzR2MTBoMlY3NGg4di0yaC04QzM4LjksNzIsMzgsNzIuOSwzOCw3NHogTTQwLDg2aDE0LjZsMC43LDJIMjIuOGwwLjctMkg0MHogTTUzLjgsOTBIMjQuMmwzLjYsMzhoMjIuNEw1My44LDkweiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMjksOTJoLTZ2NGgtNnY0aC02djE0aC0zbDAuMiwybDMuOCwzMmgzNmwzLjgtMzJsMC4yLTJoLTN2LTE0aC02di00aC02di00SDEyOXogTTE0NywxMTR2LTEyaC00djRoM3Y4SDE0NwoJCQl6IE0xNDQsMTE0di02aC00djZIMTQ0eiBNMTM4LDEyMHYtMTZoLTR2MTkuMkMxMzUuNiwxMjIuNSwxMzcsMTIxLjQsMTM4LDEyMHogTTEzMiwxMjMuOFYxMDBoLTR2MjMuOAoJCQlDMTI5LjMsMTI0LjEsMTMwLjcsMTI0LjEsMTMyLDEyMy44eiBNMTI2LDEyMy4yVjEwNGgtNHYxNkMxMjMsMTIxLjQsMTI0LjQsMTIyLjUsMTI2LDEyMy4yeiBNMTIwLDExNHYtNmgtNHY2SDEyMHogTTExNCwxMTR2LThoMwoJCQl2LTRoLTR2MTJIMTE0eiBNMTQxLDEwMnYtNGgtNHY0aDN2NGgxVjEwMnogTTEzNSwxMDJ2LThoLTR2NGgzdjRIMTM1eiBNMTI5LDk4di00aC00djhoMXYtNEgxMjl6IE0xMjMsMTAydi00aC00djhoMXYtNEgxMjN6CgkJCSBNMTMwLDEyNmM1LjksMCwxMC45LTQuMiwxMS44LTEwaDcuOWwtMy41LDMwaC0zMi40bC0zLjUtMzBoNy45QzExOS4xLDEyMS44LDEyNC4xLDEyNiwxMzAsMTI2eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yMTIsODZ2MmgtNHYtMkgyMTJ6IE0yMTYsODZoLTJ2MmgyVjg2eiBNMTk2LDg2TDE5Niw4NmMtMi43LDAuNy00LjUsMy4zLTMuOSw2YzAuNCwxLjgsMS42LDMuMiwzLjMsMy44CgkJCWwwLjEsMC4ybDEuMSw0LjVjMC4yLDAuOSwxLDEuNSwxLjksMS41bDAsMGw3LDI0LjZjMC4yLDAuOSwxLDEuNCwxLjksMS40aDVjMC45LDAsMS43LTAuNiwxLjktMS40bDctMjQuNmMwLjksMCwxLjctMC42LDEuOS0xLjUKCQkJbDEuMS00LjVsMC4xLTAuMmMyLjYtMC45LDQuMS0zLjcsMy4yLTYuM2MtMC42LTEuNy0yLTMtMy44LTMuM1Y4NmMwLTcuNy02LjMtMTQtMTQtMTRTMTk2LDc4LjMsMTk2LDg2eiBNMjAwLDg2aDZ2MmgtOQoJCQljLTEuNywwLTMsMS4zLTMsM3MxLjMsMywzLDNoMjZjMS43LDAsMy0xLjMsMy0zcy0xLjMtMy0zLTNoLTN2LTJoMmMwLTYuNi01LjQtMTItMTItMTJzLTEyLDUuNC0xMiwxMkgyMDB6IE0xOTguNiwxMDBsLTEtNGgyNC45CgkJCWwtMSw0SDE5OC42eiBNMjA3LjUsMTI2bC02LjktMjRoMTguN2wtNi45LDI0SDIwNy41eiBNMTUwLDI0MmMxMi4yLDAsMjItOS44LDIyLTIycy05LjgtMjItMjItMjJzLTIyLDkuOC0yMiwyMgoJCQlTMTM3LjgsMjQyLDE1MCwyNDJ6IE0xNzQsMjIwYzAsMTMuMy0xMC43LDI0LTI0LDI0cy0yNC0xMC43LTI0LTI0bDAsMGMwLTEzLjMsMTAuNy0yNCwyNC0yNFMxNzQsMjA2LjcsMTc0LDIyMHogTTE0NS42LDIzNy43CgkJCWwyLTAuOWMxLjUtMC42LDMuMi0wLjYsNC43LDBsMiwwLjljMC45LDAuNCwyLDAsMi41LTAuOGwxLjEtMS45YzAuOC0xLjQsMi4yLTIuNCwzLjgtMi44bDIuMS0wLjVjMS0wLjIsMS42LTEuMSwxLjUtMi4xbC0wLjItMi4yCgkJCWMtMC4xLTEuNiwwLjQtMy4yLDEuNC00LjVsMS40LTEuN2MwLjctMC44LDAuNy0xLjksMC0yLjZsLTEuNC0xLjdjLTEuMS0xLjItMS42LTIuOC0xLjQtNC41bDAuMi0yLjJjMC4xLTEtMC42LTEuOS0xLjYtMi4xCgkJCWwtMi4xLTAuNWMtMS42LTAuNC0zLTEuNC0zLjgtMi44bC0xLjEtMS45Yy0wLjUtMC45LTEuNi0xLjItMi41LTAuOGwtMiwwLjljLTEuNSwwLjYtMy4yLDAuNi00LjcsMGwtMi0wLjljLTAuOS0wLjQtMiwwLTIuNSwwLjgKCQkJbC0xLDIuMWMtMC44LDEuNC0yLjIsMi40LTMuOCwyLjhsLTIuMSwwLjVjLTEsMC4yLTEuNiwxLjEtMS41LDIuMWwwLjIsMi4yYzAuMSwxLjYtMC40LDMuMi0xLjQsNC41bC0xLjQsMS43CgkJCWMtMC43LDAuOC0wLjcsMS45LDAsMi42bDEuNCwxLjdjMS4xLDEuMiwxLjYsMi44LDEuNCw0LjVsLTAuMiwyLjJjLTAuMSwxLDAuNiwxLjksMS42LDIuMWwyLjEsMC41YzEuNiwwLjQsMywxLjQsMy44LDIuOGwxLjEsMS45CgkJCUMxNDMuNiwyMzcuOCwxNDQuNywyMzguMSwxNDUuNiwyMzcuN0wxNDUuNiwyMzcuN3ogTTE0OC40LDIzOC43YzEtMC40LDIuMS0wLjQsMy4xLDBsMiwwLjljMS44LDAuOCw0LDAuMSw1LTEuNmwxLjEtMS45CgkJCWMwLjYtMC45LDEuNS0xLjYsMi41LTEuOGwyLjEtMC41YzEuOS0wLjQsMy4zLTIuMywzLjEtNC4ybC0wLjItMi4yYy0wLjEtMS4xLDAuMy0yLjIsMS0zbDEuNC0xLjdjMS4zLTEuNSwxLjMtMy43LDAtNS4ybC0xLjQtMS43CgkJCWMtMC43LTAuOC0xLjEtMS45LTEtM2wwLjItMi4yYzAuMi0yLTEuMS0zLjgtMy4xLTQuMmwtMi4xLTAuNWMtMS4xLTAuMi0yLTAuOS0yLjUtMS44bC0xLjEtMS45Yy0xLTEuNy0zLjItMi40LTUtMS42bC0yLDAuOQoJCQljLTEsMC40LTIuMSwwLjQtMy4xLDBsLTItMC45Yy0xLjgtMC44LTQtMC4xLTUsMS42bC0xLjEsMS45Yy0wLjYsMC45LTEuNSwxLjYtMi41LDEuOGwtMi4xLDAuNWMtMS45LDAuNC0zLjMsMi4zLTMuMSw0LjJsMC4yLDIuMgoJCQljMC4xLDEuMS0wLjMsMi4yLTEsM2wtMS40LDEuN2MtMS4zLDEuNS0xLjMsMy43LDAsNS4ybDEuNCwxLjdjMC43LDAuOCwxLjEsMS45LDEsM2wtMC4yLDIuMmMtMC4yLDIsMS4xLDMuOCwzLjEsNC4ybDIuMSwwLjUKCQkJYzEuMSwwLjIsMiwwLjksMi41LDEuOGwxLjEsMS45YzEsMS43LDMuMiwyLjQsNSwxLjZMMTQ4LjQsMjM4Ljd6IE0xNTIsMjA3YzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMQoJCQlTMTUyLDIwNy42LDE1MiwyMDd6IE0xNTgsMjA5YzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxNTgsMjA5LjYsMTU4LDIwOXogTTE0NywyMTBjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMQoJCQlzLTAuNCwxLTEsMVMxNDcsMjEwLjYsMTQ3LDIxMHogTTE0MSwyMTBjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXMtMC40LDEtMSwxUzE0MSwyMTAuNiwxNDEsMjEweiBNMTQ0LDIwNWMwLTAuNiwwLjQtMSwxLTEKCQkJczEsMC40LDEsMXMtMC40LDEtMSwxUzE0NCwyMDUuNiwxNDQsMjA1eiBNMTM2LDIxM2MwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxcy0wLjQsMS0xLDFTMTM2LDIxMy42LDEzNiwyMTN6IE0xMzksMjE5CgkJCWMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxcy0wLjQsMS0xLDFTMTM5LDIxOS42LDEzOSwyMTl6IE0xMzksMjI1YzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxMzksMjI1LjYsMTM5LDIyNXoKCQkJIE0xNDMsMjMyYzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxNDMsMjMyLjYsMTQzLDIzMnogTTE0OCwyMzBjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXMtMC40LDEtMSwxCgkJCVMxNDgsMjMwLjYsMTQ4LDIzMHogTTE1MywyMzRjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXMtMC40LDEtMSwxUzE1MywyMzQuNiwxNTMsMjM0eiBNMTU3LDIyOGMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxCgkJCXMtMC40LDEtMSwxUzE1NywyMjguNiwxNTcsMjI4eiBNMTYzLDIyNGMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxcy0wLjQsMS0xLDFTMTYzLDIyNC42LDE2MywyMjR6IE0xNTksMjIxYzAtMC42LDAuNC0xLDEtMQoJCQlzMSwwLjQsMSwxcy0wLjQsMS0xLDFTMTU5LDIyMS42LDE1OSwyMjF6IE0xNjMsMjE4YzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxNjMsMjE4LjYsMTYzLDIxOHogTTE1OCwyMTQKCQkJYzAtMC42LDAuNC0xLDEtMXMxLDAuNCwxLDFzLTAuNCwxLTEsMVMxNTgsMjE0LjYsMTU4LDIxNHogTTEzNCwyMjBjMC0wLjYsMC40LTEsMS0xczEsMC40LDEsMXMtMC40LDEtMSwxUzEzNCwyMjAuNiwxMzQsMjIwegoJCQkgTTE1MCwyMjVjMi44LDAsNS0yLjIsNS01cy0yLjItNS01LTVzLTUsMi4yLTUsNVMxNDcuMiwyMjUsMTUwLDIyNXogTTE1NywyMjBjMCwzLjktMy4xLDctNyw3cy03LTMuMS03LTdzMy4xLTcsNy03CgkJCVMxNTcsMjE2LjEsMTU3LDIyMHogTTI0MywxOTFjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMmMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgyNDN6IE0yNjIsMjAwYzAtMC42LDAuNC0xLDEtMWgyCgkJCWMwLjYsMCwxLDAuNCwxLDFzLTAuNCwxLTEsMWgtMkMyNjIuNCwyMDEsMjYyLDIwMC42LDI2MiwyMDB6IE0yNDgsMjA1Yy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTEKCQkJSDI0OHogTTIyMywyMDZjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMmMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgyMjN6IE0yMjgsMjEwYy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDIKCQkJYzAuNiwwLDEtMC40LDEtMXMtMC40LTEtMS0xSDIyOHogTTIzNywyMTBjMC0wLjYsMC40LTEsMS0xaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDMjM3LjQsMjExLDIzNywyMTAuNiwyMzcsMjEwegoJCQkgTTI1MiwyMTFjMC0wLjYsMC40LTEsMS0xaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDMjUyLjQsMjEyLDI1MiwyMTEuNiwyNTIsMjExeiBNMjY0LDIwOWMtMC42LDAtMSwwLjQtMSwxczAuNCwxLDEsMWgyCgkJCWMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgyNjR6IE0yNTMsMTk1YzAtMC42LDAuNC0xLDEtMWgyYzAuNiwwLDEsMC40LDEsMXMtMC40LDEtMSwxaC0yQzI1My40LDE5NiwyNTMsMTk1LjYsMjUzLDE5NXoKCQkJIE0yMzQsMTk1Yy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTFIMjM0eiBNMjQwLDIwMGMwLTAuNiwwLjQtMSwxLTFoMmMwLjYsMCwxLDAuNCwxLDFzLTAuNCwxLTEsMQoJCQloLTJDMjQwLjQsMjAxLDI0MCwyMDAuNiwyNDAsMjAweiBNMjE1LDIxNWMwLTAuNSwwLTAuOSwwLTEuNGMtMi41LTEuMS0zLjctNC0yLjYtNi42YzAuMi0wLjUsMC41LTEsMC45LTEuNGMtMC45LTIsMC00LjIsMS45LTUuMgoJCQljLTAuOC0yLjYsMC43LTUuNCwzLjQtNi4ybDAsMGMwLjQtMC41LDAuOS0wLjksMS41LTEuMWMwLjUtMi43LDMuMS00LjUsNS44LTQuMWMwLjcsMC4xLDEuNCwwLjQsMiwwLjhjNS4zLTMuOCwxMS42LTUuOSwxOC4yLTUuOQoJCQljNi44LDAsMTMuMSwyLjIsMTguMiw1LjljMi4zLTEuNiw1LjQtMSw3LDEuM2MwLjQsMC42LDAuNywxLjMsMC44LDJjMC42LDAuMiwxLjEsMC42LDEuNSwxLjFjMi43LDAuOCw0LjIsMy41LDMuNCw2LjJsMCwwCgkJCWMxLjksMSwyLjcsMy4yLDEuOSw1LjJjMS45LDIsMS44LDUuMi0wLjIsN2MtMC40LDAuNC0wLjksMC43LTEuNSwxYzAsMC41LDAsMC45LDAsMS40djFoLTYydi0xSDIxNXogTTIxNS44LDIwNy44CgkJCWMtMC4zLDEuMi0wLjUsMi40LTAuNiwzLjZjLTEuMy0xLTEuNi0yLjktMC42LTQuMmwwLDBDMjE1LDIwNy41LDIxNS40LDIwNy43LDIxNS44LDIwNy44TDIxNS44LDIwNy44eiBNMjE3LjMsMjAzLjIKCQkJYy0wLjQsMC45LTAuNywxLjgtMSwyLjdjLTEtMC40LTEuNi0xLjUtMS4zLTIuNWMwLjItMC41LDAuNi0wLjksMS4xLTEuMkMyMTYuNSwyMDIuNiwyMTYuOSwyMDIuOSwyMTcuMywyMDMuMkwyMTcuMywyMDMuMnoKCQkJIE0yMTkuNiwxOTguN2MtMC41LDAuOS0xLDEuOC0xLjUsMi43Yy0xLjMtMS0xLjUtMi45LTAuNS00LjJjMC4xLTAuMiwwLjMtMC4zLDAuNC0wLjVDMjE4LjMsMTk3LjYsMjE4LjksMTk4LjMsMjE5LjYsMTk4LjcKCQkJTDIxOS42LDE5OC43eiBNMjIwLjgsMTk3YzAuNC0wLjUsMC43LTEsMS4xLTEuNWMtMC4zLTAuNS0wLjktMC43LTEuNC0wLjRzLTAuNywwLjktMC40LDEuNEMyMjAuMywxOTYuNywyMjAuNSwxOTYuOSwyMjAuOCwxOTcKCQkJTDIyMC44LDE5N3ogTTIyNi4xLDE5MS4yYy0xLDAuOS0yLDEuOC0yLjksMi44Yy0wLjMtMC4zLTAuNy0wLjYtMS4xLTAuOGMwLjQtMS42LDIuMS0yLjUsMy43LTIuMQoJCQlDMjI1LjksMTkxLjEsMjI2LDE5MS4yLDIyNi4xLDE5MS4yTDIyNi4xLDE5MS4yeiBNMjY4LjgsMTk0Yy0wLjktMS0xLjktMS45LTIuOS0yLjhjMS41LTAuNiwzLjMsMC4xLDMuOSwxLjcKCQkJYzAsMC4xLDAuMSwwLjIsMC4xLDAuM0MyNjkuNSwxOTMuNCwyNjkuMSwxOTMuNiwyNjguOCwxOTRMMjY4LjgsMTk0eiBNMjcwLjEsMTk1LjVjMC40LDAuNSwwLjgsMSwxLjEsMS40CgkJCWMwLjUtMC4xLDAuOS0wLjcsMC44LTEuMnMtMC43LTAuOS0xLjItMC44QzI3MC41LDE5NS4xLDI3MC4zLDE5NS4zLDI3MC4xLDE5NS41eiBNMjczLjksMjAxLjRjLTAuNS0wLjktMS0xLjgtMS41LTIuNwoJCQljMC44LTAuNCwxLjQtMS4xLDEuNi0yYzEuMywxLjEsMS40LDMsMC40LDQuMkMyNzQuMiwyMDEuMSwyNzQsMjAxLjIsMjczLjksMjAxLjR6IE0yNzUuNiwyMDUuOWMtMC4zLTAuOS0wLjYtMS44LTEtMi43CgkJCWMwLjQtMC4zLDAuOC0wLjYsMS4yLTFjMSwwLjUsMS40LDEuNywxLDIuN0MyNzYuNiwyMDUuMywyNzYuMiwyMDUuNywyNzUuNiwyMDUuOXogTTI3Ni44LDIxMS40Yy0wLjEtMS4yLTAuNC0yLjQtMC42LTMuNgoJCQljMC41LTAuMSwwLjktMC40LDEuMi0wLjZDMjc4LjQsMjA4LjUsMjc4LjEsMjEwLjQsMjc2LjgsMjExLjRMMjc2LjgsMjExLjRMMjc2LjgsMjExLjR6IE0yNzUsMjE0Yy0wLjUtMTYtMTMuOS0yOC42LTI5LjktMjguMQoJCQljLTE1LjMsMC41LTI3LjYsMTIuOC0yOC4xLDI4LjFIMjc1TDI3NSwyMTR6IE03Mi4zLDE5OC4xYy0wLjItMC4zLTAuMy0wLjctMC4zLTEuMXYtMTJoLTJ2MTJjMCwyLjIsMS44LDQsNCw0CgkJCWMxLjIsMCwyLjMtMC41LDMuMS0xLjRjMC42LTAuNywwLjktMS42LDAuOS0yLjV2LTEyaC0ydjEyYzAsMS4xLTAuOSwyLTIsMmwwLDBDNzMuMywxOTksNzIuNywxOTguNyw3Mi4zLDE5OC4xeiBNNzUsMTc2CgkJCWMwLjQsMCwwLjcsMCwxLjEtMC4xYzAuNSwyLjIsMi42LDMuNSw0LjgsM2MwLjUtMC4xLDEtMC4zLDEuNC0wLjZjMS4xLDIuMSwxLjcsNC40LDEuNyw2Ljd2MjRjMCwzLjMtMi43LDYtNiw2aC0zdjkKCQkJYzAsMi44LTIuMiw1LTUsNXMtNS0yLjItNS01di05aC0zYy0zLjMsMC02LTIuNy02LTZ2LTI0YzAtNy43LDYuMy0xNCwxNC0xNEM3MCwxNzMuOCw3Mi4yLDE3Niw3NSwxNzZ6IE01OCwxOTF2MTIKCQkJYzAsMC44LDAuNSwxLjUsMS4yLDEuOGMwLjksMC40LDEuOSwwLjEsMi40LTAuN2MwLjItMC4zLDAuMy0wLjcsMC4zLTEuMXYtMTJoMnYxMmMwLDIuMi0xLjcsNC0zLjksNGMtMC41LDAtMS0wLjEtMS40LTAuMgoJCQljLTAuMi0wLjEtMC40LTAuMi0wLjctMC4zdjIuNWMwLDIuMiwxLjgsNCw0LDRoMTZjMi4yLDAsNC0xLjgsNC00di0yNGMwLTEuNS0wLjItMi45LTAuNy00LjJjLTAuNCwwLjEtMC45LDAuMi0xLjMsMC4yCgkJCWMtMi4xLDAtNC4xLTEuMS01LjItM2MtMy0wLjEtNS42LTItNi41LTQuOUM2Mi40LDE3NCw1OCwxNzksNTgsMTg1VjE5MXogTTY3LDIxNXY5YzAsMS43LDEuMywzLDMsM3MzLTEuMywzLTN2LTlINjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTS0xNywxOTFjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMmMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgtMTd6IE0yLDIwMGMwLTAuNiwwLjQtMSwxLTFoMgoJCQljMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFIM0MyLjQsMjAxLDIsMjAwLjYsMiwyMDB6IE0tMTIsMjA1Yy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTFILTEyegoJCQkgTS0zNywyMDZjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMmMwLjYsMCwxLTAuNCwxLTFzLTAuNC0xLTEtMUgtMzd6IE0tMzIsMjEwYy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xCgkJCXMtMC40LTEtMS0xSC0zMnogTS0yMywyMTBjMC0wLjYsMC40LTEsMS0xaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDLTIyLjYsMjExLTIzLDIxMC42LTIzLDIxMHogTS04LDIxMWMwLTAuNiwwLjQtMSwxLTEKCQkJaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDLTcuNiwyMTItOCwyMTEuNi04LDIxMXogTTQsMjA5Yy0wLjYsMC0xLDAuNC0xLDFzMC40LDEsMSwxaDJjMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTFINHoKCQkJIE0tNywxOTVjMC0wLjYsMC40LTEsMS0xaDJjMC42LDAsMSwwLjQsMSwxcy0wLjQsMS0xLDFoLTJDLTYuNiwxOTYtNywxOTUuNi03LDE5NXogTS0yNiwxOTVjLTAuNiwwLTEsMC40LTEsMXMwLjQsMSwxLDFoMgoJCQljMC42LDAsMS0wLjQsMS0xcy0wLjQtMS0xLTFILTI2eiBNLTIwLDIwMGMwLTAuNiwwLjQtMSwxLTFoMmMwLjYsMCwxLDAuNCwxLDFzLTAuNCwxLTEsMWgtMkMtMTkuNiwyMDEtMjAsMjAwLjYtMjAsMjAweiBNLTQ1LDIxNQoJCQljMC0wLjUsMC0wLjksMC0xLjRjLTIuNS0xLjEtMy43LTQtMi42LTYuNmMwLjItMC41LDAuNS0xLDAuOS0xLjRjLTAuOS0yLDAtNC4yLDEuOS01LjJjLTAuOC0yLjYsMC43LTUuNCwzLjQtNi4ybDAsMAoJCQljMC40LTAuNSwwLjktMC45LDEuNS0xLjFjMC41LTIuNywzLjEtNC41LDUuOC00LjFjMC43LDAuMSwxLjQsMC40LDIsMC44YzUuMy0zLjgsMTEuNi01LjksMTguMi01LjljNi44LDAsMTMuMSwyLjIsMTguMiw1LjkKCQkJYzIuMy0xLjYsNS40LTEsNywxLjNjMC40LDAuNiwwLjcsMS4zLDAuOCwyYzAuNiwwLjIsMS4xLDAuNiwxLjUsMS4xYzIuNywwLjgsNC4yLDMuNSwzLjQsNi4ybDAsMGMxLjksMSwyLjcsMy4yLDEuOSw1LjIKCQkJYzEuOSwyLDEuOCw1LjItMC4yLDdjLTAuNCwwLjQtMC45LDAuNy0xLjUsMWMwLDAuNSwwLDAuOSwwLDEuNHYxaC02MnYtMUgtNDV6IE0tNDQuMiwyMDcuOGMtMC4zLDEuMi0wLjUsMi40LTAuNiwzLjYKCQkJYy0xLjMtMS0xLjYtMi45LTAuNi00LjJsMCwwQy00NSwyMDcuNS00NC42LDIwNy43LTQ0LjIsMjA3LjhMLTQ0LjIsMjA3Ljh6IE0tNDIuNywyMDMuMmMtMC40LDAuOS0wLjcsMS44LTEsMi43CgkJCWMtMS0wLjQtMS42LTEuNS0xLjMtMi41YzAuMi0wLjUsMC42LTAuOSwxLjEtMS4yQy00My41LDIwMi42LTQzLjEsMjAyLjktNDIuNywyMDMuMkwtNDIuNywyMDMuMnogTS00MC40LDE5OC43CgkJCWMtMC41LDAuOS0xLDEuOC0xLjUsMi43Yy0xLjMtMS0xLjUtMi45LTAuNS00LjJjMC4xLTAuMiwwLjMtMC4zLDAuNC0wLjVDLTQxLjcsMTk3LjYtNDEuMSwxOTguMy00MC40LDE5OC43eiBNLTM5LjIsMTk3CgkJCWMwLjMtMC41LDAuNy0xLDEuMS0xLjVjLTAuMy0wLjUtMC45LTAuNy0xLjQtMC40cy0wLjcsMC45LTAuNCwxLjRDLTM5LjcsMTk2LjctMzkuNSwxOTYuOS0zOS4yLDE5N0wtMzkuMiwxOTd6IE0tMzMuOSwxOTEuMgoJCQljLTEsMC45LTIsMS44LTIuOSwyLjhjLTAuMy0wLjMtMC43LTAuNi0xLjEtMC44YzAuNC0xLjYsMi4xLTIuNSwzLjctMi4xQy0zNC4xLDE5MS4xLTM0LDE5MS4yLTMzLjksMTkxLjJMLTMzLjksMTkxLjJ6IE04LjgsMTk0CgkJCWMtMC45LTEtMS45LTEuOS0yLjktMi44YzEuNS0wLjYsMy4zLDAuMSwzLjksMS43YzAsMC4xLDAuMSwwLjIsMC4xLDAuM0M5LjUsMTkzLjQsOS4xLDE5My42LDguOCwxOTRMOC44LDE5NHogTTEwLjEsMTk1LjUKCQkJYzAuNCwwLjUsMC44LDEsMS4xLDEuNGMwLjUtMC4xLDAuOS0wLjcsMC44LTEuMmMtMC4xLTAuNS0wLjctMC45LTEuMi0wLjhDMTAuNSwxOTUuMSwxMC4zLDE5NS4zLDEwLjEsMTk1LjV6IE0xMy45LDIwMS40CgkJCWMtMC41LTAuOS0wLjktMS44LTEuNS0yLjdjMC44LTAuNCwxLjQtMS4xLDEuNi0yYzEuMywxLjEsMS40LDMsMC40LDQuMkMxNC4yLDIwMS4xLDE0LDIwMS4yLDEzLjksMjAxLjR6IE0xNS43LDIwNS45CgkJCWMtMC4zLTAuOS0wLjYtMS44LTEtMi43YzAuNC0wLjMsMC44LTAuNiwxLjItMWMxLDAuNSwxLjQsMS43LDEsMi43QzE2LjYsMjA1LjMsMTYuMiwyMDUuNywxNS43LDIwNS45eiBNMTYuOCwyMTEuNAoJCQljLTAuMS0xLjItMC40LTIuNC0wLjYtMy42YzAuNS0wLjEsMC45LTAuNCwxLjItMC42QzE4LjQsMjA4LjUsMTguMSwyMTAuNCwxNi44LDIxMS40TDE2LjgsMjExLjRMMTYuOCwyMTEuNHogTTE1LDIxNAoJCQljLTAuNS0xNi0xMy45LTI4LjYtMjkuOS0yOC4xYy0xNS4zLDAuNS0yNy42LDEyLjgtMjguMSwyOC4xSDE1TDE1LDIxNHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K"; diff --git a/src/@core/scss/base/bootstrap-extended/mixins/_navs.scss b/src/@core/scss/base/bootstrap-extended/mixins/_navs.scss new file mode 100644 index 0000000..6a58e05 --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/mixins/_navs.scss @@ -0,0 +1,49 @@ +// Justified nav links +// ------------------------- + +@mixin nav-justified { + width: 100%; + + .nav-item { + float: none; + } + + .nav-link { + text-align: center; + margin-bottom: 5px; + } + + > .dropdown .dropdown-menu { + top: auto; + left: auto; + } + + @include media-breakpoint-up(sm) { + .nav-item { + display: block; + width: 1%; + } + .nav-link { + margin-bottom: 0; + } + } +} + +// Move borders to anchors instead of bottom of list +// +// Mixin for adding on top the shared `.nav-justified` styles for our tabs +@mixin nav-tabs-justified { + .nav-link { + // Override margin from .nav-tabs + margin-right: 0; + border-radius: $border-radius; + } + + @include media-breakpoint-up(sm) { + .nav-link.active, + .nav-link.active:hover, + .nav-link.active:focus { + border-bottom-color: transparent; //$nav-tabs-justified-active-link-border-color; + } + } +} diff --git a/src/@core/scss/base/bootstrap-extended/mixins/_type.scss b/src/@core/scss/base/bootstrap-extended/mixins/_type.scss new file mode 100644 index 0000000..2af366c --- /dev/null +++ b/src/@core/scss/base/bootstrap-extended/mixins/_type.scss @@ -0,0 +1,31 @@ +// Font weight mixins +// ------------------ +@mixin font-weight($weight) { + $weights: ( + thin: 100, + extra-light: 200, + ultra-light: 200, + light: 300, + normal: 400, + book: 400, + regular: 400, + medium: 500, + semi-bold: 600, + demi-bold: 600, + bold: 700, + extra-bold: 800, + ultra-bold: 900, + heavy: 900, + black: 900, + ultra: 900, + ultra-black: 900, + extra-ultra: 900 + ); + + $output: $weight; + @if map-has-key($weights, $weight) { + $output: map-get($weights, $weight); + } + + font-weight: $output; +} diff --git a/src/@core/scss/base/bootstrap.scss b/src/@core/scss/base/bootstrap.scss new file mode 100644 index 0000000..b76cb2c --- /dev/null +++ b/src/@core/scss/base/bootstrap.scss @@ -0,0 +1,11 @@ +// ================================================================================================ +// File Name: bootstrap.scss +// Description: Include bootstrap core from node_modules +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import 'bootstrap-extended/include'; // Bootstrap includes +@import 'bootstrap/scss/bootstrap'; // Bootstrap core diff --git a/src/@core/scss/base/colors.scss b/src/@core/scss/base/colors.scss new file mode 100644 index 0000000..a49b694 --- /dev/null +++ b/src/@core/scss/base/colors.scss @@ -0,0 +1,24 @@ +// ================================================================================================ +// File Name: colors.scss +// Description: Common color file to include color paletter and colors file, its qiore good to +// have all color classes in a separate file as it's quite heavy. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Core +// ------------------------------ + +// Import variables and mixins +@import 'bootstrap/scss/mixins/gradients'; +@import 'core/mixins/hex2rgb'; + +//box shadow for alert's heading +@import 'core/mixins/alert'; + +// Color system, always load last +// ------------------------------ +@import 'core/colors/palette'; +@import 'core/colors/palette-gradient.scss'; diff --git a/src/@core/scss/base/components.scss b/src/@core/scss/base/components.scss new file mode 100644 index 0000000..c512862 --- /dev/null +++ b/src/@core/scss/base/components.scss @@ -0,0 +1,40 @@ +// ================================================================================================ +// File Name: components.scss +// Description: Common components file to includ all theme specific custom components. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import 'bootstrap-extended/include'; // Bootstrap includes +@import 'components/include'; // Components includes + +@import 'core/mixins/transitions'; // Template custom mixins + +// Core +// ------------------------------ +// layouts +@import 'core/layouts/content'; +@import 'core/layouts/sidebar'; +@import 'core/layouts/footer'; +// menu +@import 'core/menu/navigation'; + +// Components +// ------------------------------ +@import 'components/avatar'; +@import 'components/search'; +// @import 'components/chart'; +@import 'components/bootstrap-social'; +@import 'components/demo'; //! Plugins demo styles, remove in real project +@import 'components/customizer'; //! Customizer demo, remove in real project +@import 'components/divider'; +@import 'components/timeline'; + +// Plugins +// ------------------------------ +@import 'plugins/ui/breakpoints'; +@import 'plugins/forms/select2/select2'; +@import 'plugins/tables/datatables'; +@import 'plugins/forms/form-number-input'; // ? globally required for cart dropdown diff --git a/src/@core/scss/base/components/_include.scss b/src/@core/scss/base/components/_include.scss new file mode 100644 index 0000000..f59db10 --- /dev/null +++ b/src/@core/scss/base/components/_include.scss @@ -0,0 +1,13 @@ +// ================================================================================================ +// File Name: include.scss +// Description: Common components file to includ all theme specific custom components. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Overrides user variable +@import 'scss/variables/_variables-components'; // Component custom variable override (for user purpose) +@import 'variables'; // Component variable +@import 'variables-dark'; // Dark variable diff --git a/src/@core/scss/base/components/_variables-dark.scss b/src/@core/scss/base/components/_variables-dark.scss new file mode 100644 index 0000000..c997f39 --- /dev/null +++ b/src/@core/scss/base/components/_variables-dark.scss @@ -0,0 +1,53 @@ +// ================================================================================================ +// File Name: variables-dark.scss +// Description: Custom dark theme variables +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// ================================================================================================ +// WARNING: PLEASE DO NOT CHANGE THIS VARIABLE FILE. +// THIS FILE WILL GET OVERWRITTEN WITH EACH VUEXY HTML TEMPLATE RELEASE. +// TIP: +// We suggest you to use this (assets/scss/variables/_variables-components.scss) file for overriding components variables. +// ================================================================================================ + +//Body +$theme-dark-body-bg: #161d31 !default; +$theme-dark-body-color: #b4b7bd !default; +$theme-dark-border-color: #3b4253 !default; +$theme-dark-custom-control-border-color: #44405e !default; + +//Typography +$theme-dark-headings-color: #d0d2d6 !default; +$theme-dark-label-color: #d0d2d6 !default; +$theme-dark-text-muted-color: #676d7d !default; + +//Card +$theme-dark-card-bg: #283046 !default; +$theme-dark-box-shadow: 0 4px 24px 0 rgba($black, 0.24); + +//Input +$theme-dark-input-bg: #283046 !default; +$theme-dark-input-placeholder-color: #676d7d !default; +$theme-dark-input-border-color: #404656 !default; +$theme-dark-input-disabled-bg: #24233a !default; +$theme-dark-input-disabled-border-color: #444b60 !default; + +// Switch +$theme-dark-switch-bg: #545a6a; +$theme-dark-switch-bg-disabled: #1b2337; + +//Table +$theme-dark-table-bg: #283046 !default; +$theme-dark-table-header-bg: #343d55 !default; +$theme-dark-table-row-bg: #283046 !default; +$theme-dark-table-hover-bg: #242b3d !default; +$theme-dark-table-striped-bg: #242b3d !default; + +$theme-dark-modal-header-bg: #161d31 !default; +$theme-dark-pagination-bg: #242b3d !default; +$theme-dark-chart-bg: #384056 !default; +$theme-dark-widget-bg: #384056 !default; diff --git a/src/@core/scss/base/components/_variables.scss b/src/@core/scss/base/components/_variables.scss new file mode 100644 index 0000000..6f89eea --- /dev/null +++ b/src/@core/scss/base/components/_variables.scss @@ -0,0 +1,137 @@ +// ================================================================================================ +// File Name: variables.scss +// Description: Custom component variable +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// ================================================================================================ +// WARNING: PLEASE DO NOT CHANGE THIS VARIABLE FILE. +// THIS FILE WILL GET OVERWRITTEN WITH EACH VUEXY HTML TEMPLATE RELEASE. +// TIP: +// We suggest you to use this (assets/scss/variables/_variables-components.scss) file for overriding components variables. +// ================================================================================================ + +$base-font-size: 14px !default; +$body-direction: ltr !default; // Default ltr, change it to rtl for Right To Left support. +$content-padding: 2rem !default; + +// ------------------------------ +// Colors +// ------------------------------ +$nav-component-border-color: #ddd !default; + +$swiper-bg: #f2f4f4 !default; + +// ------------------------------ +// Navbar +// ------------------------------ +$navbar-height: 4.45rem !default; +$horizontal-menu-height: 4.45rem !default; +$footer-height: 3.35rem !default; + +// ------------------------------ +// Main Menu +// ------------------------------ + +//main menu dark +$menu-dark-color: #dcdcdc !default; +$menu-dark-bg-color: #10163a !default; + +$menu-padding: 10px 15px 10px 15px !default; +$menu-second-level-padding: 10px 15px 10px 20px !default; +$menu-third-level-padding: 10px 15px 10px 53px !default; +$menu-forth-level-padding: 10px 15px 10px 53px !default; + +// vertical menu +$menu-expanded-width: 260px !default; +$menu-collapsed-width: 80px !default; + +// ------------------------------ +// Sidebar +// ------------------------------- +$sidebar-width: 260px !default; +$chat-sidebar-width: 360px !default; + +// ------------------------------- +// Avatar +// ------------------------------- + +$avatar-size: 32px !default; +$avatar-status-size: 11px !default; +$avatar-status-size-lg: 17px !default; + +$avatar-size-xl: 70px !default; +$avatar-size-lg: 50px !default; +$avatar-size-sm: 24px !default; + +$avatar-bg: #c3c3c3; +$avatar-group-border: $white; + +// ------------------------------- +// Progress +// ------------------------------- +$progress-size-xl: 1.14rem !default; +$progress-size-lg: 0.857rem !default; +$progress-size-md: 0.57rem !default; +$progress-size-sm: 0.143rem !default; + +// ------------------------------- +// Form +// ------------------------------- + +// $input-height, $input-height-lg, $input-height-sm are in variables +$font-size-xs: 0.75rem !default; +$font-size-xl: ($font-size-base + 0.5) !default; +$line-height-xl: 1.7 !default; +$line-height-xs: 1.5 !default; +$input-padding-y-xl: 0.5rem !default; +$input-padding-x-xl: 0.5rem !default; + +$input-padding-y-xs: 0.2rem !default; +$input-padding-x-xs: 0.275rem !default; + +$border-radius-xl: 0.35rem !default; +$border-radius-xs: 0.12rem !default; +$input-border-radius-xl: $border-radius-xl !default; +$input-border-radius-xs: $border-radius-xs !default; + +$input-height-xl: (($font-size-xl * $line-height-xl) + ($input-padding-y-xl * 2)) !default; +$input-height-xs: (($font-size-xs * $line-height-xs) + ($input-padding-y-xs * 2)) !default; +$input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default; + +// ------------------------------- +// Blank Page Bg Color +// ------------------------------- + +$blank-bg-color: #eff2f7 !default; + +// ------------------------------- +// Data Tables Bg Color +// ------------------------------- + +$datatable-bg-color: #f8f8f8 !default; + +// ------------------------------- +// Switch +// ------------------------------- +$switch-bg-color: #e2e2e2 !default; +$switch-indicator-color: $white !default; + +// ------------------------------- +// Timeline +// ------------------------------- +$timeline-border-color: $border-color !default; + +$timeline-point-size: 1.75rem !default; +$timeline-point-indicator-size: 12px !default; +$timeline-point-indicator-color: $primary !default; +$timeline-point-indicator-wrapper-size: 20px !default; + +$timeline-item-min-height: 4rem !default; +$timeline-item-icon-font-size: 0.85rem !default; + +$timeline-event-time-size: 0.85rem !default; +$timeline-event-time-color: $text-muted !default; diff --git a/src/@core/scss/base/components/avatar.scss b/src/@core/scss/base/components/avatar.scss new file mode 100644 index 0000000..2015636 --- /dev/null +++ b/src/@core/scss/base/components/avatar.scss @@ -0,0 +1,192 @@ +// ========================================================================================= +// File Name: avatar.scss +// Description: Avatar style. +// ---------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ========================================================================================== + +// Component: Avatar +// ======================================================================== + +// avatar + +.avatar { + white-space: nowrap; + background-color: $avatar-bg; + border-radius: 50%; + position: relative; + cursor: pointer; + color: $white; + display: inline-flex; + font-size: 1rem; + text-align: center; + vertical-align: middle; + font-weight: 600; + + // avatar content + .avatar-content { + width: $avatar-size; + height: $avatar-size; + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; + font-size: 0.857rem; + .avatar-icon { + height: 1rem; + width: 1rem; + } + } + [class*='avatar-status-'] { + border-radius: 50%; + width: $avatar-status-size; + height: $avatar-status-size; + position: absolute; + right: 0; + bottom: 0; + border: 1px solid $white; + &.avatar-status-lg, + &.avatar-status-xl { + width: $avatar-status-size-lg; + height: $avatar-status-size-lg; + border-width: 2px; + } + } + .avatar-status-online { + background-color: $success; + } + .avatar-status-busy { + background-color: $danger; + } + .avatar-status-away { + background-color: $warning; + } + .avatar-status-offline { + background-color: $secondary; + } + + // avatar label with basic size + // using in FAQ & other pages + &.avatar-tag { + display: flex; + align-items: center; + justify-content: center; + height: 42px; + width: 42px; + border-radius: $border-radius; + } + + // avatar img + img { + border-radius: 50%; + } + + // Size Modifier + // ======================================================================== + + &.avatar-xl { + font-size: 1.5rem; + img { + width: $avatar-size-xl; + height: $avatar-size-xl; + } + .avatar-content { + height: $avatar-size-xl; + width: $avatar-size-xl; + font-size: 2.57rem; + .avatar-icon, + i, + svg { + height: 3rem; + width: 3rem; + font-size: 3rem; + } + } + [class*='avatar-status-'] { + right: 3px; + bottom: 0; + } + } + &.avatar-lg { + font-size: 1.2rem; + img { + width: $avatar-size-lg; + height: $avatar-size-lg; + } + .avatar-content { + width: $avatar-size-lg; + height: $avatar-size-lg; + font-size: 1.714rem; + .avatar-icon, + i, + svg { + height: 2rem; + width: 2rem; + font-size: 2rem; + } + } + [class*='avatar-status-'] { + right: 3px; + bottom: 1px; + } + } + + &.avatar-sm { + .avatar-content { + width: $avatar-size-sm; + height: $avatar-size-sm; + .avatar-icon, + i, + svg { + height: 1rem; + width: 1rem; + font-size: 1rem; + } + } + img { + width: $avatar-size-sm; + height: $avatar-size-sm; + } + [class*='avatar-status-'] { + right: -3px; + bottom: -2px; + } + } +} + +// Avatar Group SCSS +.avatar-group { + display: flex; + justify-content: flex-start; + .avatar { + transition: all 0.25s ease; + img, + .avatar-content { + box-shadow: 0 0 0 2px $avatar-group-border, inset 0 0 0 1px rgba($black, 0.07); + } + .avatar-content { + background-color: lighten(theme-color('secondary'), 20%) !important; + } + &:hover { + transition: all 0.25s ease; + } + &.pull-up:hover { + transform: translateY(-4px) scale(1.07); + } + } + // Avatar Group Sizings + .avatar:not(:first-child) { + margin-left: -0.55rem; + } + .avatar-sm:not(:first-child) { + margin-left: -0.4rem; + } + .avatar-lg:not(:first-child) { + margin-left: -1rem; + } + .avatar-xl:not(:first-child) { + margin-left: -1.5rem; + } +} diff --git a/src/@core/scss/base/components/bootstrap-social.scss b/src/@core/scss/base/components/bootstrap-social.scss new file mode 100644 index 0000000..185034b --- /dev/null +++ b/src/@core/scss/base/components/bootstrap-social.scss @@ -0,0 +1,316 @@ +$bs-height-base: ($line-height-base + $input-btn-padding-y * 2) !default; +$bs-height-lg: (floor($font-size-lg * $line-height-base) + $input-btn-padding-y-lg * 2) !default; +$bs-height-sm: (floor($font-size-sm * 1.5) + $input-btn-padding-y-lg * 2) !default; +$bs-height-xs: (floor($font-size-sm * 0.2) + $input-btn-padding-y-lg) !default; + +.btn-social { + position: relative; + padding-left: ($bs-height-base + $input-btn-padding-x); + text-align: left; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + > :first-child { + position: absolute; + left: 0; + top: 2px; + bottom: 0; + width: $bs-height-base; + line-height: ($bs-height-base - 0.25); + font-size: $font-size-base; + text-align: center; + border-right: 1px solid rgba($black, 0.2); + } +} + +.btn-social-icon { + @extend .btn-social; + height: ($bs-height-base); + width: ($bs-height-base); + padding: 0; + > :first-child { + border: none; + text-align: center; + width: 100% !important; + } +} + +// Social button Mixin +@mixin btn-social($color-bg, $color: #fff, $hover: $color-bg, $border-hover: $color-bg) { + background-color: $color-bg; + @include button-variant($color-bg, $color, $hover, $border-hover); + color: $white !important; + border: none; +} + +// Social Outline Button Mixin +@mixin btn-social-outline($color-bg) { + border: 1px solid $color-bg !important; + color: $color-bg; +} + +// Social Outline Button Hover Mixin +@mixin btn-hover-outline($color-bg) { + color: darken($color-bg, 20%); + border: 1px solid darken($color-bg, 20%) !important; +} + +// Social button +.btn-adn { + @include btn-social(#d87a68); +} +.btn-bitbucket { + @include btn-social(#205081); +} +.btn-dropbox { + @include btn-social(#1087dd); +} +.btn-facebook { + @include btn-social(#3b5998); +} +.btn-flickr { + @include btn-social(#ff0084); +} +.btn-foursquare { + @include btn-social(#f94877); +} +.btn-github { + @include btn-social(#444444); +} +.btn-google { + @include btn-social(#dd4b39); +} +.btn-instagram { + @include btn-social(#3f729b); +} +.btn-linkedin { + @include btn-social(#007bb6); +} +.btn-microsoft { + @include btn-social(#2672ec); +} +.btn-odnoklassniki { + @include btn-social(#f4731c); +} +.btn-openid { + @include btn-social(#f7931e); +} +.btn-pinterest { + @include btn-social(#cb2027); +} +.btn-reddit { + @include btn-social(#eff7ff, #000, #000, #000); +} +.btn-soundcloud { + @include btn-social(#ff5500); +} +.btn-tumblr { + @include btn-social(#2c4762); +} +.btn-twitter { + @include btn-social(#55acee, #fff); +} +.btn-vimeo { + @include btn-social(#1ab7ea); +} +.btn-vk { + @include btn-social(#587ea3); +} +.btn-yahoo { + @include btn-social(#720e9e); +} + +// Social Outline button +.btn-outline-adn { + @include btn-social-outline(#d87a68); +} +.btn-outline-bitbucket { + @include btn-social-outline(#205081); +} +.btn-outline-dropbox { + @include btn-social-outline(#1087dd); +} +.btn-outline-facebook { + @include btn-social-outline(#3b5998); +} +.btn-outline-flickr { + @include btn-social-outline(#ff0084); +} +.btn-outline-foursquare { + @include btn-social-outline(#f94877); +} +.btn-outline-github { + @include btn-social-outline(#444444); +} +.btn-outline-google { + @include btn-social-outline(#dd4b39); +} +.btn-outline-instagram { + @include btn-social-outline(#3f729b); +} +.btn-outline-linkedin { + @include btn-social-outline(#007bb6); +} +.btn-outline-microsoft { + @include btn-social-outline(#2672ec); +} +.btn-outline-odnoklassniki { + @include btn-social-outline(#f4731c); +} +.btn-outline-openid { + @include btn-social-outline(#f7931e); +} +.btn-outline-pinterest { + @include btn-social-outline(#cb2027); +} +.btn-outline-reddit { + @include btn-social-outline(#ff4500); +} +.btn-outline-soundcloud { + @include btn-social-outline(#ff5500); +} +.btn-outline-tumblr { + @include btn-social-outline(#2c4762); +} +.btn-outline-twitter { + @include btn-social-outline(#55acee); +} +.btn-outline-vimeo { + @include btn-social-outline(#1ab7ea); +} +.btn-outline-vk { + @include btn-social-outline(#587ea3); +} +.btn-outline-yahoo { + @include btn-social-outline(#720e9e); +} + +// Social Outline hover button +.btn-outline-adn:hover { + @include btn-hover-outline(#d87a68); +} +.btn-outline-bitbucket:hover { + @include btn-hover-outline(#205081); +} +.btn-outline-dropbox:hover { + @include btn-hover-outline(#1087dd); +} +.btn-outline-facebook:hover { + @include btn-hover-outline(#3b5998); +} +.btn-outline-flickr:hover { + @include btn-hover-outline(#ff0084); +} +.btn-outline-foursquare:hover { + @include btn-hover-outline(#f94877); +} +.btn-outline-github:hover { + @include btn-hover-outline(#444444); +} +.btn-outline-google:hover { + @include btn-hover-outline(#dd4b39); +} +.btn-outline-instagram:hover { + @include btn-hover-outline(#3f729b); +} +.btn-outline-linkedin:hover { + @include btn-hover-outline(#007bb6); +} +.btn-outline-microsoft:hover { + @include btn-hover-outline(#2672ec); +} +.btn-outline-odnoklassniki:hover { + @include btn-hover-outline(#f4731c); +} +.btn-outline-openid:hover { + @include btn-hover-outline(#f7931e); +} +.btn-outline-pinterest:hover { + @include btn-hover-outline(#cb2027); +} +.btn-outline-reddit:hover { + @include btn-hover-outline(#ff4500); +} +.btn-outline-soundcloud:hover { + @include btn-hover-outline(#ff5500); +} +.btn-outline-tumblr:hover { + @include btn-hover-outline(#2c4762); +} +.btn-outline-twitter:hover { + @include btn-hover-outline(#55acee); +} +.btn-outline-vimeo:hover { + @include btn-hover-outline(#1ab7ea); +} +.btn-outline-vk:hover { + @include btn-hover-outline(#587ea3); +} +.btn-outline-yahoo:hover { + @include btn-hover-outline(#720e9e); +} + +// Social Background colors +.bg-adn { + background-color: #d87a68; +} +.bg-bitbucket { + background-color: #205081; +} +.bg-dropbox { + background-color: #1087dd; +} +.bg-facebook { + background-color: #3b5998; +} +.bg-flickr { + background-color: #ff0084; +} +.bg-foursquare { + background-color: #f94877; +} +.bg-github { + background-color: #444444; +} +.bg-google { + background-color: #dd4b39; +} +.bg-instagram { + background-color: #3f729b; +} +.bg-linkedin { + background-color: #007bb6; +} +.bg-microsoft { + background-color: #2672ec; +} +.bg-odnoklassniki { + background-color: #f4731c; +} +.bg-openid { + background-color: #f7931e; +} +.bg-pinterest { + background-color: #cb2027; +} +.bg-reddit { + background-color: #ff4500; +} +.bg-soundcloud { + background-color: #ff5500; +} +.bg-tumblr { + background-color: #2c4762; +} +.bg-twitter { + background-color: #55acee; +} +.bg-vimeo { + background-color: #1ab7ea; +} +.bg-vk { + background-color: #587ea3; +} +.bg-yahoo { + background-color: #720e9e; +} diff --git a/src/@core/scss/base/components/chart.scss b/src/@core/scss/base/components/chart.scss new file mode 100644 index 0000000..e345c50 --- /dev/null +++ b/src/@core/scss/base/components/chart.scss @@ -0,0 +1,35 @@ +// Apex chart Scss + +.apexcharts-canvas { + // Tooltip Color + .apexcharts-tooltip { + color: $body-color !important; + &.apexcharts-theme-dark { + color: $white !important; + } + } + // Toolbar Download Option Color + .apexcharts-toolbar { + .apexcharts-menu { + .apexcharts-menu-item { + color: $body-color; + } + } + } + + // Text font family + .apexcharts-text, + .apexcharts-datalabel { + font-family: $font-family-base !important; + } +} + +// apex charts tooltip +.apexcharts-xaxistooltip { + color: $body-color !important; +} + +// Toolbar Z-index +.apexcharts-toolbar { + z-index: 10; +} diff --git a/src/@core/scss/base/components/customizer.scss b/src/@core/scss/base/components/customizer.scss new file mode 100644 index 0000000..f6c5984 --- /dev/null +++ b/src/@core/scss/base/components/customizer.scss @@ -0,0 +1,98 @@ +/*========================================================================================= + File Name: customizer.scss + Description: CSS used for demo purpose only. Remove this css from your project. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +.customizer { + width: 400px; + right: -400px; + padding: 0; + background-color: $white; + z-index: 1051; + position: fixed; + top: 0; + bottom: 0; + height: 100vh; + height: calc(var(--vh, 1vh) * 100); + transition: right 0.4s cubic-bezier(0.05, 0.74, 0.2, 0.99); + backface-visibility: hidden; + border-left: 1px solid rgba($black, 0.05); + + &.open { + box-shadow: 0 15px 30px 0 rgba($black, 0.11), 0 5px 15px 0 rgba($black, 0.08); + right: 0; + } + + // customizer content height + .customizer-content { + position: relative; + height: 100%; + } + + //customizer close button + .customizer-close { + position: absolute; + right: 0.6rem; + top: 0.6rem; + padding: 7px; + width: auto; + z-index: 10; + color: $headings-color; + i, + svg { + font-size: 1.5rem; + height: 1.5rem; + width: 1.5rem; + } + } + + // customizer toggle icon + .customizer-toggle { + background: $primary; + color: $white !important; + display: block; + box-shadow: -3px 0px 8px rgba($black, 0.1); + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + position: absolute; + top: 50%; + width: 38px; + height: 38px; + left: -39px; + text-align: center; + line-height: 40px; + cursor: pointer; + } + + // theme color box styles + .color-box { + height: 24px; + width: 24px; + margin: 0.5rem; + border-radius: 0.5rem; + cursor: pointer; + position: relative; + &.selected { + &:after { + content: ''; + border: 1px solid $primary; + height: 30px; + width: 30px; + top: -3px; + left: -3px; + position: absolute; + border-radius: 0.5rem; + } + &.border { + &:after { + top: -4px; + left: -4px; + } + } + } + } +} diff --git a/src/@core/scss/base/components/demo.scss b/src/@core/scss/base/components/demo.scss new file mode 100644 index 0000000..cf6f086 --- /dev/null +++ b/src/@core/scss/base/components/demo.scss @@ -0,0 +1,121 @@ +/*========================================================================================= + File Name: demo.scss + Description: CSS used for demo purpose only. Remove this css from your project. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +// Demo content spacing +.demo-inline-spacing { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + align-items: center; + & > * { + margin-right: 1.5rem; + margin-top: 1.5rem; + } +} + +// Demo content spacing +.demo-vertical-spacing > * { + margin: 0; + margin-bottom: 1.5rem; + &:last-child { + margin: 0; + } +} + +.demo-spacing-0 > *:last-child { + margin: 0; +} + +// using in icon pages +.icon-wrapper { + .feather { + height: 24px; + width: 24px; + } +} + +.scroll-example { + padding: 0.5rem; + position: relative; + border: 2px solid darken($body-bg, 10%); + overflow: auto; + + .horz-scroll-content { + width: 1200px; + } +} + +.browser { + background: #e0e0e0; + border: 4px solid #e0e0e0; + width: 100%; + height: 12rem; + padding-top: 20px; + margin: 0 0 10px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.browser iframe { + border: 0; + background: #fff; + height: 100%; + width: 100%; +} + +.loader-wrapper { + height: 8em; +} + +.maintenance-icon { + font-size: 4rem; +} + +.animationIcon { + right: 30px; + bottom: 10px; +} + +// Breadcrumb page alignment demo +#component-breadcrumbs .breadcrumb:not(last-child){ + margin-bottom: .5rem; +} +#breadcrumb-alignment { + .breadcrumb-wrapper { + box-shadow: 1px 1px 10px rgba($black, 0.1); + padding: 1px; + border-radius: $border-radius; + .breadcrumb { + margin-top: 0.8rem; + margin-bottom: 0.8rem; + } + } +} +.dark-layout { + #breadcrumb-alignment { + .breadcrumb-wrapper { + box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.24); + } + } +} + +// Buy now +.buy-now { + position: fixed; + bottom: 5%; + right: 79px; + z-index: 1031; + .btn { + box-shadow: 0 1px 20px 1px $danger !important; + &:hover { + box-shadow: none !important; + } + } +} diff --git a/src/@core/scss/base/components/divider.scss b/src/@core/scss/base/components/divider.scss new file mode 100644 index 0000000..e678974 --- /dev/null +++ b/src/@core/scss/base/components/divider.scss @@ -0,0 +1,104 @@ +// Divider + +.divider { + display: block; + text-align: center; + overflow: hidden; + white-space: nowrap; + margin: 1rem 0; + + // divider text display prop + + .divider-text { + position: relative; + display: inline-block; + font-size: 0.9375rem; + padding: 0 1rem; + + // divider icon font size + + i, + svg { + height: 1rem; + width: 1rem; + font-size: 1rem; + } + + // divider border + + &:before, + &:after { + content: ''; + position: absolute; + top: 50%; + width: 9999px; + border-top: 1px solid $border-color; + } + + // divider spacing + &:before { + right: 100%; + } + + &:after { + left: 100%; + } + } + + // divider positions config + + &.divider-left { + .divider-text { + float: left; + padding-left: 0; + &:before { + display: none; + } + } + } + &.divider-left-center { + .divider-text { + left: -25%; + } + } + + &.divider-right { + .divider-text { + float: right; + padding-right: 0; + &:after { + display: none; + } + } + } + &.divider-right-center { + .divider-text { + right: -25%; + } + } + + // divider styles + + &.divider-dotted { + .divider-text { + &:before, + &:after { + border-style: dotted; + border-width: 1px; + border-top-width: 0; + border-color: $border-color; + } + } + } + &.divider-dashed { + .divider-text { + &:before, + &:after { + border-style: dashed; + border-width: 1px; + border-top-width: 0; + border-color: $border-color; + } + } + } +} diff --git a/src/@core/scss/base/components/search.scss b/src/@core/scss/base/components/search.scss new file mode 100644 index 0000000..f18008a --- /dev/null +++ b/src/@core/scss/base/components/search.scss @@ -0,0 +1,237 @@ +/*========================================================================================= + File Name: search.scss + Description: Search functionality. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +.navbar-container { + a.nav-link-search { + float: left; + } + + .search-input { + width: 0; + float: left; + display: none; + + // select + input { + width: 0; + border: none; + background: none; + transition: all 0.2s ease-out; + line-height: 16px; + padding: 1.6rem 3.6rem; + } + + &.open { + position: absolute; + top: 0; + left: 0; + z-index: 1000; + width: 100%; + display: block; + background: $white; + border-radius: 0.5rem; + + .search-input-close, + .search-input-icon { + display: block; + } + + // select + + input { + width: 100%; + outline: none; + background: none; + height: auto; + box-shadow: none; + transition: all 0.3s ease-out; + } + } + + .search-list { + max-height: 450px; + height: auto; + position: absolute; + top: 100%; + left: 0; + background: $white; + width: 100%; + margin-top: 0.5rem; + padding-left: 0; + border-radius: $border-radius; + display: none; + @media only screen and (min-device-width: 320px) and (max-device-width: 875px) and (orientation: landscape) { + max-height: 250px; + } + + &.search-list-bookmark { + height: auto !important; + i, + svg { + font-size: 1.2rem; + height: 1.2rem; + width: 1.2rem; + } + } + + &.show { + display: block; + min-height: 3rem; + } + + li { + a { + padding: 0.9rem 1rem; + color: $body-color; + + i, + svg[class*='feather feather-'] { + height: 1.25rem; + width: 1.25rem; + font-size: 1.25rem; + } + } + + &:first-child { + border-top-left-radius: $border-radius; + border-top-right-radius: $border-radius; + } + + &:last-child { + border-bottom-left-radius: $border-radius; + border-bottom-right-radius: $border-radius; + } + + &.auto-suggestion { + display: flex; + align-items: center; + cursor: pointer; + &:hover, + &.current_item { + background-color: $body-bg; + } + } + } + } + + .search-input-icon { + z-index: 2; + display: none; + position: absolute; + left: 1.5rem; + top: 32%; + cursor: pointer; + + i, + svg { + height: 1.25rem; + width: 1.25rem; + font-size: 1.25rem; + } + } + + .search-input-close { + z-index: 1; + display: none; + position: absolute; + right: 2rem; + top: 32%; + cursor: pointer; + + i, + svg { + height: 1.25rem; + width: 1.25rem; + font-size: 1.25rem; + } + } + } + + .bookmark-input { + position: absolute; + top: 102%; + width: 25%; + display: none; + background: $white; + border-radius: $border-radius; + box-shadow: 0 15px 30px 0 rgba($black, 0.11), 0 5px 15px 0 rgba($black, 0.08); + + &.show { + display: block; + } + + .bookmark-input-icon { + position: absolute; + z-index: 1; + top: 20px; + left: 24px; + } + + input { + padding: 0.7rem 0.7rem 0.7rem 2.5rem; + margin: 12px; + width: calc(100% - 24px); // Reduce width by 10*2 + background: $white; + border: 1px solid rgba($black, 0.2); + + &:focus { + border: 1px solid $primary; + } + } + + .search-list { + position: relative; // To consider outer div width + } + } + + .bookmark-icon { + cursor: pointer; + } + + .dropdown.bookmark-dropdown { + padding: 1.4rem 0.5rem 1.35rem; + + .dropdown-toggle:after { + display: none; + } + } + + .search-data-title { + line-height: 1.25rem; + } +} + +.navbar-dark +// .navbar-semi-light +{ + .search-input { + .input { + color: #f5f7fa; + border-radius: 0.5rem; + } + + &.open { + .input { + color: #f5f7fa; + border: 1px solid #f5f7fa; + } + } + } +} + +// navbar-sticky +.navbar-static { + .navbar-container { + .search-input { + &.open { + border-radius: 0; + } + } + } +} diff --git a/src/@core/scss/base/components/timeline.scss b/src/@core/scss/base/components/timeline.scss new file mode 100644 index 0000000..fbf7367 --- /dev/null +++ b/src/@core/scss/base/components/timeline.scss @@ -0,0 +1,101 @@ +// ========================================================================================= +// File Name: timeline.scss +// Description: Timeline style. +// ---------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ========================================================================================== + +// Component: Timeline +// ======================================================================== + +.timeline { + padding: 0; + margin-bottom: 0; + margin-left: 1rem; + list-style: none; + + // Timeline Item + .timeline-item { + position: relative; + padding-left: 2.5rem; + border-left: 1px solid $timeline-border-color; + + &:not(:last-child) { + padding-bottom: 1.8rem; + } + + // Timeline Point + .timeline-point { + position: absolute; + left: -0.85rem; + top: 0; + z-index: 2; + display: flex; + justify-content: center; + align-items: center; + height: $timeline-point-size; + width: $timeline-point-size; + text-align: center; + border-radius: 50%; + border: 1px solid $timeline-point-indicator-color; + background-color: $white; + + // Timeline Point Indicator + &.timeline-point-indicator { + left: -0.412rem; + top: 0.07rem; + height: $timeline-point-indicator-size; + width: $timeline-point-indicator-size; + border: 0; + background-color: $timeline-point-indicator-color; + + &:before { + content: ''; + background: rgba($color: $timeline-point-indicator-color, $alpha: 0.12); + height: $timeline-point-indicator-wrapper-size; + width: $timeline-point-indicator-wrapper-size; + display: block; + position: absolute; + top: -0.285rem; + left: -0.285rem; + border-radius: 50%; + } + } + + // Icons + i, + svg { + color: $timeline-point-indicator-color; + font-size: $timeline-item-icon-font-size; + vertical-align: baseline; + } + } + + .timeline-event { + position: relative; + width: 100%; + min-height: $timeline-item-min-height; + // background-color: transparent; + + .timeline-event-time { + font-size: $timeline-event-time-size; + color: $timeline-event-time-color; + } + } + + &:last-of-type { + border-left-color: transparent !important; + &:after { + content: ''; + position: absolute; + left: -1px; + bottom: 0; + width: 1px; + height: 100%; + background: linear-gradient($border-color, transparent); + } + } + } +} diff --git a/src/@core/scss/base/core/colors/_palette.scss b/src/@core/scss/base/core/colors/_palette.scss new file mode 100644 index 0000000..494eb92 --- /dev/null +++ b/src/@core/scss/base/core/colors/_palette.scss @@ -0,0 +1,534 @@ +// ================================================================================================ +// File Name: pallette.scss +// Description: Custom color system styles, includes background, border and text colors +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// ================================================================================================ +// WARNING: PLEASE DO NOT CHANGE THIS VARIABLE FILE. +// THIS FILE WILL GET OVERWRITTEN WITH EACH Vuexy HTML TEMPLATE RELEASE. +// TIP: +// We suggest you to use this (assets/scss/colors/palette.scss) file for overriding color variables. +// ================================================================================================ + +// usage: theme-color("name_of_color", "type_of_color") +// to avoid to repeating map-get($colors, ...) + +@function color-function($color, $type) { + @if map-has-key($colors, $color) { + $curr_color: map-get($colors, $color); + @if map-has-key($curr_color, $type) { + @return map-get($curr_color, $type); + } + } + + // @warn "Unknown `#{name}` in $colors."; + @return null; +} + +// Color palettes +@import 'palette-variables'; + +// Color Classes +// Text color: .color .lighten-* / .darken-* / .accent-* +// Background: .bg-color .bg-lighten-* / .bg-darken-* / .bg-accent-* +// border: .border-color .border-lighten-* / .border-darken-* / .border-accent-* +// border-top: .border-top-color .border-top-lighten-* / .border-top-darken-* / .border-top-accent-* +// border-bottom: .border-bottom-color .border-bottom-lighten-* / .border-bottom-darken-* / .border-bottom-accent-* +// border-left: .border-left-color .border-left-lighten-* / .border-left-darken-* / .border-left-accent-* +// border-right: .border-right-color .border-right-lighten-* / .border-right-darken-* / .border-right-accent-* + +@each $color_name, $color in $colors { + @each $color_type, $color_value in $color { + @if $color_type== 'base' { + // background color + .bg-#{$color_name} { + background-color: $color_value !important; + + .card-header, + .card-footer { + background-color: transparent; + } + } + + // Alert + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .alert-#{$color_name} { + background: rgba($color_value, 0.12) !important; + color: $color_value !important; + + .alert-heading { + @include alert-heading-bs($color_value); + } + + .alert-link { + color: darken($color_value, 5%) !important; + } + + // closable alert + .close { + color: $color_value !important; + } + } + } + + // bg color lighten for rgba - opacity set + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white' and $color_name != 'dark') { + .bg-light-#{$color_name} { + background: rgba($color_value, 0.12) !important; + color: $color_value !important; + + // Calendar background, color and border color + &.fc-h-event, + &.fc-v-event { + border-color: rgba($color_value, 0.1); + } + + .fc-list-event-dot { + border-color: $color_value !important; + } + + &.fc-list-event { + &:hover td { + background: rgba($color_value, 0.1) !important; + } + + .fc-list-event-title { + color: $body-color; + } + } + } + } + + // avatar with light bg + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white' and $color_name != 'dark') { + .avatar.bg-light-#{$color_name} { + color: $color_value !important; + } + } + + // Border colors + .border-#{$color_name} { + border: 1px solid $color_value !important; + } + + .border-top-#{$color_name} { + border-top: 1px solid $color_value; + } + + .border-bottom-#{$color_name} { + border-bottom: 1px solid $color_value; + } + + .border-left-#{$color_name} { + border-left: 1px solid $color_value; + } + + .border-right-#{$color_name} { + border-right: 1px solid $color_value; + } + + // badge glow colors + .bg-#{$color_name}, + .border-#{$color_name}, + .badge-#{$color-name} { + &.badge-glow { + box-shadow: 0px 0px 10px $color_value; + } + } + + // Badge Background Color + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .badge { + // Badge Light Background + &.badge-light-#{$color_name} { + background-color: rgba($color: $color_value, $alpha: 0.12); + color: $color_value !important; + } + } + } + + // Overlay colors + .overlay-#{$color_name} { + @include bg-opacity($color_value, 0.6); + } + + // Basic buttons + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .btn-#{$color_name} { + border-color: $color_value !important; + background-color: $color_value !important; + color: $white !important; + + &:focus, + &:active, + &.active { + color: $white; + background-color: color-function($color_name, 'darken-1') !important; + } + + &:hover:not(.disabled):not(:disabled) { + box-shadow: 0 8px 25px -8px rgba($color-value, 1); + } + + &:not(:disabled):not(.disabled):active:focus { + box-shadow: none; + } + } + } + + // For Btn Flat + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .btn-flat-#{$color-name} { + background-color: transparent; + color: $color-value; + + &:hover { + color: $color-value; + } + + &:hover:not(.disabled):not(:disabled) { + background-color: rgba($color-value, 0.12); + } + + &:active, + &.active, + &:focus { + background-color: rgba($color: $color_value, $alpha: 0.2); + color: $color_value; + } + + &.dropdown-toggle::after { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $color_value), '#', '%23')); + } + } + } + + // For Btn Relief + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .btn-relief-#{$color-name} { + background-color: $color-value; + box-shadow: inset 0 -3px 0 0 rgba($black, 0.2); + color: $white; + transition: all 0.2s ease; + @if $color_name == 'dark' { + &:hover:not(.disabled):not(:disabled) { + background-color: color-function($color_name, 'darken-3'); + } + } @else { + &:hover:not(.disabled):not(:disabled) { + background-color: color-function($color_name, 'lighten-1'); + } + } + &:active, + &.active, + &:focus { + background-color: color-function($color_name, 'darken-1'); + } + + &:hover { + color: $white; + } + &:active, + &.active { + outline: none; + box-shadow: none; + transform: translateY(3px); + } + } + } + + // Outline buttons + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .btn-outline-#{$color_name} { + border: 1px solid $color_value !important; + background-color: transparent; + color: $color_value; + + &:hover:not(.disabled):not(:disabled) { + background-color: rgba($color: $color_value, $alpha: 0.04); + color: $color_value; + } + &:not(:disabled):not(.disabled):active:focus { + box-shadow: none; + } + &:not(:disabled):not(.disabled):active, + &:not(:disabled):not(.disabled).active, + &:not(:disabled):not(.disabled):focus { + background-color: rgba($color: $color_value, $alpha: 0.2); + color: $color_value; + } + + &.dropdown-toggle::after { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $color_value), '#', '%23')); + } + // split toggle have show class + .show > &.dropdown-toggle { + background-color: rgba($color: $color_value, $alpha: 0.2); + color: $color_value; + } + } + } + + // Wave effect + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .btn-outline-#{$color_name}, + .btn-flat-#{$color-name} { + &.waves-effect { + .waves-ripple { + background: radial-gradient( + rgba($color_value, 0.2) 0, + rgba($color_value, 0.3) 40%, + rgba($color_value, 0.4) 50%, + rgba($color_value, 0.5) 60%, + rgba($white, 0) 70% + ); + } + } + } + } + + // Bullet colors for email app + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .bullet { + &.bullet-#{$color_name} { + background-color: $color_value; + } + } + } + + // Modal + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .modal { + &.modal-#{$color_name} { + .modal-header { + .modal-title { + color: $color_value; + } + .close { + color: $color_value !important; + } + } + } + } + } + + // For Pagination + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white' and $color_name != 'dark') { + .pagination-#{$color-name} { + .page-item { + &.active { + .page-link { + background: $color-value !important; + color: $white; + + &:hover { + color: $white; + } + } + } + + .page-link { + &:hover { + color: $color_value; + } + } + + &.prev-item, + &.next-item { + .page-link:hover { + background: $color_value; + color: $white; + } + } + &.next-item, + &.next { + .page-link { + &:active, + &:hover { + &:after { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $color_value), + '#', + '%23' + )) !important; + } + } + } + } + &.prev-item, + &.prev { + .page-link { + &:active, + &:hover { + &:before { + background-image: url(str-replace( + str-replace($chevron-left, 'currentColor', $color_value), + '#', + '%23' + )) !important; + } + } + } + } + } + } + } + + // For Nav Pills + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white' and $color_name != 'dark') { + .nav-pill-#{$color-name} { + .nav-item { + .nav-link { + &.active { + color: $white; + background-color: $color_value !important; + border-color: $color_value; + box-shadow: 0 4px 18px -4px rgba($color_value, 0.65); + } + } + } + } + } + + // Progress Bars + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .progress-bar-#{$color_name} { + background-color: rgba($color_value, 0.12); + + .progress-bar { + background-color: $color-value; + } + } + } + + // Timeline + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .timeline { + .timeline-point-#{$color_name} { + border-color: $color_value !important; + + i, + svg { + stroke: $color_value !important; + } + + &.timeline-point-indicator { + background-color: $color_value !important; + &:before { + background: rgba($color: $color_value, $alpha: 0.12) !important; + } + } + } + } + } + + // Divider + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .divider.divider-#{$color-name} { + .divider-text { + &:before, + &:after { + border-color: $color-value !important; + } + } + } + } + + // Form Input Elements + // Checkbox & Radio + + // todo: remove it once confirm + input:focus ~ .bg-#{$color_name} { + box-shadow: 0 0 0 0.075rem $white, 0 0 0 0.21rem $color_value !important; + } + + // Custom Checkbox & Radio + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .custom-control-#{$color_name} { + .custom-control-input:checked ~ .custom-control-label::before, + .custom-control-input:active ~ .custom-control-label::before { + border-color: $color_value; + background-color: $color_value; + } + &.custom-checkbox, + &.custom-radio { + .custom-control-input:checked ~ .custom-control-label::before, + .custom-control-input:active ~ .custom-control-label::before, + .custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 2px 4px 0 rgba($color_value, 0.4) !important; + } + } + .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba($color_value, 0.65) !important; + border: none; + box-shadow: none !important; + } + .custom-control-input:focus ~ .custom-control-label::before { + border-color: $color_value; + } + } + } + + // Bootstrap Custom Switches + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .custom-switch-#{$color-name} { + .custom-control-input:checked ~ .custom-control-label::before { + background-color: $color_value !important; + color: $white; + transition: all 0.2s ease-out; + } + } + } + + // Select2 + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .select2-#{$color-name} { + .select2-container--default { + .select2-selection--multiple { + .select2-selection__choice { + background: $color_value !important; + border-color: $color_value !important; + } + } + } + } + } + } @else { + .text-#{$color_name}.text-#{$color_type} { + color: $color_value !important; + } + + .bg-#{$color_name}.bg-#{$color_type} { + background-color: $color_value !important; + } + + .border-#{$color_name}.border-#{$color_type} { + border: 1px solid $color_value !important; + } + + .border-top-#{$color_name}.border-top-#{$color_type} { + border-top: 1px solid $color_value !important; + } + + .border-bottom-#{$color_name}.border-bottom-#{$color_type} { + border-bottom: 1px solid $color_value !important; + } + + .border-left-#{$color_name}.border-left-#{$color_type} { + border-left: 1px solid $color_value !important; + } + + .border-right-#{$color_name}.border-right-#{$color_type} { + border-right: 1px solid $color_value !important; + } + + .overlay-#{$color_name}.overlay-#{$color_type} { + @include bg-opacity($color_value, 0.6); + } + } + } +} diff --git a/src/@core/scss/base/core/colors/palette-gradient.scss b/src/@core/scss/base/core/colors/palette-gradient.scss new file mode 100644 index 0000000..4762b36 --- /dev/null +++ b/src/@core/scss/base/core/colors/palette-gradient.scss @@ -0,0 +1,72 @@ +// ================================================================================================ +// File Name: pallette-gradient.scss +// Description: gradient color system styles +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@function color-function($color, $type) { + @if map-has-key($colors, $color) { + $curr_color: map-get($colors, $color); + @if map-has-key($curr_color, $type) { + @return map-get($curr_color, $type); + } + } + // @warn "Unknown `#{name}` in $colors."; + @return null; +} + +// Color palettes +@import 'palette-variables'; + +@import 'bootstrap/scss/mixins/_gradients'; +@import 'bootstrap/scss/mixins/gradients'; + +@each $color_name, $color in $colors { + @each $color_type, $color_value in $color { + @if $color_type == 'base' { + @if ($color_name != 'light' and $color_name != 'black' and $color_name != 'white') { + .bg-gradient-#{$color_name}, + .btn-gradient-#{$color_name} { + color: $white; + transition: all 0.2s ease; + @if $color_name == 'dark' { + @if (color-function($color_name, 'base') != null) { + @include gradient-directional(map-get(($color), 'base'), map-get(($color), 'darken-2'), 47deg); + } + // for dark layout + .dark-layout & { + @include gradient-directional(map-get(($color), 'darken-2'), map-get(($color), 'base'), 47deg); + background-repeat: repeat; + } + background-repeat: repeat; + } @else { + @if (color-function($color_name, 'base') != null) { + @include gradient-directional(map-get(($color), 'base'), map-get(($color), 'lighten-2'), 47deg); + } + background-repeat: repeat; + } + &:hover, + &:active { + color: $white; + } + &:hover:not(.disabled):not(:disabled) { + transform: translateY(-2px); + } + &:active { + transform: translateY(0); + } + &:active, + &:focus { + @if (color-function($color_name, 'darken-2') != null) { + @include gradient-directional(map-get(($color), 'darken-2'), map-get(($color), 'base'), 47deg); + } + background-repeat: repeat; + } + } + } + } + } +} diff --git a/src/@core/scss/base/core/colors/palette-noui.scss b/src/@core/scss/base/core/colors/palette-noui.scss new file mode 100644 index 0000000..ff352e7 --- /dev/null +++ b/src/@core/scss/base/core/colors/palette-noui.scss @@ -0,0 +1,30 @@ +// ================================================================================================ +// File Name: pallette-noui.scss +// Description: noui color system styles +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Color palettes +@import 'palette-variables'; + +@each $color_name, $color in $colors { + @each $color_type, $color_value in $color { + @if $color_type == 'base' { + .slider-#{$color_name} { + background-color: rgba($color_value, 0.12); + .noUi-connect { + background: $color_value !important; + } + &.noUi-connect { + background: $color_value !important; + } + .noUi-handle { + border-color: $color_value !important; + } + } + } + } +} diff --git a/src/@core/scss/base/core/colors/palette-variables.scss b/src/@core/scss/base/core/colors/palette-variables.scss new file mode 100644 index 0000000..3542e34 --- /dev/null +++ b/src/@core/scss/base/core/colors/palette-variables.scss @@ -0,0 +1,126 @@ +// Overrides user _variables-components +@import '../../bootstrap-extended/include'; + +// Google Color Palette defined: http://www.google.com/design/spec/style/color.html + +$white-color: ( + 'base': #ffffff +); +$black-color: ( + 'base': #000000 +); +$dark-color: ( + 'base': theme-color('dark'), + 'darken-1': #343434, + 'darken-2': #1e1e1e, + 'darken-3': #626262 +); +$light-color: ( + 'base': theme-color('light') +); + +$primary-color: ( + 'lighten-5': lighten(theme-color('primary'), 25%), + 'lighten-4': lighten(theme-color('primary'), 20%), + 'lighten-3': lighten(theme-color('primary'), 15%), + 'lighten-2': lighten(theme-color('primary'), 10%), + 'lighten-1': lighten(theme-color('primary'), 5%), + 'base': theme-color('primary'), + 'darken-1': darken(theme-color('primary'), 5%), + 'darken-2': darken(theme-color('primary'), 10%), + 'darken-3': darken(theme-color('primary'), 15%), + 'darken-4': darken(theme-color('primary'), 20%), + 'accent-1': #bdfdff, + 'accent-2': #8afbff, + 'accent-3': #57faff, + 'accent-4': #3df9ff +); +$secondary-color: ( + 'lighten-5': lighten(theme-color('secondary'), 25%), + 'lighten-4': lighten(theme-color('secondary'), 20%), + 'lighten-3': lighten(theme-color('secondary'), 15%), + 'lighten-2': lighten(theme-color('secondary'), 10%), + 'lighten-1': lighten(theme-color('secondary'), 5%), + 'base': theme-color('secondary'), + 'darken-1': darken(theme-color('secondary'), 5%), + 'darken-2': darken(theme-color('secondary'), 10%), + 'darken-3': darken(theme-color('secondary'), 15%), + 'darken-4': darken(theme-color('secondary'), 20%) +); +$success-color: ( + 'lighten-5': lighten(theme-color('success'), 25%), + 'lighten-4': lighten(theme-color('success'), 20%), + 'lighten-3': lighten(theme-color('success'), 15%), + 'lighten-2': lighten(theme-color('success'), 10%), + 'lighten-1': lighten(theme-color('success'), 5%), + 'base': theme-color('success'), + 'darken-1': darken(theme-color('success'), 5%), + 'darken-2': darken(theme-color('success'), 10%), + 'darken-3': darken(theme-color('success'), 15%), + 'darken-4': darken(theme-color('success'), 20%), + 'accent-1': #e1fff1, + 'accent-2': #aeffd9, + 'accent-3': #7bffc1, + 'accent-4': #62ffb5 +); +$info-color: ( + 'lighten-5': lighten(theme-color('info'), 25%), + 'lighten-4': lighten(theme-color('info'), 20%), + 'lighten-3': lighten(theme-color('info'), 15%), + 'lighten-2': lighten(theme-color('info'), 10%), + 'lighten-1': lighten(theme-color('info'), 5%), + 'base': theme-color('info'), + 'darken-1': darken(theme-color('info'), 5%), + 'darken-2': darken(theme-color('info'), 10%), + 'darken-3': darken(theme-color('info'), 15%), + 'darken-4': darken(theme-color('info'), 20%), + 'accent-1': #feffff, + 'accent-2': #cbf5ff, + 'accent-3': #98ecff, + 'accent-4': #7fe7ff +); +$warning-color: ( + 'lighten-5': lighten(theme-color('warning'), 25%), + 'lighten-4': lighten(theme-color('warning'), 20%), + 'lighten-3': lighten(theme-color('warning'), 15%), + 'lighten-2': lighten(theme-color('warning'), 10%), + 'lighten-1': lighten(theme-color('warning'), 5%), + 'base': theme-color('warning'), + 'darken-1': darken(theme-color('warning'), 5%), + 'darken-2': darken(theme-color('warning'), 10%), + 'darken-3': darken(theme-color('warning'), 15%), + 'darken-4': darken(theme-color('warning'), 20%), + 'accent-1': #fff5ef, + 'accent-2': #ffe5d8, + 'accent-3': #fff6f3, + 'accent-4': #ffe3da +); +$danger-color: ( + 'lighten-5': lighten(theme-color('danger'), 25%), + 'lighten-4': lighten(theme-color('danger'), 20%), + 'lighten-3': lighten(theme-color('danger'), 15%), + 'lighten-2': lighten(theme-color('danger'), 10%), + 'lighten-1': lighten(theme-color('danger'), 5%), + 'base': theme-color('danger'), + 'darken-1': darken(theme-color('danger'), 5%), + 'darken-2': darken(theme-color('danger'), 10%), + 'darken-3': darken(theme-color('danger'), 15%), + 'darken-4': darken(theme-color('danger'), 20%), + 'accent-1': #ffeef1, + 'accent-2': #ffd6db, + 'accent-3': #ffecee, + 'accent-4': #ffd3d7 +); + +$colors: ( + 'white': $white-color, + 'black': $black-color, + 'dark': $dark-color, + 'light': $light-color, + 'primary': $primary-color, + 'secondary': $secondary-color, + 'success': $success-color, + 'info': $info-color, + 'warning': $warning-color, + 'danger': $danger-color +); diff --git a/src/@core/scss/base/core/layouts/_content.scss b/src/@core/scss/base/core/layouts/_content.scss new file mode 100644 index 0000000..6e1bdde --- /dev/null +++ b/src/@core/scss/base/core/layouts/_content.scss @@ -0,0 +1,474 @@ +// ================================================================================================ +// File Name: content.scss +// Description: Page content level SCSS for different screen size, layout and device. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Authuseror URL: http://www.themeforest.net//pixinvent +// ================================================================================================ + +// Contest margin left for expanded & collapsed stats width & margin left +// ================================================================================================ + +@import '../mixins/main-menu-mixin'; + +html { + font-size: $base-font-size; + height: 100%; + letter-spacing: 0.01rem; + body { + height: 100%; + background-color: $body-bg; + direction: $body-direction; + // paragraph line-height + p { + line-height: 1.5rem; + } + } + .content { + padding: 0; + position: relative; + transition: 300ms ease all; + backface-visibility: hidden; + min-height: calc(100% - #{$footer-height}); + margin-left: $menu-expanded-width; + &.app-content { + padding: calc(#{$content-padding} + #{$navbar-height} + #{$floating-nav-margin}) #{$content-padding} 0; + &.show-overlay { + .content-overlay { + z-index: 10; + opacity: 1; + ~ .header-navbar-shadow { + display: none; + } + } + } + .content-overlay { + position: fixed; + opacity: 0; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba($black, 0.5); + cursor: pointer; + transition: all 0.7s, z-index 0s; + z-index: -1; + } + .content-area-wrapper { + display: flex; + position: relative; + overflow: hidden; // Required in apps + .content-wrapper, + .content-body { + height: 100%; + } + } + } + .body-content-overlay { + top: 0; + left: 0; + right: 0; + bottom: 0; + position: absolute; + display: block; + z-index: 4; + visibility: hidden; + opacity: 0; + transition: all 0.3s ease; + &.show { + visibility: visible; + transition: all 0.3s ease; + opacity: 1; + background-color: rgba($black, 0.2); + border-radius: $border-radius/2; + } + } + .content-wrapper { + .content-header-title { + font-weight: 500; + color: $gray-400; + padding-right: $spacer; + border-right: 1px solid lighten($gray-600, 10%); + } + .content-header-right { + .dropdown-toggle { + &::after { + display: none; + } + i, + svg { + margin-right: 0; + } + } + .btn-icon { + padding: 0.8rem; + i, + svg { + height: $font-size-base; + width: $font-size-base; + } + } + } + } + } + + // kanban app uses kanban-wrapper class as not having content-layout so added this class with all the options + // For floating navbar + .navbar-floating { + &.footer-static { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + #{$floating-nav-margin} + ); + } + } + } + &.footer-hidden { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + 0rem, + #{$floating-nav-margin}, + 0rem, + 2 + ); + } + } + } + &.footer-fixed { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + #{$floating-nav-margin}, + 0rem, + 2 + ); + } + } + } + } + + //for navbar hidden + .navbar-hidden { + .app-content { + padding: #{$content-padding} #{$content-padding} 0 #{$content-padding} !important; + } + &.footer-static { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height(#{$content-padding}, 0rem, #{$footer-height}); + } + } + } + &.footer-hidden { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height(#{$content-padding}, 0rem, 0rem, 0rem, 0rem, 2); + } + } + } + &.footer-fixed { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height(#{$content-padding}, 0rem, #{$footer-height}, 0rem, 0rem, 2); + } + } + } + } + + // for static navbar + .navbar-static { + .main-menu { + top: 0; + } + .content { + min-height: calc(100% - calc(#{$navbar-height} + #{$footer-height})); + } + .app-content { + padding: #{$content-padding} #{$content-padding} 0 #{$content-padding}; + } + &.footer-static { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height(#{$content-padding}, #{$navbar-height}, #{$footer-height}); + } + } + } + &.footer-hidden { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height(#{$content-padding}, #{$navbar-height}, 0rem, 0rem, 0rem, 2); + } + } + } + &.footer-fixed { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + 0rem, + 0rem, + 2 + ); + } + } + } + } + + // for sticky navbar + .navbar-sticky { + .app-content { + padding: calc(#{$content-padding} + #{$navbar-height}) #{$content-padding} 0 #{$content-padding}; + } + &.footer-static { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height(#{$content-padding}, #{$navbar-height}, #{$footer-height}); + } + } + } + &.footer-hidden { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height(#{$content-padding}, #{$navbar-height}, 0rem, 0rem, 0rem, 2); + } + } + } + &.footer-fixed { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + 0rem, + 0rem, + 2 + ); + } + } + } + } + + // navbar search width for sticky and static navbar + .navbar-static, + .navbar-sticky { + .nav.header-navbar { + .navbar-container { + padding-left: 1.6rem; + padding-right: 1.6rem; + .search-input { + .search-list { + &.show { + width: 98%; + left: 1%; + } + } + } + } + } + } + + // Fixed layout + .footer-fixed { + .content { + &.app-content { + padding-bottom: $footer-height !important; // ? Added extra padding bottom due to fixed footer height + } + } + } + + //Remove left margin for 1 column layout + [data-col='1-column'] { + .header-navbar { + // Custom width for floating nav + &.floating-nav { + width: calc( + 100vw - (100vw - 100%) - calc(#{$content-padding} * 2) + ) !important; // ? override all navbar type width + } + width: 100%; // Full width for other nav options + left: 0 !important; + } + .content, + .footer { + margin-left: 0px !important; + } + + // horizontal layout + &.horizontal-layout { + .header-navbar { + width: 100% !important; + } + .app-content { + padding: calc(#{$content-padding} + #{$navbar-height} + #{$floating-nav-margin}) #{$content-padding} 0 #{$content-padding} !important; // ? need to check all navbar types case + } + &.footer-fixed { + .app-content { + padding: calc(#{$content-padding} + #{$navbar-height} + #{$floating-nav-margin}) #{$content-padding} #{$footer-height} + #{$content-padding} !important; // ? need to check all navbar types case + } + } + } + } + + /* + * Blank page + */ + + .blank-page { + .content { + margin-left: 0; // not using in both cases + // overflow-x hidden, overflow for y in sm screen issue resolved default + &.app-content { + overflow: overlay; + overflow-x: hidden; + padding: 0 !important; + transition: none; + // remove white space on top by header-navbar-shadow class + .header-navbar-shadow { + display: none; + } + } + } + // blank page content-wrapper + .content-wrapper { + padding: 0 !important; + // content to be in center horizontally and vertically + .flexbox-container { + display: flex; + align-items: center; + height: 100vh; + height: calc(var(--vh, 1vh) * 100); + justify-content: center; + } + } + } + + .pace { + .pace-progress { + background: $primary; + } + } +} + +.app-content.center-layout { + overflow: hidden; +} + +/* +* Col 3 layout for detached and general type +*/ + +@include media-breakpoint-up(lg) { + body { + // Normal sidebar + .content-right { + width: calc(100vw - (100vw - 100%) - #{$sidebar-width}); + float: right; + } + .content-left { + width: calc(100vw - (100vw - 100%) - #{$sidebar-width}); + float: left; + } + // Detached sidebar + .content-detached { + width: 100%; + &.content-right { + float: right; + margin-left: -$sidebar-width; + .content-body { + margin-left: calc(#{$sidebar-width} + #{$content-padding}); + } + } + &.content-left { + float: left; + margin-right: -$sidebar-width; + .content-body { + margin-right: calc(#{$sidebar-width} + #{$content-padding}); + } + } + } + } + .sidebar-right.sidebar-sticky { + float: right !important; + margin-left: -$sidebar-width; + width: $sidebar-width !important; + margin-top: $navbar-height + 1.25; + } +} + +@include media-breakpoint-down(xs) { + html body .app-content { + padding: calc(#{$content-padding} - 0.8rem + #{$navbar-height} + #{$floating-nav-margin}) + calc(#{$content-padding} - 0.8rem) 0 calc(#{$content-padding} - 0.8rem) !important; // - 0.8rem to reduce padding in small screen + } + + // For static navbar + html body.navbar-static .app-content { + padding: calc(#{$content-padding} - 0.8rem) calc(#{$content-padding} - 0.8rem) 0 calc(#{$content-padding} - 0.8rem) !important; // - 0.8rem to reduce padding in small screen + } + + // For sticky navbar + html body.navbar-sticky .app-content { + padding: calc(#{$content-padding} - 0.8rem + #{$navbar-height}) calc(#{$content-padding} - 0.8rem) 0 + calc(#{$content-padding} - 0.8rem) !important; // - 0.8rem to reduce padding in small screen + } + + // For Hidden navbar + html body.navbar-hidden .app-content { + padding: calc(#{$content-padding} - 0.8rem) calc(#{$content-padding} - 0.8rem) 0 calc(#{$content-padding} - 0.8rem) !important; // - 0.8rem to reduce padding in small screen + } +} + +@include media-breakpoint-down(xs) { + .navbar-static, + .navbar-sticky { + .app-content { + .header-navbar { + .navbar-container { + padding-left: 1rem; + padding-right: 0.5rem; + } + } + } + } +} + +// For Fullscreen IE +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + html.full-screen { + width: 100%; + .content.app-content { + height: 100%; + overflow: scroll; + overflow-x: hidden; + } + } +} diff --git a/src/@core/scss/base/core/layouts/_footer.scss b/src/@core/scss/base/core/layouts/_footer.scss new file mode 100644 index 0000000..68d77a7 --- /dev/null +++ b/src/@core/scss/base/core/layouts/_footer.scss @@ -0,0 +1,78 @@ +// ================================================================================================ +// File Name: Footer.scss +// Description: * Main footer styles. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Stick footer to the bottom of the page +footer { + &.footer { + padding: 0.8rem $content-padding; + min-height: $footer-height; + transition: 300ms ease all; + + // heart icon scss + span { + i, + svg { + height: 1.51rem; + width: 1.51rem; + font-size: 1.51rem; + margin-left: 0.5rem; + color: $danger; + } + } + .scroll-top { + padding: 0.81rem 0.83rem; + } + } + + //shadow & border options + &.footer-shadow { + box-shadow: $box-shadow; + } + &.footer-border { + border-top: 1px solid $border-color; + } +} + +// Fixed Footer +.footer-fixed { + footer { + position: fixed !important; + z-index: 1030; + right: 0; + left: 0; + bottom: 0; + + // Footer Light + &.footer-light { + background: $white; + box-shadow: $box-shadow; + } + // Footer Dark + &.footer-dark { + background: $gray-600; + color: $white; + } + } +} + +//! Fix: If footer is hidden add padding fix to avail card margin bottom +.footer-hidden { + .app-content { + padding-bottom: 0.1px !important; + } +} + +// scroll to Top Footer Button +.scroll-top { + position: fixed; + bottom: 5%; + right: 30px; + display: none; + z-index: 99; +} diff --git a/src/@core/scss/base/core/layouts/_sidebar.scss b/src/@core/scss/base/core/layouts/_sidebar.scss new file mode 100644 index 0000000..d29384b --- /dev/null +++ b/src/@core/scss/base/core/layouts/_sidebar.scss @@ -0,0 +1,79 @@ +/*========================================================================================= + File Name: sidebar.scss + Description: content sidebar specific scss. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +// Sidebar base +// ------------------------------ + +// Base +.sidebar { + position: relative; + width: 100%; + height: 100%; + + // For desktop only + @include media-breakpoint-up(lg) { + vertical-align: top; + } +} +.sidebar-fixed { + position: fixed; + height: 100%; + overflow: scroll; +} + +.sidenav-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + height: 120vh; + background-color: rgba($black, 0.5); + z-index: 997; + display: block; + visibility: hidden; + opacity: 0; + transition: all 0.5s ease; + &.show { + opacity: 1; + visibility: visible; + transition: all 0.5s ease; + } +} + +.drag-target { + height: 100%; + width: 40px; + position: fixed; + top: 0; + left: -10px; + z-index: 1036; +} + +.sidebar-detached{ + .sidebar{ + width: $sidebar-width; + } +} + +@include media-breakpoint-up(lg) { + .sidebar-left { + float: left; + } + .sidebar-right { + float: right; + } +} + +@include media-breakpoint-down(md) { + .sidebar-detached{ + .sidebar{ + width: 100%; + } + } +} diff --git a/src/@core/scss/base/core/menu/_navigation.scss b/src/@core/scss/base/core/menu/_navigation.scss new file mode 100644 index 0000000..0ea30c3 --- /dev/null +++ b/src/@core/scss/base/core/menu/_navigation.scss @@ -0,0 +1,206 @@ +/*========================================================================================= + File Name: navigation.scss + Description: Common mixin for menus, contain dark and light version scss. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +// Import first main menu mixin +@import '../mixins/main-menu-mixin'; + +// Main menu base +//============== +.main-menu { + z-index: 1031; + position: absolute; + display: table-cell; + height: 100%; + overflow: hidden; + + &.menu-light { + @include menu-theme($body-color, $white); + } + + &.menu-dark { + @include menu-theme($menu-dark-color, $menu-dark-bg-color); + } + + &.menu-fixed { + position: fixed; + } + &.menu-static { + height: 100%; + padding-bottom: calc(100% - 20rem); + .main-menu-content { + height: unset !important; + } + } + + &.menu-shadow { + box-shadow: 0 0 15px 0 rgba($black, 0.05); + } + + &.menu-border { + border-right: 1px solid $border-color; + } + + // menu scroll shadow + .shadow-bottom { + display: none; + position: absolute; + z-index: 2; + height: 50px; + width: 100%; + pointer-events: none; + margin-top: -0.7rem; + filter: blur(5px); + background: linear-gradient(#fff 41%, hsla(0, 0%, 100%, 0.11) 95%, hsla(0, 0%, 100%, 0)); + .bordered-layout & { + background: linear-gradient($body-bg 41%, hsla(0, 0%, 100%, 0.11) 95%, hsla(0, 0%, 100%, 0)); + } + } + + // Native Scrollbar (.menu-native-scroll) + &.menu-native-scroll { + .main-menu-content { + overflow-y: scroll !important; + } + } + + .navbar-header { + height: 100%; + width: $menu-expanded-width; + height: $navbar-height; + position: relative; + padding: 0.35rem 1rem 0.3rem 1.64rem; + transition: 300ms ease all, background 0s; + .navbar-brand { + display: flex; + align-items: center; + margin-top: 1.35rem; + font-size: inherit; + .brand-logo img { + max-width: 36px; + } + .brand-text { + color: $primary; + padding-left: 1rem; + margin-bottom: 0; + font-weight: 600; + letter-spacing: 0.01rem; + font-size: 1.45rem; + animation: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) 0s normal forwards 1 fadein; + } + } + .modern-nav-toggle { + animation: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) 0s normal forwards 1 fadein; + } + } + + .main-menu-content { + height: calc(100% - #{$navbar-height}) !important; + position: relative; + .ps__rail-y { + z-index: 3; + } + } + + ul { + list-style: none; + margin: 0; + padding: 0; + + &.navigation-main { + overflow-x: hidden; + padding-bottom: .75rem; + > li:first-child { + margin-top: 0.5rem; + } + } + } + + a { + outline: none; + + &:hover, + &:focus { + text-decoration: none; + } + } +} + +// Main Navigation +.navigation { + font-size: 1.1rem; + font-family: $font-family-monospace; + font-weight: 400; + overflow-y: hidden; + padding-bottom: 20px; + + .navigation-header { + font-family: $font-family-monospace; + font-weight: $headings-font-weight; + line-height: $headings-line-height; + padding: 12px 22px; + font-size: 0.9rem; + text-transform: uppercase; + } + + li { + position: relative; + white-space: nowrap; + + a { + display: block; + text-overflow: ellipsis; + overflow: hidden; + i, + svg { + height: 11px; + width: 11px; + font-size: 11px; + margin-right: 1.38rem; + } + } + + &.menu-item-animating { + transition: height 0.25s ease-in-out; + } + + &.disabled { + a { + cursor: not-allowed; + opacity: 0.65; + pointer-events: none; + } + } + } +} + +// Media queries for small screen devices +// ========================================= +@include media-breakpoint-down(sm) { + // menu hide/open animation + .menu-hide .main-menu, + .menu-open .main-menu { + transition: transform 0.25s, top 0.35s, height 0.35s; + } + + .main-menu { + transform: translate3d(-240px, 0, 0); + backface-visibility: hidden; + perspective: 1000; + } + + .menu-open .main-menu { + transform: translate3d(0, 0, 0); + } +} + +@include media-breakpoint-up(md) { + .drag-target { + z-index: 0; + } +} diff --git a/src/@core/scss/base/core/menu/menu-types/horizontal-menu.scss b/src/@core/scss/base/core/menu/menu-types/horizontal-menu.scss new file mode 100644 index 0000000..a52a7fd --- /dev/null +++ b/src/@core/scss/base/core/menu/menu-types/horizontal-menu.scss @@ -0,0 +1,589 @@ +/*========================================================================================= + File Name: horizontal-menu.scss + Description: A classic horizontal menu for easy navigation & support all devices. + It support light & dark version, flipped layout, right side icons, borders menu for + item separation. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard TemplateTheme + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +@import '../../../bootstrap-extended/include'; // Bootstrap includes +@import '../../../components/include'; // Components includes + +// Import first main menu mixin +@import '../../mixins/main-menu-mixin'; + +// Horizontal Menu +//========================= +.horizontal-menu { + // Content Area margin + .content { + margin-left: 0; + &.show-overlay { + .content-overlay { + z-index: 998 !important; + } + } + } + + // Navbar container spacing for all + .navbar.header-navbar { + .navbar-container { + padding: 0.8rem #{$content-padding}; + } + } + + .horizontal-menu-wrapper { + .header-navbar { + min-height: $horizontal-menu-height; + } + } + + footer { + position: static; + } + + //---------------// + // Navbar Header // + //---------------// + .horizontal-menu-wrapper { + position: fixed; + top: 62px; + z-index: 990; + width: 100%; + + .header-navbar { + .navbar-container { + padding: 0 1rem; + width: 100%; + } + .navbar-header { + display: none; + } + } + } + .header-navbar { + background: $white; + z-index: 999 !important; + line-height: 1; + min-height: auto; + // Navbar- Brand Center - Logo + &.navbar-horizontal.floating-nav { + width: calc(100vw - (100vw - 100%) - calc(#{$content-padding} * 2)); + background: $white; + } + .navbar-container { + border-radius: $border-radius; + } + &.navbar-fixed { + position: fixed; + width: 100%; + } + &.navbar-brand-center { + .navbar-header { + position: absolute; + left: calc(50% - 56px); // left 50% - branding width + padding: 0; + z-index: 1000; + .navbar-brand { + display: flex; + align-items: center; + margin-right: 0; + font-size: inherit; + .brand-logo img { + max-width: 170px; + } + + // Brand Text Scss + .brand-text { + color: $primary; + padding-left: 1rem; + margin-bottom: 0; + font-weight: 600; + letter-spacing: 0.01rem; + font-size: 1.45rem; + } + } + } + } + + &.navbar-horizontal { + .nav-link { + &.dropdown-toggle { + &::after { + left: 0.4rem; + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $body-color), '#', '%23')); + } + } + } + .sidebar-group-active { + .dropdown-toggle { + &::after { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $white), '#', '%23')); + } + } + } + .dropdown-menu::before { + display: none; + } + .dropdown-menu { + min-width: 215px; + border: none; + margin-top: 0; + min-height: 52px; + .disabled { + pointer-events: none !important; + a { + color: $gray-600; + } + } + .dropdown-toggle::after { + left: auto; + position: absolute; + top: 50%; + margin-top: -7px; + right: 1rem; + // content: '\e844' !important; + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $body-color), '#', '%23')); + } + .dropdown-item { + font-size: 1rem; + padding-top: 0.68rem; + padding-bottom: 0.68rem; + display: flex; + align-items: center; + } + .dropdown-submenu { + position: relative; + + &.openLeft { + .dropdown-menu { + left: auto !important; + right: 100% !important; + } + } + + &.sidebar-group-active { + background: $body-bg; + } + + & > .dropdown-menu { + position: absolute; + top: 0 !important; + left: 100% !important; + i, + svg { + height: 11px !important; + width: 11px !important; + font-size: 11px !important; + } + } + } + } + ul#main-menu-navigation > li { + padding-top: 0.857rem; + padding-bottom: 0.857rem; + + > .dropdown-menu { + a { + & > * { + transition: all 0.2s ease; + } + &:hover { + background-color: transparent; + color: $body-color; + & > * { + transform: translateX(5px); + transition: transform 0.2s ease; + } + } + } + .active > a { + background: $body-bg; + color: $primary; + font-weight: 500; + } + .open { + &.active { + > a { + color: $body-color; + font-weight: normal; + } + } + } + } + i, + svg { + margin-right: 0.5rem; + height: 17px; + width: 17px; + font-size: 1.2rem; + } + > a { + padding: 0.715rem 1.25rem; + display: flex; + margin-right: 0.715rem; + } + &:hover { + > a { + background: $body-bg; + border-radius: 4px; + } + } + &.active { + > a { + background: linear-gradient(118deg, rgba($primary, 1), rgba($primary, 0.7)); + box-shadow: 0px 0px 6px 1px rgba($primary, 0.6); + color: $white; + border-radius: 4px; + } + } + } + } + } + + .navigation-header { + font-family: inherit; + color: #929292; + padding: 8px 20px; + font-size: 1rem; + text-transform: uppercase; + } + + .navbar-dark { + .nav-item { + &.active > a { + border-bottom: 2px solid $primary; + background-color: #313c50; + } + } + } +} + +.horizontal-layout { + // navbar floating + &.navbar-floating { + // Horizontal layout navbar shadow position and height fix + .header-navbar-shadow { + height: 80px; + } + @include media-breakpoint-up(xl) { + .header-navbar-shadow { + top: 45px; + } + } + &:not(.blank-page) { + .app-content { + // padding-top: 9.75rem; + padding: calc(#{$content-padding} + #{$navbar-height}* 2 + #{$floating-nav-margin}) #{$content-padding} 0 #{$content-padding}; // * 2 as we have 2 navbar (menu + navbar) in horizontal layout. + } + } + .horizontal-menu-wrapper { + background: linear-gradient( + to bottom, + rgba(248, 248, 248, 0.95) 44%, + rgba(248, 248, 248, 0.46) 73%, + rgba($white, 0) 100% + ); + background-repeat: repeat-x; + .navbar-horizontal.floating-nav { + margin: $floating-nav-margin $content-padding 0; + } + } + + // App content area wrapper height + &.footer-static { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + #{$floating-nav-margin}, + #{$horizontal-menu-height}, + 1, + $horizontalLayout: true + ); + } + } + } + &.footer-hidden { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + 0rem, + #{$floating-nav-margin}, + #{$horizontal-menu-height}, + 2, + $horizontalLayout: true + ); + } + } + } + &.footer-fixed { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + #{$floating-nav-margin}, + #{$horizontal-menu-height}, + 2, + $horizontalLayout: true + ); + } + } + } + } + + // navbar sticky + &.navbar-sticky { + .app-content { + padding: calc(#{$content-padding} + #{$navbar-height}* 2) #{$content-padding} 0 #{$content-padding}; + } + .header-navbar { + background-color: $body-bg; + box-shadow: none; + } + .horizontal-menu-wrapper { + .navbar-horizontal.header-navbar.fixed-top { + left: 0; + top: 62px; + background-color: $white; + box-shadow: 0 4px 24px 0 rgba($black, 0.1); + } + } + + // App content area wrapper height + &.footer-static { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + 0rem, + #{$horizontal-menu-height}, + 1, + $horizontalLayout: true + ); + } + } + } + &.footer-hidden { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + 0rem, + 0rem, + #{$horizontal-menu-height}, + 2, + $horizontalLayout: true + ); + } + } + } + &.footer-fixed { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + 0rem, + #{$horizontal-menu-height}, + 2, + $horizontalLayout: true + ); + } + } + } + } + // navbar static + &.navbar-static { + .app-content { + padding: calc(#{$content-padding} + #{$horizontal-menu-height}) #{$content-padding} 0 #{$content-padding}; + } + .content { + min-height: calc(100% - calc(#{$horizontal-menu-height} + calc(#{$footer-height} + 0.2rem))); + } + .header-navbar { + background-color: $body-bg; + box-shadow: none; + } + .horizontal-menu-wrapper { + position: relative; + .navbar-horizontal.header-navbar { + background: $white; + // ? Added for angular fix as it adds this class to navbar in hz layout + &.navbar-static-top { + left: 0; + width: 100%; + } + } + } + // App content area wrapper height + &.footer-static { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + calc(#{$footer-height} + 0.2rem), + 0rem, + #{$horizontal-menu-height}, + 1, + $horizontalLayout: true + ); + } + } + } + &.footer-hidden { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + 0rem, + 0rem, + #{$horizontal-menu-height}, + 2, + $horizontalLayout: true + ); + } + } + } + &.footer-fixed { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + #{$navbar-height}, + #{$footer-height}, + 0rem, + #{$horizontal-menu-height}, + 2, + $horizontalLayout: true + ); + } + } + } + } + + // navbar Hidden + &.navbar-hidden { + &.footer-static { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + 0rem, + #{$footer-height}, + 0rem, + #{$horizontal-menu-height}, + 1, + $horizontalLayout: true + ); + } + } + } + &.footer-hidden { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + 0rem, + 0rem, + 0rem, + #{$horizontal-menu-height}, + 2, + $horizontalLayout: true + ); + } + } + } + &.footer-fixed { + .app-content { + .content-area-wrapper, + .kanban-wrapper { + @include content-area-wrapper-height( + #{$content-padding}, + 0rem, + #{$footer-height}, + 0rem, + #{$horizontal-menu-height}, + 2, + $horizontalLayout: true + ); + } + } + } + } + + &.vertical-overlay-menu { + #main-menu-navigation { + > li { + > ul { + > li { + > a { + i, + svg { + height: 1rem; + width: 1rem; + font-size: 1rem; + } + } + } + } + } + } + } +} + +// Initially menu & content width for md and down screen +@include media-breakpoint-down(lg) { + .horizontal-layout { + &.horizontal-menu { + .horizontal-menu-wrapper { + .header-navbar { + display: none; + } + } + } + .header-navbar { + background: $white; + } + .app-content { + padding: calc(#{$navbar-height} + calc(#{$content-padding} - 0.8rem)) calc(#{$content-padding} - 0.8rem) 0 + calc(#{$content-padding} - 0.8rem) !important; + } + } +} + +@include media-breakpoint-down(xs) { + // For static navbar + html body.horizontal-layout.navbar-static .app-content { + padding: calc(#{$content-padding} - 0.8rem + #{$navbar-height}) calc(#{$content-padding} - 0.8rem) 0 + calc(#{$content-padding} - 0.8rem) !important; // - 0.8rem to reduce padding in small screen + } +} +// Import vertical-overlay-menu.scss for small screen support +@import 'vertical-overlay-menu.scss'; diff --git a/src/@core/scss/base/core/menu/menu-types/vertical-menu.scss b/src/@core/scss/base/core/menu/menu-types/vertical-menu.scss new file mode 100644 index 0000000..92374a2 --- /dev/null +++ b/src/@core/scss/base/core/menu/menu-types/vertical-menu.scss @@ -0,0 +1,295 @@ +/*========================================================================================= + File Name: vertical-menu.scss + Description: A classic vertical modern style menu with expand and collops support. It support + light & dark version, flipped layout, right side icons, native scroll and borders menu + item separation. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +@import '../../../bootstrap-extended/include'; // Bootstrap includes +@import '../../../components/include'; // Components includes + +// Import first main menu mixin +@import '../../mixins/main-menu-mixin'; + +// Vertical menu +//========================= +.vertical-layout { + &.vertical-menu-modern { + .main-menu { + transition: 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background 0s; + transform: translate3d(0, 0, 0); + backface-visibility: hidden; + .navigation { + li a { + align-items: center; + } + > li > a svg, + > li > a i { + height: 20px; + width: 20px; + font-size: 1.45rem; + margin-right: 1.1rem; + flex-shrink: 0; + } + // Sub-menu icon size + .menu-content { + > li > a svg, + > li > a i { + margin-right: 1.45rem; + font-size: 11px; + height: 11px; + width: 11px; + } + } + } + } + + //Vertical menu [Expanded] + &.menu-expanded { + // Main menu expanded + .main-menu { + width: $menu-expanded-width; + .navigation { + .navigation-header { + .feather-more-horizontal { + display: none; + } + } + > li { + > a { + > i, + > svg { + &:before { + height: 20px; + width: 20px; + font-size: 1.45rem; + } + } + } + } + li { + @include vertical-menu-has-sub-arrow($font-size-base + 0.1); + } + } + } + //Content expanded + .footer { + @include main-menu-width($menu-expanded-width); + } + } + //Vertical menu [Collapsed] + &.menu-collapsed { + //Navbar collapsed + .navbar { + .navbar-header { + @include menu-navbar-width($menu-collapsed-width); + .modern-nav-toggle { + display: none; + } + &.expanded { + width: $menu-expanded-width; + z-index: 1000; + .modern-nav-toggle { + display: block; + } + } + } + // fixed-top navbar when menu-collapsed + &.fixed-top { + left: $menu-collapsed-width; + } + } + // Main menu collapsed + .main-menu { + width: $menu-collapsed-width; + + .navbar-header .brand-text, + .modern-nav-toggle { + display: none; + } + + // When menu is collapsed and mouse is not hovered over menu + &:not(.expanded) { + .navigation-header { + margin-left: 2.2rem; + span { + display: none; + } + .feather-more-horizontal { + display: block; + font-size: 1.285rem; + width: 18px; + height: 18px; + } + } + .navigation li { + &:last-child { + margin-bottom: 1.25rem !important; + } + &.active { + a { + background: whitesmoke; + box-shadow: none; + color: #565656; + } + } + } + } + + // When menu is collapsed but mouse is hovered over menu + &.expanded { + width: $menu-expanded-width; + .navigation { + > li.navigation-header { + span { + display: block; + } + .feather-more-horizontal { + display: none; + } + } + li { + @include vertical-menu-has-sub-arrow(1rem); + } + } + .navbar-header .brand-text { + display: inline; + } + .modern-nav-toggle { + display: block; + } + } + + //Navigation collapsed + .navigation { + overflow: visible; + > li.navigation-header { + span { + display: none; + } + } + > li { + > a { + text-overflow: inherit; + } + } + } + } + //Brand center content collapsed + .app-content, + .footer { + @include main-menu-width($menu-collapsed-width); + } + .header-navbar { + // Floating-navbar + &.floating-nav { + width: calc(100vw - (100vw - 100%) - 4.4rem - 74px); + } + // Navbar-static-top + &.navbar-static-top { + width: calc(100vw - (100vw - 100%) - 74px); + left: 74px; + } + } + } + + .toggle-icon, + .collapse-toggle-icon { + margin-right: 0.425rem; + &:focus { + outline: none; + } + } + } +} + +// Initially menu & content width for lg and up screen +@include media-breakpoint-up(lg) { + .vertical-layout { + &.vertical-menu-modern { + .main-menu { + width: $menu-expanded-width; + } + } + } +} + +// Initially menu & content width for md and down screen +@include media-breakpoint-down(lg) { + .vertical-layout { + &.vertical-menu-modern { + // not using this class in below < 992 + .main-menu { + width: 0; + } + .navbar { + .navbar-header { + width: 0; + } + } + .content, + .footer { + @include main-menu-width(0); + } + &.menu-collapsed { + .app-content, + .footer { + margin-left: 0; + } + .main-menu { + width: 0; + } + } + } + } +} + +// Initially menu & content width for sm and down screen +@include media-breakpoint-down(sm) { + .vertical-layout { + &.vertical-menu-modern { + // not using this class <992 + .main-menu { + width: 0; + } + .navbar { + .navbar-header { + width: 0; + } + } + .content, + .footer { + @include main-menu-width(0); + } + } + } +} + +@keyframes fadein { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fadeout { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +// IE Specific CSS +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .vertical-menu-modern.vertical-layout .main-menu .navigation > li > a > span { + animation: none; + } +} +// Import vertical-overlay-menu.scss for small screen support +@import 'vertical-overlay-menu.scss'; diff --git a/src/@core/scss/base/core/menu/menu-types/vertical-overlay-menu.scss b/src/@core/scss/base/core/menu/menu-types/vertical-overlay-menu.scss new file mode 100644 index 0000000..bd0134c --- /dev/null +++ b/src/@core/scss/base/core/menu/menu-types/vertical-overlay-menu.scss @@ -0,0 +1,79 @@ +/*========================================================================================= + File Name: vertical-overlay-menu.scss + Description: A overlay style vertical menu with show and hide support. It support + light & dark version, filpped layout, right side icons, native scroll and borders menu + item seperation. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +@import '../../../bootstrap-extended/include'; // Bootstrap includes +@import '../../../components/include'; // Components includes + +// Import first main menu mixin +@import '../../mixins/main-menu-mixin'; + +// Vertical Overlay Menu +//========================= +.vertical-overlay-menu { + //Content expanded + .content { + @include main-menu-width(0); + } + //Navbar expanded + .navbar { + .navbar-header { + @include menu-navbar-width($menu-expanded-width); + } + } + // Main menu expanded + .main-menu { + opacity: 0; + transform: translate3d(0, 0, 0); + transition: width 0.25s, opacity 0.25s, transform 0.25s; + width: $menu-expanded-width; + left: -($menu-expanded-width); + + .navigation { + > li { + > a { + > svg, + > i { + margin-right: 14px; + float: left; + transition: 200ms ease all; + height: 20px; + width: 20px; + &:before { + transition: 200ms ease all; + font-size: 1.429rem; + } + } + } + } + li { + @include vertical-menu-has-sub-arrow(1rem); + } + + .navigation-header { + .feather-more-horizontal { + display: none; + } + } + } + } + &.menu-open { + .main-menu { + opacity: 1; + transform: translate3d($menu-expanded-width, 0, 0); + transition: width 0.25s, opacity 0.25s, transform 0.25s; + } + } + &.menu-hide { + .main-menu { + @extend .main-menu; + } + } +} diff --git a/src/@core/scss/base/core/mixins/alert.scss b/src/@core/scss/base/core/mixins/alert.scss new file mode 100644 index 0000000..6e2332e --- /dev/null +++ b/src/@core/scss/base/core/mixins/alert.scss @@ -0,0 +1,5 @@ +// For alert's heading box-shadow + +@mixin alert-heading-bs($color) { + box-shadow: rgba($color, 0.4) 0px 6px 15px -7px; +} diff --git a/src/@core/scss/base/core/mixins/hex2rgb.scss b/src/@core/scss/base/core/mixins/hex2rgb.scss new file mode 100644 index 0000000..9fdddf0 --- /dev/null +++ b/src/@core/scss/base/core/mixins/hex2rgb.scss @@ -0,0 +1,4 @@ +@mixin bg-opacity($color, $opacity: 1) { + background: $color; /* The Fallback */ + background: rgba($color, $opacity); +} diff --git a/src/@core/scss/base/core/mixins/main-menu-mixin.scss b/src/@core/scss/base/core/mixins/main-menu-mixin.scss new file mode 100644 index 0000000..6e1df8c --- /dev/null +++ b/src/@core/scss/base/core/mixins/main-menu-mixin.scss @@ -0,0 +1,359 @@ +// ========================================================================================= +// File Name: main-menu-mixin.scss +// Description: Common mixin for menus, contain dark and light version scss. +// ---------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +//========================================================================================== + +// Header navbar content and brand expanded & collapsed stats +// spacing and sizing. +// ================================================ + +// Mixins for the menu and navbar position, margin and width change +@mixin main-menu-width($menu-width) { + margin-left: $menu-width; +} +@mixin menu-navbar-width($menu-width) { + float: left; + width: $menu-width; +} +// Mixins for the menu show hide based on width +@mixin vertical-menu-transform-show($transform-width) { + transform: translate3d($transform-width, 0, 0); + backface-visibility: hidden; + perspective: 1000; +} +@mixin vertical-menu-transform-hide() { + transform: translate3d(0, 0, 0); +} + +// Mixins for the sub menu arrow +@mixin vertical-menu-has-sub-arrow($arrow-font-size) { + &.has-sub { + > a:after { + content: ''; + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $body-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: $arrow-font-size; + height: $arrow-font-size; + width: $arrow-font-size; + display: inline-block; + position: absolute; + right: 20px; + top: 14px; + transform: rotate(0deg); + transition: all 0.2s ease-out; + } + &.open:not(.menu-item-closing) { + > a:after { + transform: rotate(90deg); + } + } + } +} +// Used for apps +@mixin content-area-wrapper-height( + $contentPadding: 0rem, + $navbarHeight: 0rem, + $footerHeight: 0rem, + $floatingNavMargin: 0rem, + $horizontalMenuHeight: 0rem, + $spacingSides: 1, + $horizontalLayout: false +) { + height: calc( + 100vh - + calc( + calc(#{$contentPadding} * #{$spacingSides}) + #{$navbarHeight} + #{$footerHeight} + #{$floatingNavMargin} + #{$horizontalMenuHeight} + ) + ); + height: calc( + var(--vh, 1vh) * 100 - + calc( + calc(#{$contentPadding} * #{$spacingSides}) + #{$navbarHeight} + #{$footerHeight} + #{$floatingNavMargin} + #{$horizontalMenuHeight} + ) + ); + // responsive size height + @if $horizontalLayout { + @include media-breakpoint-down(lg) { + height: calc( + 100vh - calc(calc(calc(#{$contentPadding} - 0.8rem) * #{$spacingSides}) + #{$navbarHeight} + #{$footerHeight}) + ); + height: calc( + var(--vh, 1vh) * 100 - + calc(calc(calc(#{$contentPadding} - 0.8rem) * #{$spacingSides}) + #{$navbarHeight} + #{$footerHeight}) + ); + } + } @else { + @include media-breakpoint-down(xs) { + height: calc( + 100vh - + calc( + calc(calc(#{$contentPadding} * #{$spacingSides}) - calc(0.8rem * #{$spacingSides})) + #{$navbarHeight} + #{$footerHeight} + + #{$floatingNavMargin} + #{$horizontalMenuHeight} + ) + ); + height: calc( + var(--vh, 1vh) * 100 - + calc( + calc(calc(#{$contentPadding} * #{$spacingSides}) - calc(0.8rem * #{$spacingSides})) + #{$navbarHeight} + #{$footerHeight} + + #{$floatingNavMargin} + #{$horizontalMenuHeight} + ) + ); + } + } +} + +// Light & Dark menu mixin +// $theme-color : Menu text color +// $theme-bg : Menu background color +// ================================================ +@mixin menu-theme($theme-color, $theme-bg) { + $main-menu-top-open-color: darken($theme-color, 10%); + $main-menu-top-open-hover-bg: darken($theme-bg, 6%); + $main-menu-top-open-head-bg: darken($theme-bg, 4%); + + $main-menu-top-active-head-bg: darken($theme-bg, 4%); //$primary + + $main-menu-sub-color: $theme-color; + $main-menu-sub-hover-color: lighten($theme-color, 4%); + + $main-menu-sub-open-color: $theme-color; + + color: $theme-color; + background: $theme-bg; + + .navigation { + background: $theme-bg; + .navigation-header { + color: lighten($theme-color, 21.5%); + margin: calc(#{$content-padding} + 0.286rem) 0 0.8rem ($content-padding + 0.2rem); + padding: 0; + line-height: 1.5; + letter-spacing: 0.01rem; + span { + font-weight: 500; + } + } + li { + &.has-sub { + > a { + transition: all 0.5s ease, background 0s, color 0s; + } + } + a { + color: darken($theme-color, 4.9%); + padding: $menu-padding; + line-height: 1.45; + + span.menu-sub-title { + color: lighten($theme-color, 30%); + } + + & > * { + transition: transform 0.25s ease; + } + } + } + + // Menu Item Hover Animation + li.nav-item { + a:hover > * { + transition: transform 0.25s ease; + transform: translateX(5px); + } + ul.menu-content { + li { + a:hover > * { + transition: transform 0.25s ease; + transform: translateX(5px); + } + } + } + } + + > li { + > a { + margin: 0 15px; + .label { + margin-top: 4px; + margin-right: 5px; + } + i, + svg { + position: relative; + top: 1px; + } + } + > ul li { + &:first-of-type { + margin-top: 7px !important; + } + + &:not(.has-sub) { + margin: 0 15px; + } + &.has-sub { + > a { + margin: 0 15px; + } + + > ul > li { + margin: 0 15px; + } + } + } + &.open:not(.menu-item-closing), + &.sidebar-group-active { + > a { + color: $main-menu-top-open-color; + background: $main-menu-top-open-head-bg; + border-radius: 6px; + } + } + + &:not(.open) { + > ul { + display: none; + .active { + background: transparent; + box-shadow: none; + } + } + } + &.active { + z-index: 1; + > a { + background: linear-gradient(118deg, rgba($primary, 1), rgba($primary, 0.7)); + box-shadow: 0 0 10px 1px rgba($primary, 0.7); + color: $white; + font-weight: 400; + border-radius: 4px; + } + } + + .active { + background: $main-menu-top-open-hover-bg; + + > a { + color: $primary; + margin-bottom: 0; + } + + .hover, + :hover { + > a { + background: $main-menu-top-active-head-bg; + } + } + } + + ul { + padding: 0; + margin: 0; + + li { + color: $main-menu-sub-color; + background: transparent; + > a { + padding: $menu-second-level-padding; + } + ul { + a { + padding: $menu-third-level-padding; + } + } + } + .has-sub { + &:not(.open) { + > ul { + display: none; + .active { + background: transparent; + box-shadow: none; + } + } + } + } + .open, + .sidebar-group-active { + > a { + color: $main-menu-sub-open-color; + background: $main-menu-top-active-head-bg; + border-radius: 6px; + } + //for 2rd level menu + > ul { + display: block; + //for 3rd level menu + .open { + > ul { + display: block; + } + } + } + } + + .hover, + &:hover { + > a { + color: $main-menu-sub-hover-color; + } + } + + .active { + background: linear-gradient(118deg, rgba($primary, 1), rgba($primary, 0.7)); + box-shadow: 0 0 10px 1px rgba($primary, 0.7); + border-radius: 4px; + z-index: 1; + > a { + color: $white; + } + } + } + } + } +} +// Menu content display mixin +// $menu-expanded-width : Expanded menu width +// $menu-collapsed-width: Collapsed menu width +// ================================================ +@mixin menu-content($menu-expanded-width, $menu-collapsed-width, $theme-color, $theme-bg) { + .main-menu-content { + > span.menu-title, + a.menu-title { + right: -($menu-expanded-width); + width: $menu-expanded-width; + font-weight: 600; + color: #fff; + text-transform: uppercase; + text-align: left; + background-color: $primary; + border-color: $primary; + padding: 13px 20px; + } + > ul.menu-content { + left: $menu-collapsed-width; + width: $menu-expanded-width; + transition: visibility 0.25s, opacity 0.25s; + box-shadow: 1px 0px 2px rgba($black, 0.1); + border-bottom: 2px solid rgba($black, 0.2); + border-left: 1px solid rgba($black, 0.02); + + li { + white-space: nowrap; + position: relative; + + a { + display: block; + padding: 8px 20px 8px 20px; + } + + @include vertical-menu-has-sub-arrow(1rem); + } + } + } +} diff --git a/src/@core/scss/base/core/mixins/transitions.scss b/src/@core/scss/base/core/mixins/transitions.scss new file mode 100644 index 0000000..66c31e1 --- /dev/null +++ b/src/@core/scss/base/core/mixins/transitions.scss @@ -0,0 +1,30 @@ +@mixin transition($transition) { + -moz-transition: $transition; + -o-transition: $transition; + -webkit-transition: $transition; + transition: $transition; +} +@mixin transition-property($property) { + -moz-transition-property: $property; + -o-transition-property: $property; + -webkit-transition-property: $property; + transition-property: $property; +} +@mixin transition-duration($duration) { + -moz-transition-property: $duration; + -o-transition-property: $duration; + -webkit-transition-property: $duration; + transition-property: $duration; +} +@mixin transition-timing-function($timing) { + -moz-transition-timing-function: $timing; + -o-transition-timing-function: $timing; + -webkit-transition-timing-function: $timing; + transition-timing-function: $timing; +} +@mixin transition-delay($delay) { + -moz-transition-delay: $delay; + -o-transition-delay: $delay; + -webkit-transition-delay: $delay; + transition-delay: $delay; +} diff --git a/src/@core/scss/base/custom-rtl.scss b/src/@core/scss/base/custom-rtl.scss new file mode 100644 index 0000000..bb49108 --- /dev/null +++ b/src/@core/scss/base/custom-rtl.scss @@ -0,0 +1,355 @@ +// ================================================================================================ +// File Name: custom-rtl.scss +// Description: RTL support SCSS file. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// Variables +// ------------------------------ + +@import 'bootstrap-extended/include'; // Bootstrap includes +@import 'components/include'; // Components includes + +// Align icons position +.main-menu { + .navigation li > a > svg, + .navigation li > a > i, + .dropdown-menu svg, + .dropdown-menu i, + .dropdown-user > a > svg, + .dropdown-user > a > i, + .navigation > li > a > svg, + .navigation > li > a > i { + float: right; + } + + .navigation > li ul li > a { + display: flex; + align-items: center; + } +} + +// Transformed menu icons +.vertical-layout.vertical-menu-modern.menu-expanded .main-menu .navigation li.has-sub > a:after, +.vertical-layout.vertical-overlay-menu.menu-open .main-menu .navigation li.has-sub > a:after { + transform: rotate(180deg); +} +.vertical-layout.vertical-menu-modern.menu-expanded + .main-menu + .navigation + li.has-sub.open:not(.menu-item-closing) + > a:after { + transform: rotate(90deg); +} + +// Horizontal menu +.horizontal-menu .header-navbar.navbar-horizontal .dropdown-menu .dropdown-toggle::after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $body-color), '#', '%23')); +} + +// Dropdown RTL Changes +.header-navbar .navbar-container ul.nav li.dropdown { + .dropdown-menu { + top: 41px !important; + + &::before { + top: 1px; + } + } +} + +.header-navbar { + .dropdown, + .dropup { + .dropdown-menu.dropdown-menu-right::before { + right: auto; + left: 0.5rem; + } + } +} + +.dropdown, +.dropup, +.btn-group { + .dropdown-menu { + right: auto !important; + top: 0 !important; + left: auto !important; + + &.dropdown-menu-right { + left: 0 !important; + + &::before { + right: 0.6rem; + left: auto; + } + } + } +} + +.dropleft { + .dropdown-toggle { + &::before { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $white), '#', '%23')) !important; + } + } + .dropdown-menu { + left: 0 !important; + margin-left: 0; + margin-right: 0.5rem; + } +} + +.dropright { + .dropdown-toggle { + &::after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $white), '#', '%23')) !important; + } + } + .dropdown-menu { + left: 0 !important; + margin-right: 0; + margin-left: 0.5rem; + } +} + +// Input Group dropdown +.input-group { + .dropdown-menu.show { + top: 0 !important; + right: auto !important; + left: 0px !important; + } +} + +// BS Toast +.toast { + right: 1rem; +} + +// Select2 +.select2-container--default .select2-selection--single .select2-selection__arrow { + left: 1px; +} +.select2-container--default .select2-selection--multiple .select2-selection__choice { + float: right; +} +.select2-search__field { + direction: rtl; +} + +// Chartist +.chartjs-render-monitor { + margin-right: 1rem; +} + +// Datatable +div.dataTables_wrapper div.dataTables_filter { + text-align: left !important; +} +table.dataTable thead .sorting:before, +table.dataTable thead .sorting_asc:before, +table.dataTable thead .sorting_desc:before { + right: 0.45rem; +} + +// Avatar group +.avatar-group { + // Avatar Group Sizings + .avatar { + margin-right: -0.785rem; + margin-left: 0; + } + .avatar-sm { + margin-right: -0.65rem; + } + .avatar-lg { + margin-right: -1.5rem; + } + .avatar-xl { + margin-right: -1.85rem; + } +} + +// Breadcrumb +.breadcrumb:not([class*='breadcrumb-']), +.breadcrumb.breadcrumb-chevron { + .breadcrumb-item + .breadcrumb-item { + &:before { + transform: rotate(180deg); + } + } +} + +// Pagination +.pagination .page-item { + &.prev-item, + &.prev, + &.previous { + .page-link { + &:before { + transform: rotate(180deg); + } + &:hover, + &:active { + &:before { + transform: rotate(180deg); + } + } + } + &.disabled { + .page-link { + &:before { + transform: rotate(180deg); + } + } + } + } + + &.next-item, + &.next { + .page-link { + &:after { + transform: rotate(180deg); + } + &:hover, + &:active { + &:after { + transform: rotate(180deg); + } + } + } + &.disabled { + .page-link { + &:before { + transform: rotate(180deg); + } + } + } + } +} + +code[class*='language-'], +pre[class*='language-'] { + direction: ltr; +} + +@media print { + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } +} + +// Calendar +.fc .fc-header-toolbar .fc-right .fc-button.fc-prev-button .fc-icon { + right: 4px !important; +} + +.fc .fc-header-toolbar .fc-right .fc-button.fc-next-button .fc-icon { + left: -3px !important; +} + +// carousel changes +.carousel-control-next { + left: auto; + right: 0; +} + +.carousel-control-prev { + left: 0; + right: auto; +} + +// Tooltip +.bs-tooltip-left .arrow::before, +.bs-tooltip-auto[x-placement^='left'] .arrow::before { + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: $tooltip-bg; +} + +.bs-tooltip-left .arrow, +.bs-tooltip-auto[x-placement^='left'] .arrow { + right: 0; + left: auto; +} + +.bs-tooltip-right .arrow::before, +.bs-tooltip-auto[x-placement^='right'] .arrow::before { + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: $tooltip-bg; +} + +.bs-tooltip-right .arrow, +.bs-tooltip-auto[x-placement^='right'] .arrow { + left: 0; + right: auto; +} + +// Popover Style +.popover { + right: auto !important; +} + +// Progress +.progress-bar-animated { + animation: progress-bar-stripes 40s linear infinite; +} + +// Perfect scrollbar RTL fix +body .ps__rail-y { + right: auto !important; + left: 1px !important; +} + +// FAQ and Pricing page +.faq-navigation img, +.pricing-free-trial .pricing-trial-img { + transform: scaleX(-1); +} + +.feather-chevron-left, +.feather-chevron-right { + transform: rotate(-180deg) !important; +} + +// Kanban +.kanban-application { + .kanban-container { + .kanban-item { + i, + svg { + margin-right: 0 !important; + margin-left: 0.25rem; + } + } + } +} + +// Invoice List +.invoice-list-wrapper { + .dataTables_filter { + input { + margin-left: 0 !important; + margin-right: 0.5rem; + } + } + + .dropdown .dropdown-menu.dropdown-menu-right { + left: 2rem !important; + } +} + +// File Manager +.file-manager-application { + .sidebar-file-manager { + .sidebar-inner { + .my-drive .jstree-node.jstree-closed > .jstree-icon { + transform: rotate(180deg); + } + } + } +} diff --git a/src/@core/scss/base/pages/app-calendar.scss b/src/@core/scss/base/pages/app-calendar.scss new file mode 100644 index 0000000..958c4d9 --- /dev/null +++ b/src/@core/scss/base/pages/app-calendar.scss @@ -0,0 +1,413 @@ +// Core variables and mixins + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +$fc-calendar-height: 650px; +$fc-sidebar-width: 18rem; +$fc-event-font-weight: 600; +$fc-event-font-size: 0.8rem; +$fc-event-padding-x: 0.5rem; +$fc-event-padding-y: 0.25rem; +$fc-toolbar-btn-padding: 0.438rem 0.5rem; +$fc-day-toggle-btn-padding: 0.55rem 1.5rem; + +// Full calendar styles +.fc { + // Toolbar + .fc-toolbar { + flex-wrap: wrap; + flex-direction: row !important; + .fc-prev-button, + .fc-next-button { + display: inline-block; + background-color: transparent; + border-color: transparent; + .fc-icon { + color: $body-color; + } + &:hover, + &:active, + &:focus { + background-color: transparent !important; + border-color: transparent !important; + box-shadow: none !important; + } + } + .fc-prev-button { + padding-left: 0 !important; + } + .fc-toolbar-chunk:first-child { + display: flex; + align-items: center; + flex-wrap: wrap; + } + .fc-button { + padding: $fc-toolbar-btn-padding; + &:active, + &:focus { + box-shadow: none; + } + } + .fc-button-group { + .fc-button { + text-transform: capitalize; + &:focus { + box-shadow: none; + } + } + .fc-button-primary { + &:not(.fc-prev-button):not(.fc-next-button) { + // background-color: rgba($primary, 0.1); + background-color: transparent; + border-color: $primary; + color: $primary; + &.fc-button-active, + &:hover { + background-color: rgba($color: $primary, $alpha: 0.2) !important; + border-color: $primary !important; + color: $primary; + } + } + &.fc-sidebarToggle-button { + border: 0; + + i, + svg { + height: 21px; + width: 21px; + font-size: 21px; + } + } + } + .fc-sidebarToggle-button { + padding-left: 0; + background-color: transparent !important; + color: $body-color !important; + + &:not(.fc-prev-button):not(.fc-next-button):hover { + background-color: transparent !important; + } + + & + div { + margin-left: 0; + } + } + .fc-dayGridMonth-button, + .fc-timeGridWeek-button, + .fc-timeGridDay-button, + .fc-listMonth-button { + padding: $fc-day-toggle-btn-padding; + + &:last-child, + &:first-child { + border-radius: $btn-border-radius; + } + &:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + &:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + } + } + & > * > :not(:first-child) { + margin-left: 0rem; + } + .fc-toolbar-title { + margin-left: 0.25rem; + } + .fc--button:empty, + .fc-toolbar-chunk:empty { + display: none; + } + } + + // Calendar head & body common + tbody td, + thead th { + border-color: $border-color; + &.fc-col-header-cell { + border-right: 0; + border-left: 0; + } + } + + .fc-view-harness { + min-height: $fc-calendar-height; + } + + // Daygrid + .fc-scrollgrid-section-liquid > td { + border-bottom: 0; + } + .fc-daygrid-event-harness { + .fc-event { + font-size: $fc-event-font-size; + font-weight: $fc-event-font-weight; + padding: $fc-event-padding-y $fc-event-padding-x; + } + & + .fc-daygrid-event-harness { + margin-top: 0.3rem; + } + } + .fc-daygrid-day-bottom { + margin-top: 0.3rem; + } + .fc-daygrid-day { + padding: 5px; + .fc-daygrid-day-top { + flex-direction: row; + } + } + + // All Views Event + .fc-daygrid-day-number, + .fc-timegrid-slot-label-cushion, + .fc-list-event-time { + color: $body-color; + } + .fc-day-today { + background: $body-bg !important; + background-color: $body-bg !important; + } + + // Timegrid + .fc-timegrid { + .fc-scrollgrid-section { + .fc-col-header-cell, + .fc-timegrid-axis { + border-color: $border-color; + border-left: 0; + border-right: 0; + } + .fc-timegrid-axis { + border-color: $border-color; + } + } + .fc-timegrid-axis { + &.fc-scrollgrid-shrink { + .fc-timegrid-axis-cushion { + text-transform: capitalize; + color: $text-muted; + } + } + } + .fc-timegrid-slots { + .fc-timegrid-slot { + height: 3rem; + .fc-timegrid-slot-label-frame { + text-align: center; + .fc-timegrid-slot-label-cushion { + text-transform: uppercase; + } + } + } + } + .fc-timegrid-divider { + display: none; + } + } + + // List View + .fc-list { + border-color: $border-color; + .fc-list-day-cushion { + background: $body-bg; + } + .fc-list-event { + &:hover { + td { + background-color: $body-bg; + } + } + td { + border-color: $border-color; + } + } + } +} + +// App Calendar specific +.app-calendar { + position: relative; + border-radius: $card-border-radius; + margin-bottom: 2rem; + .app-calendar-sidebar { + position: absolute; + left: calc(-#{$fc-sidebar-width} - 1.2rem); + width: $fc-sidebar-width; + height: 100%; + z-index: 5; + background-color: $card-bg; + border-right: 1px solid $border-color; + flex-basis: $fc-sidebar-width; + transition: all 0.2s, background 0s, border 0s; + &.show { + left: 0; + } + .sidebar-content-title { + font-size: 0.85rem; + color: $text-muted; + text-transform: uppercase; + letter-spacing: 0.6px; + } + .select-all, + .input-filter { + & ~ label { + color: $headings-color; + font-weight: 500; + letter-spacing: 0.4px; + } + } + } + + // right sidebar area styles + .event-sidebar { + position: absolute; + top: 0; + right: 0; + width: 400px; + z-index: 15; + transform: translateX(120%); + transition: all 0.3s ease-in-out; + + .card { + height: calc(100vh - 12.96rem); + height: calc(var(--vh, 1vh) * 100 - 12.96rem); + border-radius: 0 $border-radius-sm $border-radius-sm 0; + + .close-bar { + cursor: pointer; + } + + .todo-item-action { + width: 6rem; + + .todo-item-info, + .todo-item-favorite, + .dropdown { + cursor: pointer; + line-height: 1.5; + } + .dropdown .dropdown-menu .dropdown-item { + padding: 0.14rem 1.428rem; + } + .dropdown-toggle::after { + display: none; + } + } + } + + &.show { + transform: translateX(0); + } + } + + .fc-toolbar { + h2 { + font-size: 1.45rem; + } + } + .fc-header-toolbar { + margin-bottom: 1.75rem !important; + } + .fc-view-harness { + margin: 0 -1.6rem; + } + .fc-scrollgrid { + border-color: $border-color; + } + .fc-day-past, + .fc-day-future { + .fc-daygrid-day-number { + color: $text-muted; + } + } + .fc-popover { + box-shadow: $box-shadow; + .fc-popover-header { + background: transparent; + padding: 0.5rem; + .fc-popover-title, + .fc-popover-close { + color: $headings-color; + } + } + .fc-popover-body { + *:not(:last-of-type) { + margin-bottom: 0.3rem; + } + } + } + + .fc { + .fc-event { + .fc-event-main { + color: inherit; + } + } + } + .fc-list-event { + background: transparent !important; + } + + @media (min-width: 992px) { + .app-calendar-sidebar { + position: static; + height: auto; + box-shadow: none !important; + + .flatpickr-days { + background-color: transparent; + } + } + } +} + +// Event Sidebar +.event-sidebar { + .select2-selection__choice__remove { + &:before { + top: 40% !important; + } + } +} + +// Horizontal Menu +.horizontal-layout { + .app-calendar { + margin-bottom: 1rem; + } +} + +// Media Queries +@media (max-width: 992px) { + .fc { + .fc-sidebarToggle-button { + font-size: 0; + } + } +} + +@media (min-width: 992px) { + .fc { + .fc-sidebarToggle-button { + display: none; + } + } +} + +@media (max-width: 700px) { + .app-calendar { + .fc { + .fc-header-toolbar { + .fc-toolbar-chunk:last-of-type { + margin-top: 1rem; + } + } + } + } +} diff --git a/src/@core/scss/base/pages/app-chat-list.scss b/src/@core/scss/base/pages/app-chat-list.scss new file mode 100644 index 0000000..a9ea431 --- /dev/null +++ b/src/@core/scss/base/pages/app-chat-list.scss @@ -0,0 +1,128 @@ +// ================================================================================================ +// File Name: app-chat-area.scss +// Description: SCC file for chat area application page. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +@import '../core/colors/palette-variables'; + +@import 'bootstrap/scss/mixins/_gradients'; +@import 'bootstrap/scss/mixins/gradients'; + +//Variables +$chat-image-back-color: #f2f0f7; +$chat-head-footer-height: 65px; +$chat-widget-head-footer-height: 56px; +$chat-widget-height: 390px; + +// User chat window css +.chat-app-window { + // User chats + .user-chats { + background-color: $chat-image-back-color; + padding: 1rem; + position: relative; + height: calc(100% - #{$chat-head-footer-height} - #{$chat-head-footer-height}); + .avatar { + img { + border: 2px solid $white; + } + } + } + .active-chat { + height: inherit; + .chat-header { + display: flex; + justify-content: space-between; + height: $chat-head-footer-height; + background-color: $white; + padding: 0 1rem; + border-bottom: 1px solid $border-color; + } + } + + // Chat area css + .chats { + .chat-avatar { + float: right; + } + .chat-body { + display: block; + margin: 10px 0 0 0; + overflow: hidden; + .chat-content { + float: right; + padding: 0.7rem 1rem; + margin: 0 0 10px 0; + clear: both; + color: $white; + @include gradient-directional(map-get($primary-color, 'base'), map-get($primary-color, 'lighten-2'), 80deg); + border-radius: $border-radius; + box-shadow: 0 4px 8px 0 rgba($black, 0.12); + max-width: 100%; + p { + margin: 0; + } + } + } + // Chat area left css + .chat-left { + .chat-avatar { + float: left; + } + .chat-body { + .chat-content { + float: left; + margin: 0 0 10px 1rem; + color: $body-color; + background: none; + background-color: lighten($white, 18%); + } + } + } + } + // Chat form of user area + .chat-app-form { + height: $chat-head-footer-height; + padding: 0 1rem; + background-color: $white; + display: flex; + align-items: center; + border-top: 1px solid $border-color; + } +} + +// Chat Widget +.chat-widget { + .card-header { + padding-top: 0.8rem; + padding-bottom: 0.8rem; + } + .chat-app-window { + // User chats + .user-chats { + background-color: $body-bg; + height: $chat-widget-height; + } + .chat-app-form { + border-top: 0; + border-bottom-left-radius: $border-radius; + border-bottom-right-radius: $border-radius; + height: $chat-widget-head-footer-height; + .input-group-text, + .message { + border: 0; + padding-left: 0; + } + .input-group:not(.bootstrap-touchspin):focus-within { + box-shadow: none; + } + } + } +} diff --git a/src/@core/scss/base/pages/app-chat.scss b/src/@core/scss/base/pages/app-chat.scss new file mode 100644 index 0000000..9fb6ab1 --- /dev/null +++ b/src/@core/scss/base/pages/app-chat.scss @@ -0,0 +1,340 @@ +// ================================================================================================ +// File Name: app-chat.scss +// Description: SCC file for chat application page. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +@import '../core/colors/palette-variables'; + +@import 'bootstrap/scss/mixins/_gradients'; +@import 'bootstrap/scss/mixins/gradients'; + +//Variables +$chat-image-back-color: #f2f0f7; +$chat-head-footer-height: 65px; +$chat-profile-sidebar-head-height: 200px; + +.chat-application { + .content-area-wrapper { + border: 1px solid $border-color; + border-radius: $card-border-radius; + } + + // chat admin profile sidebar + .chat-profile-sidebar { + border-right: 1px solid $border-color; + height: inherit; + width: $chat-sidebar-width; + border-radius: $border-radius-sm; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + position: absolute; + background-color: $white; + transform: translateX(-110%); + transition: all 0.3s ease, background 0s, border 0s, color 0s; + z-index: 6; + &.show { + transform: translateX(0); + transition: all 0.3s ease, background 0s, border 0s, color 0s; + } + + // admin profile header section + .chat-profile-header { + display: flex; + align-items: center; + justify-content: center; + height: $chat-profile-sidebar-head-height; + text-align: center; + .avatar { + margin-bottom: 1.25rem; + } + } + + // Admin profile scroll area + .profile-sidebar-area { + height: calc(100% - #{$chat-profile-sidebar-head-height}); + position: relative; + padding: 0 2rem 1.5rem; + } + } + + // close icon style for all chat sidebars + .close-icon { + position: absolute; + top: 0.85rem; + right: 1rem; + cursor: pointer; + } + .sidebar-close-icon, + .close-icon { + svg, + i { + font-size: 1.143rem; + height: 1.143rem; + width: 1.143rem; + } + } + + // for avatar border + .avatar-border { + img { + border: 2px solid $white; + } + } + + // Main Sidebar Content + .sidebar-content { + background-color: $white; + border-right: 1px solid $border-color; + height: inherit; + width: $chat-sidebar-width; + border-radius: $border-radius-sm; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + margin: 0; + box-shadow: none; + // Close Icon + .sidebar-close-icon { + position: absolute; + right: 0.25rem; + top: 0.25rem; + font-size: 1.25rem; + z-index: 1; + cursor: pointer; + visibility: hidden; + } + // Chat search area + .chat-fixed-search { + width: $chat-sidebar-width; + border-bottom: 1px solid $border-color; + padding: 0 1.286rem; + height: $chat-head-footer-height; + display: flex; + .sidebar-profile-toggle { + .avatar { + display: inline-table; + } + } + .input-group { + &:focus-within { + background-color: transparent; + box-shadow: none; + } + } + } + .chat-list-title { + color: $primary; + margin: 2rem 1.286rem 0.5rem; + } + // Sidebar chat list + .chat-user-list-wrapper { + position: relative; + height: calc(100% - #{$chat-head-footer-height}); + width: $chat-sidebar-width; + border-radius: 0; + // Specific alignment for avatar status + .avatar { + height: 42px; + [class*='avatar-status-'] { + right: 1px; + bottom: 1px; + } + } + .contact-list { + .chat-info { + width: calc(100% - 46px); // ? avatar size with 2px border = 42+2+2 =46px + padding-right: 0; + } + } + .no-results { + padding: 0.786rem 1.286rem; + display: none !important; + &.show { + display: block !important; + } + } + ul { + padding-left: 0; + margin-bottom: 0; + } + li { + display: flex; + padding: 0.786rem 1.286rem; + .chat-info { + margin-top: 0.3rem; + width: calc(100% - 46px - 46px); // ? avatar size with 2px border = 42+2+2 =46px & date area width = 46px + padding: 0 0.75rem; + .card-text, + p { + color: $text-muted; + } + } + + .chat-time { + color: $text-muted; + } + &:hover { + cursor: pointer; + background: $body-bg; + } + &.active { + @include gradient-directional(map-get($primary-color, 'base'), map-get($primary-color, 'lighten-2'), 80deg); + h1, + h2, + h3, + h4, + h5, + h6, + .card-text, + .chat-time { + color: $white; + } + } + img { + border: 2px solid $white; + } + } + } + } + + // User chat window css + .chat-app-window { + height: 100%; + + // Before starting chat + .start-chat-area, + .user-chats { + background-image: url($chat-bg-light); + background-color: $chat-image-back-color; + background-repeat: repeat; + background-size: 210px; + } + .start-chat-area { + height: inherit; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + .start-chat-icon, + .start-chat-text { + background: $white; + box-shadow: 0 4px 8px 0 rgba($black, 0.12) !important; + color: $body-color; + } + .start-chat-text { + padding: 0.5rem 1rem; + border-radius: calc(#{$border-radius} * 4); + cursor: pointer; + } + .start-chat-icon { + border-radius: 50%; + padding: 2rem; + svg, + i { + height: 4rem; + width: 4rem; + font-size: 4rem; + } + } + } + } + + // User Profile right sidebar + .user-profile-sidebar { + width: $chat-sidebar-width; + border-radius: $border-radius-sm; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + background-color: $white; + position: absolute; + transform: translateX(110%); + transition: all 0.3s ease, background 0s, border 0s, color 0s; + z-index: 6; + right: 0; + bottom: 0; + top: 0; + &.show { + transform: translateX(0%); + transition: all 0.3s ease, background 0s, border 0s, color 0s; + } + .user-profile-header { + .header-profile-sidebar { + height: $chat-profile-sidebar-head-height; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + flex-direction: column; + width: 100%; + } + .avatar { + margin-bottom: 1.25rem; + } + } + .user-profile-sidebar-area { + position: relative; + height: calc(100% - #{$chat-profile-sidebar-head-height}); + padding: 0 2rem 1.5rem; + } + } +} + +@include media-breakpoint-down(md) { + .content-right { + width: 100%; + } + .chat-application { + .sidebar-content { + transform: translateX(-110%); + transition: all 0.3s ease-in-out; + position: absolute; + z-index: 5; + &.show { + transform: translateX(0); + transition: all 0.3s ease; + } + } + } +} +@include media-breakpoint-down(sm) { + .chat-application { + .sidebar-content { + .sidebar-close-icon { + visibility: visible; + top: 15px; + right: 0; + padding: 0.65rem; + line-height: 1; + } + .chat-fixed-search { + padding-right: 2.5rem; + } + } + } +} +@include media-breakpoint-down(xs) { + .chat-application { + .sidebar { + position: unset !important; + } + .sidebar-content { + width: 100%; + .chat-fixed-search, + .chat-user-list-wrapper { + width: 100%; + } + } + .chat-profile-sidebar { + width: 100%; + } + .user-profile-sidebar { + width: 100%; + } + } +} diff --git a/src/@core/scss/base/pages/app-ecommerce-details.scss b/src/@core/scss/base/pages/app-ecommerce-details.scss new file mode 100644 index 0000000..1a19452 --- /dev/null +++ b/src/@core/scss/base/pages/app-ecommerce-details.scss @@ -0,0 +1,288 @@ +// ================================================================================================ +// File Name: app-ecommerce-details.scss +// Description: App Ecommerce Details SCSS. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +// App e-commerce detail style +.ecommerce-application { + .app-ecommerce-details { + .product-img { + width: 600px; + } + // ratings style + .ratings-list-item { + svg, + i { + font-size: 1.286rem; + height: 1.286rem; + width: 1.286rem; + } + } + .filled-star { + fill: $warning; + stroke: $warning; + color: $warning; + } + .unfilled-star { + stroke: $gray-100; + color: $gray-100; + } + + // Item Price + .item-price { + color: $primary; + } + // Common for list-view, checkout and wishlist + .item-company { + display: inline-flex; + font-weight: $font-weight-normal; + font-size: 0.875rem; + + .company-name { + font-weight: $font-weight-bolder; + margin-left: 0.25rem; + } + } + + // Product feature list + .product-features { + margin-top: 1.5rem; + margin-bottom: 1.5rem; + li { + svg, + i { + height: 1.4rem; + width: 1.4rem; + font-size: 1.4rem; + margin-right: 0.75rem; + } + display: flex; + align-items: center; + margin-bottom: 1rem; + span { + font-weight: $font-weight-bolder; + } + } + } + + .product-color-options { + margin-top: 1.5rem; + margin-bottom: 1.2rem; + } + .btn-wishlist { + .text-danger { + color: $danger; + fill: $danger; + } + } + .btn-share { + .btn-icon { + ~ .dropdown-menu { + min-width: 3rem; + } + } + } + .item-features { + background-color: $body-bg; + padding-top: 5.357rem; + padding-bottom: 5.357rem; + i, + svg { + font-size: 2.5rem; + height: 2.5rem; + width: 2.5rem; + color: $primary; + } + } + } + + // centered slides option-1 + .swiper-responsive-breakpoints { + &.swiper-container { + .swiper-slide { + text-align: center; + background-color: $body-bg; + padding: 1.5rem 3rem; + border-radius: $card-border-radius; + .img-container { + display: flex; + align-items: center; + justify-content: center; + height: 250px; + } + } + } + } + + //navigation button custom icons + .swiper-button-prev, + .swiper-button-next, + .swiper-container-rtl .swiper-button-prev, + .swiper-container-rtl .swiper-button-next { + background-image: none; + width: 35px; + font-size: $h1-font-size; + + &:focus { + outline: none; + } + } + + .swiper-button-prev { + left: 0; + + &:after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $primary), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 44px; + color: $body-color; + width: 44px; + height: 44px; + content: ''; + } + } + + .swiper-button-next { + right: 0; + + &:after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $primary), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 44px; + color: $body-color; + width: 44px; + height: 44px; + content: ''; + } + } + + .swiper-container-rtl { + .swiper-button-prev { + &:after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $primary), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 44px; + color: $body-color; + width: 44px; + height: 44px; + content: ''; + } + } + + .swiper-button-next { + &:after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $primary), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 44px; + color: $body-color; + width: 44px; + height: 44px; + content: ''; + } + } + } + + // color options + + .product-color-options { + .color-option { + border: 1px solid transparent; + border-radius: 50%; + position: relative; + cursor: pointer; + padding: 3px; + + .filloption { + height: 18px; + width: 18px; + border-radius: 50%; + } + } + + // selected + .selected { + // these use for border color only page specific + .b-primary { + border-color: $primary; + .filloption { + box-shadow: 0 2px 4px 0 rgba($primary, 0.4); + } + } + + .b-success { + border-color: $success; + .filloption { + box-shadow: 0 2px 4px 0 rgba($success, 0.4); + } + } + + .b-danger { + border-color: $danger; + .filloption { + box-shadow: 0 2px 4px 0 rgba($danger, 0.4); + } + } + + .b-warning { + border-color: $warning; + .filloption { + box-shadow: 0 2px 4px 0 rgba($warning, 0.4); + } + } + + .b-info { + border-color: $info; + .filloption { + box-shadow: 0 2px 4px 0 rgba($info, 0.4); + } + } + } + .b-primary .filloption { + box-shadow: 0 2px 4px 0 rgba($primary, 0.4); + } + .b-success .filloption { + box-shadow: 0 2px 4px 0 rgba($success, 0.4); + } + .b-danger .filloption { + box-shadow: 0 2px 4px 0 rgba($danger, 0.4); + } + .b-warning .filloption { + box-shadow: 0 2px 4px 0 rgba($warning, 0.4); + } + .b-info .filloption { + box-shadow: 0 2px 4px 0 rgba($info, 0.4); + } + } +} + +@include media-breakpoint-down(sm) { + .ecommerce-application .swiper-responsive-breakpoints.swiper-container .swiper-slide { + padding: 1rem; + } +} +@include media-breakpoint-down(sm) { + .ecommerce-application { + .app-ecommerce-details { + // ratings style + .ratings-list-item { + svg, + i { + font-size: 1rem; + height: 1rem; + width: 1rem; + } + } + } + } +} diff --git a/src/@core/scss/base/pages/app-ecommerce.scss b/src/@core/scss/base/pages/app-ecommerce.scss new file mode 100644 index 0000000..ec39a6d --- /dev/null +++ b/src/@core/scss/base/pages/app-ecommerce.scss @@ -0,0 +1,632 @@ +// ================================================================================================ +// File Name: app-ecommerce.scss +// Description: SCSS file for ecommerce shop, wishlist and checkout page. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +$search-bar-height: 48px; + +.ecommerce-application { + .content-body { + position: relative; + } + // To overlay in whole page + .body-content-overlay { + position: fixed !important; + z-index: 12 !important; + } + + // Shop Sidebar + .sidebar-shop { + margin-top: 0.85rem; + width: $sidebar-width; + z-index: 14; + + // for heading + .filter-heading { + margin-bottom: 1.75rem; + } + + // for title + .filter-title { + margin-bottom: 1rem; + margin-top: 2.5rem; + } + + // Sidebar price range and categories list + .price-range, + .categories-list { + li:not(:last-child) { + margin-bottom: 0.75rem; + } + } + + // Sidebar brand list + .brand-list { + li { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 0.75rem; + } + } + + // Sidebar for slider + .range-slider.noUi-horizontal { + .noUi-handle { + .noUi-tooltip { + opacity: 0; + transform: translate(-50%, -15%); + + &:before { + content: '$ '; + } + } + &:active { + .noUi-tooltip { + opacity: 1; + } + } + } + } + + // for stars in rating + .ratings-list { + display: flex; + justify-content: space-between; + margin-bottom: 0.5rem; + &:last-child { + margin-bottom: 2.5rem; + } + ul { + margin-bottom: 0; + .ratings-list-item { + svg, + i { + width: 1.25rem; + height: 1.25rem; + font-size: 1.25rem; + } + } + } + } + } + + // ratings style + .filled-star { + fill: $warning; + stroke: $warning; + color: $warning; + } + .unfilled-star { + stroke: $gray-100; + color: $gray-100; + } + + // E-commerce shop main content area + + //ecommerce header + .ecommerce-header-items { + display: flex; + justify-content: space-between; + + .result-toggler { + display: flex; + align-items: center; + + // Sidebar toggler + .shop-sidebar-toggler { + padding-left: 0; + + &:active, + &:focus { + outline: 0; + } + + .navbar-toggler-icon { + height: auto; + i, + svg { + color: $body-color; + height: 1.5rem; + width: 1.5rem; + font-size: 1.5rem; + } + } + } + // Search result title + .search-results { + font-weight: $font-weight-bold; + color: $headings-color; + } + } + } + + // Product search bar + .ecommerce-searchbar { + .input-group { + box-shadow: 0 2px 8px 0 rgba($black, 0.14); + border-radius: 0.3rem; + } + } + + // Search bar + .search-product, + .input-group-text { + height: $search-bar-height; + border: none; + font-size: 0.95rem; + padding-left: 1.25rem; + + &::placeholder { + font-size: 0.95rem; + } + } + + // main Products + .ecommerce-card { + &:hover { + transform: translateY(-5px); + box-shadow: 0 4px 25px 0 rgba($black, 0.25); + } + + // ratings + .item-rating { + ul { + margin-bottom: 0; + } + svg, + i { + height: 1.143rem; + width: 1.143rem; + font-size: 1.143rem; + } + } + + // Item name + .item-name { + margin-bottom: 0; + a { + font-weight: $font-weight-bolder; + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + } + } + + .item-description { + font-size: 0.875rem; + } + + // buttons style + .btn-wishlist, + .btn-cart { + span { + vertical-align: text-top; + } + i, + svg { + margin-right: 0.25rem; + vertical-align: text-top; + &.text-danger { + fill: $danger; + } + } + } + } + + // margin for both views + .grid-view, + .list-view { + &:not(.wishlist-items) { + margin-top: 2rem; + } + } + + // Grid View Specific style + .grid-view { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + column-gap: 2rem; + &.wishlist-items { + grid-template-columns: 1fr 1fr 1fr 1fr; + } + + .ecommerce-card { + overflow: hidden; + + // Item Image + .item-img { + padding-top: 0.5rem; + min-height: 15.85rem; + display: flex; + align-items: center; + } + + // Item content wrapper + .item-wrapper { + display: flex; + justify-content: space-between; + align-items: baseline; + } + + // Hiding list view items + .shipping, + .item-company, + .item-options .item-price { + display: none; + } + + .item-options { + display: flex; + flex-wrap: wrap; + + .btn-cart, + .btn-wishlist { + flex-grow: 1; + border-radius: 0; + } + } + + .item-name { + margin-top: 0.75rem; + } + + // Item Description + .item-description { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + margin-top: 0.2rem; + } + + .item-price { + font-weight: $font-weight-bolder; + } + + .card-body { + padding: 1rem; + } + } + } + + // List View Specific style + .list-view { + display: grid; + grid-template-columns: 1fr; + + .ecommerce-card { + overflow: hidden; + display: grid; + grid-template-columns: 1fr 2fr 1fr; + + // list view image + .item-img { + display: flex; + justify-content: center; + align-items: center; + height: 100%; + } + + .card-body { + padding: 1.5rem 1rem; + border-right: 1px solid $border-color; + display: flex; + flex-direction: column; + + // item name and ratings order + .item-wrapper { + order: 2; + } + .item-name { + order: 1; + } + // List view description + .item-description { + order: 3; + display: -webkit-box; + -webkit-line-clamp: 5; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + } + + // .item-rating, + .item-price { + display: none; + } + // ratings + .item-rating { + margin-bottom: 0.3rem; + } + } + // Common for list-view, checkout and wishlist + .item-company { + display: inline-flex; + font-weight: $font-weight-normal; + margin: 0.3rem 0 0.5rem; + font-size: 0.875rem; + + .company-name { + font-weight: $font-weight-bolder; + margin-left: 0.25rem; + } + } + + // price and btn area of list view + .item-options { + padding: 1rem; + display: flex; + flex-direction: column; + justify-content: center; + + .item-wrapper { + position: relative; + + .item-cost { + .item-price { + color: $primary; + margin-bottom: 0; + } + } + } + // Shipping free tag + .shipping { + margin-top: 0.75rem; + } + // List view btn spacing + .btn-wishlist, + .btn-cart { + margin-top: 1rem; + } + } + } + } + + // for checkout-items and options + // Remove padding from stepper header & content area + .checkout-tab-steps { + .bs-stepper-header, + .bs-stepper-content { + padding: 0; + margin: 0; + } + } + // Checkout items list + .checkout-items { + .ecommerce-card { + .item-img { + img { + width: 200px; + } + } + // adding order as we have updated order for shop list view + .item-name { + order: 0 !important; + } + .item-company, + .item-rating { + margin-bottom: 0.4rem !important; + } + .item-quantity { + display: flex; + align-items: center; + } + + .delivery-date { + margin-top: 1.2rem; + margin-bottom: 0.25rem; + } + // Item options button + .item-options { + .btn { + display: flex; + align-items: center; + justify-content: center; + } + } + } + } + + .checkout-options { + .coupons { + &:focus-within { + box-shadow: none; + } + input { + border: none; + padding-left: 0; + color: $body-color; + font-weight: $font-weight-bolder; + &::placeholder { + color: $body-color; + font-weight: $font-weight-bolder; + } + } + .input-group-append { + margin: 0; + } + .input-group-text { + height: auto; + font-weight: $font-weight-bolder; + padding: inherit; + } + } + .price-details { + .price-title { + font-weight: $font-weight-bolder; + margin-bottom: 0.75rem; + margin-top: 1.5rem; + } + .price-detail { + display: flex; + justify-content: space-between; + margin-bottom: 0.75rem; + + .detail-title { + &.detail-total { + font-weight: $font-weight-bolder; + } + } + } + } + } + .payment-type { + .gift-card { + cursor: pointer; + } + } + + // checkout wizard + + .checkout-tab-steps { + background-color: transparent !important; + box-shadow: none !important; + + .bs-stepper-header { + border: none; + } + } + + // To hide toggler on lg and up and grid view for btn-wishlist and list view for checkout + @include media-breakpoint-up(lg) { + .ecommerce-header-items { + // Hide toggler in > lg screen + .shop-sidebar-toggler { + display: none; + } + } + + // Checkout list view + .product-checkout { + &.list-view { + grid-template-columns: 2fr 1fr; + column-gap: 2rem; + } + } + } +} +// Media queries to change grid columns in different Screens and to hide search results below 768px +@include media-breakpoint-down(lg) { + .ecommerce-application { + // Header item area + .ecommerce-header-items { + .btn-group { + align-items: center; + .btn-icon { + padding: 0.6rem 0.736rem; + } + } + } + .grid-view.wishlist-items { + grid-template-columns: 1fr 1fr 1fr; + } + // overlay style for e-commerce page + .body-content-overlay { + position: fixed; + opacity: 0; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + &.show { + opacity: 1; + } + } + + // Horizontal Menu scss + &.horizontal-layout { + .body-content-overlay { + z-index: 998 !important; + } + .sidebar-shop { + z-index: 999 !important; + } + } + } +} + +@include media-breakpoint-down(md) { + .ecommerce-application { + .sidebar-left { + .sidebar { + // removed radius and margin as showing sidebar in full height + .card { + border-radius: 0; + margin: 0; + } + // Sidebar style + .sidebar-shop { + transform: translateX(-112%); + transition: all 0.25s ease; + position: fixed; + top: 0; + left: 0; + height: 100%; + overflow-y: scroll; + margin: 0; + + &.show { + transition: all 0.25s ease; + transform: translateX(0); + } + } + } + } + // Grid view for responsive + .grid-view { + grid-template-columns: 1fr 1fr; + } + + // to hide search results + .ecommerce-header-items { + .result-toggler { + .search-results { + display: none; + } + } + } + } +} +@include media-breakpoint-down(sm) { + .ecommerce-application { + .grid-view.wishlist-items { + grid-template-columns: 1fr 1fr; + } + // List View + .list-view { + .ecommerce-card { + grid-template-columns: 1fr; + + .item-img { + padding-top: 2rem; + padding-bottom: 2rem; + } + + // to remove card-body border + .card-body { + border: none; + } + } + } + } +} +@include media-breakpoint-down(xs) { + .ecommerce-application { + // Grid View + .grid-view, + .grid-view.wishlist-items { + grid-template-columns: 1fr; + } + } +} diff --git a/src/@core/scss/base/pages/app-email.scss b/src/@core/scss/base/pages/app-email.scss new file mode 100644 index 0000000..fc53084 --- /dev/null +++ b/src/@core/scss/base/pages/app-email.scss @@ -0,0 +1,492 @@ +// ================================================================================================ +// File Name: app-email.scss +// Description: SCC file for email application page. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +$email_read: $body-bg; +$email_selected_border: #e4e1e8; +$email_details_header_height: 5rem; + +.email-application { + .content-area-wrapper { + border: 1px solid $border-color; + border-radius: $card-border-radius; + // Sidebar area starts + .sidebar { + .email-app-sidebar { + width: $menu-expanded-width; + height: inherit; + background-color: $white; + border-top-left-radius: $card-border-radius; + border-bottom-left-radius: $card-border-radius; + transition: all 0.3s ease, background 0s; + z-index: 210; + .email-app-menu { + width: 100%; + height: 100%; + z-index: 3; + .compose-btn { + padding: 1.5rem; + } + .sidebar-menu-list { + position: relative; + height: calc(100% - 80px); // search section height 80px + } + } + } + .list-group .list-group-item { + padding: 0.58rem 1.5rem; + border: 0; + font-weight: $font-weight-bold; + letter-spacing: 0.4px; + border-left: 2px solid transparent; + border-radius: 0; + + .list-group-item.active { + margin-top: 0; + } + &:hover, + &:focus, + &.active { + background: transparent; + color: $primary; + } + &.active { + border-color: #7367f0; + } + } + } + // Sidebar area ends + + // Right content area common css starts + .content-right { + width: calc(100% - #{$menu-expanded-width}); + border-left: 1px solid $border-color; + .email-app-list { + height: inherit; + } + .app-fixed-search { + padding: 0.35rem 0.5rem; + border-bottom: 1px solid $border-color; + background-color: $white; + border-top-right-radius: $border-radius; + + .input-group:focus-within { + box-shadow: none; + } + input, + .input-group-text { + border: 0; + background-color: transparent; + } + } + .action-icon { + cursor: pointer; + } + } + // Right content area common css End + // Sidebar toggle icon + .sidebar-toggle { + cursor: pointer; + float: left; + } + .go-back { + cursor: pointer; + } + + // Email user list area + .email-user-list { + position: relative; + height: calc( + 100% - calc(3.49rem + 3.32rem) + ); // ? search box height (3.49rem) + select all section height (3.32rem) + .email-media-list { + padding: 0; + margin: 0; + // Set delay per List Item + @for $i from 1 through 5000 { + li:nth-child(#{$i}) { + animation-delay: 0.1s * $i; + } + } + li { + cursor: pointer; + transition: all 0.2s, background 0s, border-color 0s, color 0s; + animation: fadeIn 0.5s linear; + animation-fill-mode: both; + position: relative; + background: $white; + &.media { + padding: ($spacer + 0.5); + &:hover { + transform: translateY(-2px); + box-shadow: 0 3px 10px 0 $border-color; + transition: all 0.2s; + z-index: 1; + } + .media-left { + display: flex; + flex-direction: column; + } + .media-body { + overflow: hidden; + } + } + // Email avatar style + .avatar { + margin-bottom: 0.65rem; + } + .avatar, + .avatar img { + height: $avatar-size + 8; + width: $avatar-size + 8; + } + + // read email + &.mail-read { + background-color: $email_read; + } + // selected email + &.selected-row-bg { + background-color: rgba($primary, 0.06); + &:not(:first-child) { + border-color: $email_selected_border; + } + } + &:not(:first-child) { + border-top: 1px solid $border-color; + } + .mail-details { + display: flex; + justify-content: space-between; + margin-bottom: 0.55rem; + } + .mail-date { + color: $text-muted; + font-size: 0.857rem; + } + .mail-message { + p { + color: $text-muted; + } + } + } + .user-action { + display: flex; + .email-favorite { + i, + svg { + height: 1.25rem; + width: 1.25rem; + font-size: 1.25rem; + vertical-align: text-top; + color: $text-muted; + &.favorite { + fill: $warning; + stroke: $warning; + } + } + } + } + } + .no-results { + display: none; + padding: 1.5rem; + text-align: center; + &.show { + display: block; + } + } + .ps__rail-y { + z-index: 2; + } + } + } + // Action area of email list section + .app-action { + padding: 0.9rem ($spacer + 0.5); + display: flex; + justify-content: space-between; + border-bottom: 1px solid $border-color; + background-color: $white; + .action-right { + ul { + li:not(:last-child) { + margin-right: 1rem; + } + } + .dropdown-toggle { + color: $headings-color; + white-space: normal; + &::after { + display: none; + } + } + } + } + // On click of mail Details section slide in from right + // Email details section starts + .email-app-details { + position: absolute; + display: block; + z-index: 2; + visibility: hidden; + top: 0; + width: calc(100% - #{$menu-expanded-width}); + background-color: $body-bg; + transform: translateX(100%); + transition: all 0.25s ease, color 0s; + height: 100%; + &.show { + visibility: visible; + transition: all 0.25s ease, color 0s; + transform: translateX(0%); + } + .email-detail-header { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + box-shadow: 0 4px 6px rgba($black, 0.04); + border-bottom: 1px solid $kbd-bg; + position: relative; + padding: 0.5rem 2rem; + background-color: $white; + height: $email_details_header_height; + } + .email-header-left { + .email-subject { + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + } + } + .email-header-right { + .dropdown-toggle, + .action-icon { + color: $body-color; + } + } + // Email detail scroll area + .email-scroll-area { + padding: 0 2rem; + position: relative; + height: calc(100% - #{$email_details_header_height}); + + .email-detail-head { + border-bottom: 1px solid $border-color; + .mail-meta-item { + .dropdown { + line-height: 0; + } + } + } + .email-label { + margin: 2rem 0; + } + .email-info-dropup { + .dropdown-toggle::after { + left: -2px; + margin: 0; + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $text-muted), '#', '%23')); + background-size: 0.857rem; + } + .dropdown-menu { + padding: 0.5rem; + } + } + } + } + + #compose-mail { + .compose-mail-form-field { + display: flex; + justify-content: center; + align-items: center; + padding: 0.12rem $modal-header-padding-x; + border-bottom: 1px solid $modal-footer-border-color; + .select2-container--open { + box-shadow: none; + } + .select2-selection--multiple, + .form-control { + border: 0; + background-color: transparent; + &:focus { + box-shadow: none !important; + background-color: transparent; + } + } + .select2-selection--multiple { + min-height: 42px !important; + .select2-selection__rendered li .select2-search__field { + margin-top: 10px; + } + } + .select2-selection__choice__remove:before { + top: 40%; + } + label { + margin-bottom: 0; + font-size: $font-size-base; + } + } + .ql-editor { + min-height: 250px; + } + .ql-container, + .ql-toolbar { + border: none; + border-radius: 0; + border-bottom: 1px solid $border-color; + .ql-picker.ql-expanded .ql-picker-options { + bottom: 100%; + top: auto; + } + } + .compose-footer-wrapper { + padding: $modal-inner-padding; + display: flex; + align-items: center; + justify-content: space-between; + } + } +} +@include media-breakpoint-down(md) { + .email-application { + .content-area-wrapper { + .sidebar-left { + position: relative; + .email-app-sidebar { + transform: translateX(-110%); + transition: all 0.3s ease-in-out; + position: absolute; + left: 0; + border-top-left-radius: $border-radius-sm; + border-bottom-left-radius: $border-radius-sm; + } + &.show { + .email-app-sidebar { + transform: translateX(0%); + transition: all 0.3s ease; + } + } + } + .content-right { + width: 100%; + border-left: 0; + .app-fixed-search { + border-top-left-radius: $border-radius; + } + .email-app-details { + width: 100%; + border-radius: $border-radius; + } + } + } + } +} + +@include media-breakpoint-down(sm) { + .email-application #compose-mail .ql-editor { + min-height: 150px; + } +} + +// Extra small devices (portrait phones, less than 576px) +@include media-breakpoint-down(xs) { + .email-application { + .email-detail-head .mail-meta-item { + display: flex; + justify-content: space-between; + margin-left: 4rem; // Spacing from left according to avatar image + .mail-date, + .mail-time { + margin: 1rem 0.75rem 0 0; + } + } + .content-area-wrapper { + .content-right .email-app-details { + .email-scroll-area { + padding: 0 1rem; + } + + .email-detail-header { + padding: 0.5rem 1rem; + } + } + .email-user-list { + .email-media-list li .mail-details { + display: block; + .mail-items { + width: 70%; + display: inline-grid; + } + .mail-meta-item { + width: 15%; + position: absolute; + right: 1rem; + top: 1.5rem; + i, + svg, + .bullet { + display: none; + } + } + } + } + } + } +} + +@media (max-width: 359.98px) { + .email-application .content-area-wrapper .sidebar .email-app-sidebar { + width: 230px; + } + .email-application .email-app-details .email-detail-header { + padding: 0 0.5rem; + } +} + +// Keyframe animation +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + top: 100px; + } + 75% { + opacity: 0.5; + top: 0px; + } + 100% { + opacity: 1; + } +} + +// RTL Style +html[data-textdirection='rtl'] { + .email-application { + .email-app-details { + .email-prev, + .email-next { + .action-icon i, + .action-icon svg { + transform: rotate(180deg); + } + } + .go-back { + i, + svg { + transform: rotate(180deg); + } + } + } + } +} diff --git a/src/@core/scss/base/pages/app-file-manager.scss b/src/@core/scss/base/pages/app-file-manager.scss new file mode 100644 index 0000000..52e3ef2 --- /dev/null +++ b/src/@core/scss/base/pages/app-file-manager.scss @@ -0,0 +1,441 @@ +// ================================================================================================ +// File Name: app-file-manager.scss +// Description: SCC file for email application page. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +$file-manager-logo-height: 7.5rem; + +// file manager app container +.file-manager-application { + // file manager sidebar styles + .sidebar-file-manager { + width: $sidebar-width; + height: 100%; + background-color: $white; + border-top-left-radius: $border-radius-sm; + border-bottom-left-radius: $border-radius-sm; + transition: all 0.3s ease, background 0s; + + // styles for card-inner + .sidebar-inner { + height: inherit; + + .dropdown-actions { + width: 100%; + padding: 1.5rem 1.5rem 1.8rem; + } + + .sidebar-close-icon { + position: absolute; + top: 0.25rem; + right: 0.25rem; + font-size: $font-size-xl; + z-index: 5; + cursor: pointer; + } + + .add-file-btn { + & ~ .dropdown-menu { + width: 85%; + &:before { + display: none; + } + } + } + + // styles for card inner list + .sidebar-list { + position: relative; + height: calc(100% - 85px); // search section height 85px + .my-drive { + padding: 0.58rem 0; + .jstree-node { + .jstree-icon { + background-position: 0.5rem; + background-size: 1.3rem; + } + .jstree-anchor > .jstree-themeicon { + margin-right: 0.5rem; + } + &.jstree-closed { + > .jstree-icon { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $headings-color), + '#', + '%23' + )); + } + } + &.jstree-open { + > .jstree-icon { + background-image: url(str-replace( + str-replace($chevron-down, 'currentColor', $headings-color), + '#', + '%23' + )); + } + } + } + } + + .list-group-labels, + .storage-status { + margin-top: 2.2rem; + } + + .list-group-item { + padding: 0.58rem 1.9rem; + font-weight: 500; + border: 0; + border-radius: 0; + border-left: 2px solid transparent; + &:hover { + z-index: 0 !important; + } + + .list-group-item.active { + margin-top: 0; + } + } + .active { + background-color: transparent; + border-color: $primary; + color: $primary; + } + } + } + + // show sidebar on click + &.show { + transition: all 0.25s ease, background 0s !important; + transform: translateX(0) !important; + z-index: 10; + } + } + + // styles for content area wrapper + .content-area-wrapper { + border: 1px solid $border-color; + border-radius: $border-radius-sm; + + .content-right { + .content-wrapper { + padding: 0; + } + } + + // styles for file manger app area + .file-manager-main-content { + border-left: 1px solid $border-color; + height: inherit; + + // styles for searchbar + .file-manager-content-header { + padding: 0.4rem 1rem; + border-bottom: 1px solid $border-color; + background-color: $white; + border-top-right-radius: $border-radius; + + .file-manager-toggler { + cursor: pointer; + } + + input { + border-color: transparent; + box-shadow: none; + } + + .file-actions:not(.show) { + display: none; + } + } + + // styles for main content + .file-manager-content-body { + position: relative; + padding: 1.5rem 1.5rem 0; + height: calc(100% - 50px); // search area height + background-color: $white; + .view-container { + display: flex; + flex-wrap: wrap; + .file-manager-item { + border: 1px solid $border-color; + margin-bottom: 1.6rem; + box-shadow: none; + margin-right: 1rem; + transition: none; + cursor: pointer; + + .card-body { + padding: 1rem; + padding-bottom: 0.5rem; + } + + .custom-control-input:not(:checked) ~ .custom-control-label:before { + background-color: transparent; + } + + .file-logo-wrapper { + padding: 1rem; + height: $file-manager-logo-height; + background-color: $body-bg; + .feather-folder { + stroke: $gray-100; + } + } + + .dropdown-menu { + transform: none; + &:before { + display: none; + } + } + + .content-wrapper { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + height: auto; + } + + .file-date { + flex-grow: 1; + margin-bottom: 0; + } + + &.selected { + border-color: $primary; + } + } + + .file-name { + width: calc(100% - 26rem); + min-height: 1rem; + font-weight: 600; + flex-grow: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .files-section-title { + width: 100%; + } + + &.list-view { + flex-direction: column; + + .files-section-title { + display: none; + } + .files-header { + display: flex; + justify-content: space-between; + margin-left: 7.2rem; + margin-bottom: 1rem; + + p { + font-weight: 600; + } + + .file-last-modified, + .file-item-size { + margin-right: 3rem; + } + } + + .file-manager-item { + flex-direction: row; + flex: 0 0 100%; + align-items: center; + max-width: 100%; + margin-bottom: 0.75rem; + margin-right: 0; + .file-logo-wrapper { + padding-right: 0; + width: auto; + height: auto; + background-color: transparent !important; + + img { + height: 1.5rem; + } + + .feather-folder, + .feather-arrow-up { + width: 19px; + height: 18px; + } + + .dropdown { + position: absolute; + right: 1rem; + } + } + .custom-checkbox { + margin: 0 0.4rem 0 1.75rem; + } + + .file-accessed { + display: none; + } + + .file-size { + width: 5.71rem; + flex-grow: 1; + margin-bottom: 0; + } + } + .folder { + &.level-up { + .file-logo-wrapper { + margin-left: 3.5rem; + } + } + } + } + + &:not(.list-view) { + .files-header { + display: none; + } + + .file-manager-item { + .content-wrapper { + margin-bottom: 0rem; + } + + .file-date { + display: none; + } + .file-size { + color: $text-muted; + font-size: 85%; + } + &:not(.selected):not(:hover) { + .custom-checkbox, + .toggle-dropdown { + opacity: 0; + } + } + .feather-folder { + height: 32px; + width: 35px; + } + &.folder.level-up { + display: none !important; + } + .custom-checkbox { + position: absolute; + top: 1rem; + left: 1rem; + } + } + } + } + } + } + } +} + +// media query for max-width of 1200px +@media screen and (max-width: 1200px) { + .file-manager-application { + .content-right { + width: 100%; + } + .content-body { + margin-left: 0 !important; + } + .content-area-wrapper { + .file-manager-main-content { + border-left: 0; + } + } + + .sidebar-left { + .sidebar { + z-index: 10; + + .sidebar-file-manager { + transform: translateX(-112%); + transition: all 0.25s ease; + position: absolute; + } + } + } + } +} + +@include media-breakpoint-down(sm) { + .file-manager-application { + .view-container { + .file-manager-item { + flex: 47%; + } + } + } +} + +@include media-breakpoint-down(xs) { + .file-manager-application { + .content-area-wrapper { + .file-manager-main-content { + .file-manager-content-header { + padding-left: 0.5rem; + + .file-actions { + .dropdown { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + } + } + } + .view-container { + .file-manager-item { + flex: 0 0 100%; + max-width: 100%; + } + &.list-view { + .file-date, + .file-last-modified, + .file-size, + .file-item-size { + display: none !important; + } + } + } + } + } +} + +@include media-breakpoint-up(xs) { + .file-manager-application { + .view-container { + .file-manager-item { + flex: 0 0 47%; + max-width: 50%; + } + } + } +} + +@include media-breakpoint-up(sm) { + .file-manager-application { + .view-container { + .file-manager-item { + flex: 0 0 23%; + max-width: 25%; + } + } + } +} diff --git a/src/@core/scss/base/pages/app-invoice-list.scss b/src/@core/scss/base/pages/app-invoice-list.scss new file mode 100644 index 0000000..f7876b5 --- /dev/null +++ b/src/@core/scss/base/pages/app-invoice-list.scss @@ -0,0 +1,96 @@ +// ================================================================================================ +// File Name: app-invoice-list.scss +// Description: Invoice Layout page layouts SCSS. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy HTML Admin Template +// Version: 1.0 +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +.invoice-list-wrapper { + .dataTables_wrapper { + .dataTables_length, + .dataTables_filter { + label { + margin-top: 0.55rem; + } + } + .dataTables_length { + select { + margin-left: 0.5rem; + } + } + .invoice-list-table { + thead { + th { + &:before, + &:after { + left: auto; + } + + &:last-child { + &:before, + &:after { + display: none; + } + } + } + } + tbody { + .control:before { + background-color: $primary; + line-height: 1rem; + font-family: $font-family-base; + } + .col-actions { + a:not(.dropdown-item) { + color: $body-color; + } + .dropdown { + .dropdown-item { + display: flex; + align-items: center; + } + } + } + } + } + } + + @media (max-width: 470px) { + .invoice_status { + margin-top: 1rem; + width: 100%; + select { + margin-left: 0 !important; + } + } + } +} + +// Datatables Responsive Modal +.dtr-bs-modal { + .modal-header { + flex-direction: row-reverse; + } + .modal-body { + padding-left: 0; + padding-right: 0; + .table { + tr { + td { + border-color: $border-color; + .col-actions { + a:not(.dropdown-item) { + color: $body-color; + } + } + } + } + } + } +} diff --git a/src/@core/scss/base/pages/app-invoice-print.scss b/src/@core/scss/base/pages/app-invoice-print.scss new file mode 100644 index 0000000..3f586fc --- /dev/null +++ b/src/@core/scss/base/pages/app-invoice-print.scss @@ -0,0 +1,58 @@ +// ================================================================================================ +// File Name: app-invoice-print.scss +// Description: Invoice Layout page layouts SCSS. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy HTML Admin Template +// Version: 1.0 +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes + +html, +body { + background: $white !important; +} + +.invoice-print { + min-width: 768px !important; + font-size: 15px !important; + + .invoice-date-wrapper { + display: flex; + align-items: center; + + .invoice-date-title { + width: 8rem; + } + } + + i, + svg { + fill: $body-color !important; + } + + .invoice-total-wrapper { + width: 100%; + max-width: 12rem; + .invoice-total-item { + display: flex; + align-items: center; + justify-content: space-between; + .invoice-total-title { + // width: 92px; + margin-bottom: 0.35rem; + } + .invoice-total-amount { + margin-bottom: 0.35rem; + font-weight: 600; + } + } + } +} + +.invoice-print * { + border-color: rgba($color: $black, $alpha: 0.5) !important; + color: $body-color !important; +} diff --git a/src/@core/scss/base/pages/app-invoice.scss b/src/@core/scss/base/pages/app-invoice.scss new file mode 100644 index 0000000..91d13f7 --- /dev/null +++ b/src/@core/scss/base/pages/app-invoice.scss @@ -0,0 +1,166 @@ +// ================================================================================================ +// File Name: app-invoice.scss +// Description: Invoice Layout page layouts SCSS. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy HTML Admin Template +// Version: 1.0 +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +$product-details-bg: #fcfcfc; +$invoice-spacing: 1.45rem 0; +$invoice-card-body-padding: 2.5rem; + +// Invoice Preview, Edit & Add +.invoice-preview, +.invoice-edit, +.invoice-add { + .invoice-padding { + padding-left: $invoice-card-body-padding; + padding-right: $invoice-card-body-padding; + } + .table { + th:first-child, + td:first-child { + padding-left: 2.5rem; + } + } + .logo-wrapper { + display: flex; + align-items: center; + margin-bottom: 1.9rem; + .invoice-logo { + font-size: 2.142rem; + font-weight: bold; + letter-spacing: -0.54px; + margin-left: 1rem; + margin-bottom: 0; + } + } + .invoice-title { + font-size: 1.285rem; + margin-bottom: 1rem; + .invoice-number { + font-weight: 600; + } + } + .invoice-date-wrapper { + display: flex; + align-items: center; + + &:not(:last-of-type) { + margin-bottom: 0.5rem; + } + + .invoice-date-title { + width: 7rem; + margin-bottom: 0; + } + .invoice-date { + margin-left: 0.5rem; + font-weight: 600; + margin-bottom: 0; + } + } + .invoice-spacing { + margin: $invoice-spacing; + } + .invoice-number-date { + .title { + width: 115px; + } + } + .invoice-total-wrapper { + width: 100%; + max-width: 12rem; + .invoice-total-item { + display: flex; + align-items: center; + justify-content: space-between; + .invoice-total-title { + margin-bottom: 0.35rem; + } + .invoice-total-amount { + margin-bottom: 0.35rem; + font-weight: 600; + } + } + } + + @media (min-width: 768px) { + .invoice-title { + text-align: right; + margin-bottom: 3rem; + } + } +} + +// Invoice Edit & Add +.invoice-edit, +.invoice-add { + .invoice-preview-card { + .invoice-title { + text-align: left; + margin-right: 3.5rem; + margin-bottom: 0; + } + .invoice-edit-input, + .invoice-edit-input-group { + max-width: 11.21rem; + } + .invoice-product-details { + background-color: $product-details-bg; + padding: 3.75rem 3.45rem 2.3rem 3.45rem; + .product-details-border { + border: 1px solid $border-color; + border-radius: $border-radius; + } + } + .invoice-to-title { + margin-bottom: 1.9rem; + } + .col-title { + position: absolute; + top: -3.2rem; + } + .item-options-menu { + min-width: 20rem; + } + .repeater-wrapper { + &:not(:last-child) { + margin-bottom: 3rem; + } + } + .invoice-calculations { + .total-amt-title { + width: 100px; + } + } + } + @media (max-width: 769px) { + .invoice-preview-card { + .invoice-title { + margin-right: 0; + width: 115px; + } + .invoice-edit-input { + max-width: 100%; + } + } + } + @media (max-width: 992px) { + .col-title { + top: -1.5rem !important; + } + } + @media print { + hr { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + } +} diff --git a/src/@core/scss/base/pages/app-kanban.scss b/src/@core/scss/base/pages/app-kanban.scss new file mode 100644 index 0000000..d5e46df --- /dev/null +++ b/src/@core/scss/base/pages/app-kanban.scss @@ -0,0 +1,156 @@ +// Core variables and mixins + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +$avatar-add-new-color: rgba(108, 117, 125, 0.12); + +.kanban-application { + .kanban-wrapper { + width: 100%; + position: relative; + .kanban-container { + display: flex; + width: max-content !important; + + // Padding to prevent add-item btn from touching scrollbar + padding-bottom: 1.5rem; + + .kanban-board { + width: auto !important; + height: 100%; + background: transparent; + &:focus { + outline: 0; + } + + .kanban-board-header { + display: flex; + justify-content: space-between; + align-items: center; + padding-left: 0; + padding-right: 0; + .kanban-title-board { + color: $headings-color; + font-size: 1.1rem; + padding: 0.5rem; + font-weight: 500; + width: 100%; + max-width: 13rem; + white-space: nowrap; + overflow: hidden; + border-radius: $card-border-radius; + &:hover, + &:focus { + background-color: $white; + } + &:focus { + outline: 0; + } + } + .dropdown { + .dropdown-toggle:after { + display: none; + } + } + } + .kanban-drag { + min-height: 1rem; + min-width: 18.55rem; + padding: 0; + } + .kanban-title-button { + position: absolute; + left: -8px; + bottom: 0; + margin: -1rem 0; + &:focus { + box-shadow: none; + } + } + .kanban-item { + position: relative; + display: flex; + flex-direction: column; + background: $white; + width: 18.55rem; + padding: 1rem 1.2rem; + margin-bottom: 1.5rem; + box-shadow: $box-shadow; + cursor: pointer; + @include border-radius($card-border-radius); + transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1), background 0s, color 0s, border 0s; + + i, + svg { + stroke: $headings-color; + } + + .kanban-text { + font-weight: 500; + } + .item-dropdown { + display: none; + position: absolute; + right: 0rem; + cursor: pointer; + .dropdown-toggle:after { + display: none; + } + } + &:hover { + .item-dropdown { + display: block; + } + } + } + } + } + } + + // Add new board styles + .add-new-board { + margin-top: 22px; + float: left; + padding: 0 15px; + label { + font-size: 1rem; + font-weight: 700; + margin-bottom: 0; + cursor: pointer; + } + } + + // Update sidebar styles + .update-item-sidebar { + text-align: left; + + .avatar-add-member { + background-color: $avatar-add-new-color; + i, + svg { + stroke: $headings-color; + } + } + + .comment-editor { + .ql-editor { + min-height: 5.5rem; + } + } + .comment-toolbar.ql-toolbar { + width: 100%; + text-align: right; + border-top: 0; + } + } +} + +// For when item is being dragged +.kanban-item.gu-mirror { + .item-dropdown { + .dropdown-toggle:after { + display: none; + } + } +} diff --git a/src/@core/scss/base/pages/app-todo.scss b/src/@core/scss/base/pages/app-todo.scss new file mode 100644 index 0000000..ade2e5e --- /dev/null +++ b/src/@core/scss/base/pages/app-todo.scss @@ -0,0 +1,300 @@ +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +// Todo Application css starts +.todo-application { + // Content area wrapper border + .content-area-wrapper { + border: 1px solid $border-color; + border-radius: $card-border-radius; + + // Sidebar area starts + .sidebar { + .todo-sidebar { + width: $menu-expanded-width; + height: inherit; + display: flex; + background-color: $white; + border-top-left-radius: $card-border-radius; + border-bottom-left-radius: $card-border-radius; + transition: all 0.3s ease, background 0s; + + // Sidebar Menu + .todo-app-menu { + width: 100%; + z-index: 3; + .add-task { + padding: 1.5rem; + } + + // Sidebar menu list items + .sidebar-menu-list { + position: relative; + height: calc(100% - 80px); + } + .list-group .list-group-item { + padding: 0.58rem 1.5rem; + border: 0; + font-weight: $font-weight-bold; + letter-spacing: 0.4px; + border-left: 2px solid transparent; + border-radius: 0; + + .list-group-item.active { + margin-top: 0; + } + &:hover, + &:focus, + &.active { + background: transparent; + color: $primary; + } + &.active { + border-color: #7367f0; + } + } + } + } + } + // Sidebar area ends + + // Modal editor height + .ql-editor { + padding-bottom: 0; + } + + // Right content area common css starts + .content-right { + width: calc(100% - #{$menu-expanded-width}); + border-left: 1px solid $border-color; + .todo-app-list { + height: inherit; + } + // Todo Fixed search + .app-fixed-search { + padding: 0.35rem 0.5rem; + border-bottom: 1px solid $border-color; + background-color: $white; + border-top-right-radius: $border-radius; + .input-group:focus-within { + box-shadow: none; + } + input, + .input-group-text { + border: 0; + background-color: transparent; + } + } + + .todo-title { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .completed { + .todo-title { + color: $text-muted; + } + } + // ToDo task list area + .todo-task-list-wrapper { + position: relative; + height: calc(100% - 3.56rem); // ? search box height (3.49rem) + 1px bottom border till 2 decimals + background-color: $white; + border-radius: 0; + .todo-task-list { + padding: 0; + margin: 0; + list-style: none; + li { + cursor: pointer; + transition: all 0.2s, border-color 0s; + position: relative; + padding: 0.893rem 2rem; + &:not(:first-child) { + border-top: 1px solid $border-color; + } + &:hover { + transform: translateY(-4px); + box-shadow: 0 3px 10px 0 $border-color; + transition: all 0.2s; + } + .todo-title-wrapper { + display: flex; + justify-content: space-between; + } + .todo-title-area, + .title-wrapper { + display: flex; + align-items: center; + } + // Todo Item Action + .todo-item-action { + display: flex; + align-items: center; + justify-content: space-between; + a { + cursor: pointer; + font-size: 1.2rem; + line-height: 1.5; + } + } + + .badge-wrapper { + display: flex; + .badge:not(:last-child) { + margin-right: 0.5rem; + } + } + } + } + // When we search, no-results + .no-results { + display: none; + padding: 1.5rem; + text-align: center; + &.show { + display: block; + } + } + } + } + } + // Slide In close btn + .todo-item-action { + .close { + background: transparent !important; + box-shadow: none !important; + position: unset !important; + transform: none !important; + transition: none !important; + } + } + + // Drag & Drop Icon + .todo-item { + .drag-icon { + visibility: hidden; + cursor: move; + position: absolute; + left: 0.2rem; + width: 1.75rem; + height: 4rem; + padding: 0 5px; + } + &:hover { + .drag-icon { + visibility: visible; + } + } + } + + // validation text style + form .error:not(li):not(input) { + color: $danger; + font-size: 85%; + margin-top: 0.25rem; + } +} + +// while dragging task +.gu-mirror { + list-style-type: none; + list-style: none; + padding: 0.893rem 2rem; + background-color: $white; + border-top: 1px solid $border-color; + border-bottom: 1px solid $border-color; + box-shadow: 0 0 10px 0 rgba($black, 0.25); + .todo-title-wrapper { + display: flex; + justify-content: space-between; + } + .todo-title-area, + .title-wrapper { + display: flex; + align-items: center; + } + // Todo Item Action + .todo-item-action { + display: flex; + align-items: center; + justify-content: space-between; + } + .todo-title { + padding-left: 1rem; + } + &.completed { + .todo-title { + color: $text-muted; + } + } +} + +// Keyframe animation +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + top: 100px; + } + 75% { + opacity: 0.5; + top: 0px; + } + 100% { + opacity: 1; + } +} + +@include media-breakpoint-down(md) { + .todo-application { + .content-area-wrapper { + .sidebar-left { + .todo-sidebar { + transform: translateX(-110%); + transition: all 0.3s ease-in-out; + left: 0; + position: absolute; + z-index: 5; + border-top-left-radius: $border-radius-sm; + border-bottom-left-radius: $border-radius-sm; + } + &.show { + .todo-sidebar { + transform: translateX(0%); + transition: all 0.3s ease; + } + } + } + .content-right { + width: 100%; + border-left: 0; + .app-fixed-search { + border-top-left-radius: $border-radius; + } + } + // ? Responsive Todo list in columns + .todo-title-wrapper { + flex-direction: column; + .title-wrapper { + margin-bottom: 0.5rem; + } + .todo-title { + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + } + .badge-wrapper { + margin-right: auto !important; + } + } + } + } +} +@media (max-width: 349.98px) { + .todo-application .content-area-wrapper .sidebar .todo-sidebar { + width: 230px; + } +} +.horizontal-menu .todo-application .content-area-wrapper .content-right .todo-task-list-wrapper { + height: calc(100% - 3.6rem); // ? search box height (48.79px + 1px border = 3.56), horizontal needs 1 decimal point +} diff --git a/src/@core/scss/base/pages/app-user.scss b/src/@core/scss/base/pages/app-user.scss new file mode 100644 index 0000000..1c044db --- /dev/null +++ b/src/@core/scss/base/pages/app-user.scss @@ -0,0 +1,107 @@ +// ================================================================================================ +// File Name: app-users.scss +// Description: Invoice Layout page layouts SCSS. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy HTML Admin Template +// Version: 1.0 +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes + +$color-box-size: 2.714rem; + +// User List +.app-user-list { + .dataTables_wrapper { + .dataTables_length { + select { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + } + } + + @media (max-width: 767px) { + .header-actions { + .dataTables_length { + text-align: left; + } + & > div[class^='col-']:last-child { + padding-left: 0; + } + } + } +} + +// User View +.app-user-view { + .user-info-wrapper { + .user-info-title { + width: 11.785rem; + } + } + .user-total-numbers { + margin-top: 2.428rem; + .color-box { + display: flex; + align-items: center; + justify-content: center; + height: $color-box-size; + width: $color-box-size; + border-radius: $border-radius; + + i, + svg { + height: 1.285rem; + width: 1.285rem; + font-size: 1.285rem; + } + } + } +} + +// User Edit +.app-user-edit { + .nav-pills { + margin-bottom: 2.3rem; + .nav-link { + i, + svg { + font-size: 0.921rem; + margin-right: 0.5rem; + } + } + } + + @media (max-width: 576px) { + .nav-pills { + .nav-link { + i, + svg { + height: 1.2rem; + width: 1.2rem; + font-size: 1.2rem; + margin-right: 0; + } + } + } + } +} + +// RTL +html[data-textdirection='rtl'] { + .app-user-list { + .dataTables_filter { + input { + margin-right: 0; + margin-left: 0.5rem; + } + } + + .dropdown .dropdown-menu.dropdown-menu-right { + right: 3.57rem !important; + } + } +} diff --git a/src/@core/scss/base/pages/dashboard-ecommerce.scss b/src/@core/scss/base/pages/dashboard-ecommerce.scss new file mode 100644 index 0000000..eadade7 --- /dev/null +++ b/src/@core/scss/base/pages/dashboard-ecommerce.scss @@ -0,0 +1,66 @@ +// ================================================================================================ +// File Name: aggrid.scss +// Description: SCC file for Aggrid. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +// Statistics Card +.card-statistics { + .statistics-body { + padding: 2rem 2.4rem !important; + } + + @include media-breakpoint-down(md) { + .card-header, + .statistics-body { + padding: 1.5rem !important; + } + } +} + +// Company Table Card +.card-company-table { + thead th { + border: 0; + } + td { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + + .avatar { + background-color: $body-bg; + margin-right: 2rem; + + img { + border-radius: 0; + } + } + } +} + +// Browser State Card +.card-browser-states { + .browser-states { + &:first-child { + margin-top: 0; + } + &:not(:first-child) { + margin-top: 1.7rem; + } + } +} + +// Transaction Card +.card-transaction { + .transaction-item { + &:not(:last-child) { + margin-bottom: 1.5rem; + } + } +} diff --git a/src/@core/scss/base/pages/page-auth.scss b/src/@core/scss/base/pages/page-auth.scss new file mode 100644 index 0000000..081c443 --- /dev/null +++ b/src/@core/scss/base/pages/page-auth.scss @@ -0,0 +1,106 @@ +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +$auth-1-inner-max-width: 400px !default; + +.auth-wrapper { + display: flex; + flex-basis: 100%; + min-height: 100vh; + min-height: calc(var(--vh, 1vh) * 100); + width: 100%; + + .auth-inner { + width: 100%; + position: relative; + } + + &.auth-v1 { + align-items: center; + justify-content: center; + overflow: hidden; // For v1 scroll for long auth form + .auth-inner { + &:before { + width: 244px; + height: 243px; + content: ' '; + position: absolute; + top: -54px; + left: -46px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPQAAADzCAMAAACG9Mt0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAA9KADAAQAAAABAAAA8wAAAADhQHfUAAAAyVBMVEUAAAD///+AgP+AgP9mZv+AgNWAgP9tbf9gYP+AgP9xcf9mZv+AZuaAgP9dXf90dOhiYv92dv9mZu5mZv93d+53d/9paf94afCAcfFrXvJra/9mZvJzZvJzc/JoaP96b/Rqav91aupsYvV2bOt2bPVxaPZ7cfZqavZyau1waPd4aO9xafBxafh4afB1bfh4avFuZ/F2afJzZvJzZ/N0aPN0bvN3bPR0ae5yZ/R3be93bfR1au9zafBxbPVzavV0a/F0a/ZyafFwaPKZm3nTAAAAQ3RSTlMAAQIEBQYGBwgICQoKCgsLDQ0PDw8PERESExMUFBQWFxgYGhoaGxsdHSAgIiIiIyQlJygqLCwtLi8vLzAzNDU3Nzg7h9vbHgAAA9RJREFUeNrt3ftS2kAUx/Fc1gSyWsErtuJdRDQiiteolb7/QzUoTm07k4AzObuu3/MCez45yWbzT36eZ6b8erO1e1B97baadd+zocJWmg0HaXe/+uqmg2GWtkLT5Lle1m9LdhG2+1lvzuiUO1knEF81yFc1N+35m15kZOGodz1vyLx+v2Lseq/erxtZd/NuweCTtfiwaWLOD5FnsqI7+VnP3y8afnEs3Es/1+H1qvETwuq18B7e6VlwLup1ZM8kWWQBOsrmHL7GVtxvYRZYgQ4ywae61ffsqH5Lbq20bQm6ncp9P2ehJegwE/u+rl95ttSwLrVSc2ANetAU28dSa9Cp2E623bUG3d2VWmn/wBq0XCugQYMGLdVKoOJaoiuok1NdXSW1WAUfRPtRUllflaJf5ZE/O9pXVbZUPTov5c+IDqvtRwStdTgLutoxy6GnGfYb2o+1I2gd+1OiqzfLocvVE7TSDqG1mgodaqfQZbvZC9rXjqG1X45WzqFVKVpk0LLo4lGP0ZGD6KgMnTiITkrQgXYQrYNitHISrYrRsZPouBhdcxJdK0YnTqKTYrR2Eq1BgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRoh9DH59ag86ACoSYOL61B55EUQk1s3VqDzsNHhJpYe7QGncfMSHUxaliCHgcKSXVxeWQJehwdJdXF4dAS9DgkTKqLxuibFeiXODixNi7OrEC/BP+JtbE0WrYA/RrxKNfH2YUF6NegSbk+Gk87xtErN6EsWm88fzeMXpwE9EruLns/l42io4dJFLPo2/Po1w+D6IW7t9Bt2SPx3vOOMfS7eHVZtN54ulg2go56138Ct4XRunE2Ovsmjg46WeddUoUWr6WL0fCoIYgO2/2s91fstDZQjcPL0ePt5flpdXUwqW46uMrS1j95JNpQrW0dHp9UV/uT2m416/8HVGg3qzhpBjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KBBgwYNGjRo0KC/FDpx0pwUo2tOomvF6NhJdFyMVk6iVTE6cBIdeF9vJyvZx/I/AzuIjsrQvoNovwzt4FamSs0Ojrp80PmvoB0zh940pb7azf1yg7t0LIt978uppzbnalfucDW92ZndLPRmKweGPduYJ+zoM5/Dk+gD5NdvLhXXPp88qcUqmEH5G5JZRs6cuxwIAAAAAElFTkSuQmCC'); + @include media-breakpoint-down(xs) { + display: none; + } + } + &:after { + width: 272px; + height: 272px; + content: ' '; + position: absolute; + bottom: -55px; + right: -75px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARAAAAEQCAMAAABP1NsnAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABEKADAAQAAAABAAABEAAAAAAQWxS2AAAAwFBMVEUAAAD///+AgICAgP9VVaqqVf+qqv+AgL+AgP9mZsxmZv+ZZv+AgNWAgP9tbdttbf+Sbf+AYN+AgN+AgP9xceNmZv+AZuaAZv90dOh0dP9qav+AauqAav+AgP92dv9tbf+Abe2Abf93Zu53d+6AcO94afCAcfF5a+R5a/JzZuaAZvKAc/J5bed5bfOAaPN6b/R1auqAavR6ZvV6cPV2bOuAbPV7aPZ2be2AbfZ7au17avZ3Zu53b+57a+97a/d4aO9J6CoeAAAAQHRSTlMAAQICAwMDBAQFBQUGBgcHBwgICAkKCgoLCwwMDAwNDg4ODw8QERITExQUFBUVFhcYGBkZGhobHBwdHR4eHx8gJ5uMWwAAA/FJREFUeNrt2G1XEkEYxvHZNk2xHGzdbKFl0cTwgdSkCKzu7/+t4pw6sAjtjIueE/f8r3fMO35nZnbuy5gVGcvfzJe0rnTfGI+MggGJRUZnbpPIhJKt88nU53JnFULvyISY6KAv8vPj0vr2rYwiE2Z2B9J+uNYcyyQxwWZvaeGH3G4bMjsvI/kcwTC/V+7kLoahlITzQojP3ZFgsJCh7IJQzpX0QFj4uMiY18eDMZ9bZCF9OQahnK6cm/Y7js0sh/LF3Auv1PlQd3MxbdXYIQspV44EEEAAAWTNDAYYkKdJbNMsLzYueZbaZ2iM46RVbHBaiZ9Js+nHEdli42N9XuSen5hGp1CQTuOJQDRsD99N4gMSpYWapNH6IJo83CIeILZQFesEaber79NCWRoukOpNEnW0gXQqD81w6ACxhbrYde7VuFCYeA2QRCNIsgZISyNIqz6IyhPjOjNVIFYniK3dmKU6QdLaJUimEySrDZLrBMlrgxRKU7sxCw/EMe0CAggggADySJCqxixIkKpNEh6IozELD8RxjQACCCCAAPJIkKrGLEgQXqqAAEJjxrQLCCCAAEJjRmNGY8a0CwgggABCYwYIfQgggNCYMe0CAggggNCY0ZjRmDHtAgIIIIAAQmNGHwIIIDRmTLuAAAIIIDRmNGY0Zky7gAACCCCA0JjRhwACCI0Z0y4ggAACCI0ZjRmNGdMuIIAAAgggNGb0IYAAQmPGtAsIIIAAQmNGY0ZjxrQLCCCAAAIIjRl9CCCA0Jgx7QICCCCA0JjRmNGYMe0CAggggABCY0YfAgggNGZMu4AAAgggNGY0ZjRmTLuAAAIIIIDQmNGHAAIIjRnTLiCAAAIIjRmNGY0ZIEy7gAACCCA0ZvQhgABCY8a0CwgggABCY0ZjBgiNGdMuIIAAAgiN2f/Sh+Q6PfLaIJlOkKw2SKoTJK3dmFmdILb2tBvrBIlrg5iWRo+WqQ+SaARJ1gCJAzsxThCN16p1vNurGjNjoo42j07kAHFskoY2kEbl33U0ZgoPjXW+Rl0gkarnahqtDaJKxMPDDWIiNafGenh4gExvVhXfmk7Da6L1AVGxSby2h6MxK79Zk42ea1pJbJ48sU2zDezQ8iy1z6BBwoyjMQsvXp8YQAAhgADilRfyy+wf8WqZZUfGZihvgZiB3FybC+kCUU5XLkAo50C+gbBQdUzkAIVyejIAYfFTI1solHP2HgNCnHn5AYNy4jvpoVB6fVzL91cwzLJ9Lfd7S0jhehxO5H5/yePr1W6gHonI7fJ5ORSR/n6Q2yQanq763zuXU5LJZRKiyD/W9/pjkdPZz0/yJ8fqVyry+qQZDMjJKoDfy8bRVhHhQTwAAAAASUVORK5CYII='); + z-index: -1; + @include media-breakpoint-down(xs) { + display: none; + } + } + } + } + + &.auth-v2 { + align-items: flex-start; + .auth-inner { + height: 100vh; + overflow-y: auto; // For v2 scroll for long auth form + height: calc(var(--vh, 1vh) * 100); + } + .brand-logo { + position: absolute; + top: 2rem; + left: 2rem; + margin: 0; + z-index: 1; + } + } + + &.auth-v1 .auth-inner { + max-width: $auth-1-inner-max-width; + } + + .brand-logo { + display: flex; + justify-content: center; + margin: 1rem 0 2rem 0; + .brand-text { + font-weight: 600; + } + } + + .auth-footer-btn { + .btn { + padding: 0.6rem !important; + &:not(:last-child) { + margin-right: 1rem; + } + } + } +} + +@media (min-width: 1200px) { + .auth-wrapper { + &.auth-v2 .auth-card { + width: $auth-1-inner-max-width; + } + } +} + +.auth-wrapper .auth-bg { + background-color: $white; +} + +.dark-layout { + .auth-wrapper .auth-bg { + background-color: $theme-dark-card-bg; + } +} diff --git a/src/@core/scss/base/pages/page-blog.scss b/src/@core/scss/base/pages/page-blog.scss new file mode 100644 index 0000000..eef2a3d --- /dev/null +++ b/src/@core/scss/base/pages/page-blog.scss @@ -0,0 +1,63 @@ +// ================================================================================================ +// File Name: blog.scss +// Description: blog related pages layouts SCSS. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +// blog list +.blog-list-wrapper { + // Truncate blog titles with 2 lines + .blog-title-truncate { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + } + + // Truncate blog content with 3 lines + .blog-content-truncate { + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + } +} + +// Blog Detail +.blog-detail-wrapper { + .blog-detail-share .dropdown-menu { + min-width: auto; + } +} + +// Blog Sidebar +.blog-sidebar { + .blog-recent-posts { + img { + object-fit: cover; + } + // below scss is written because recent blog posts' titles are links to other pages + .text-body-heading:hover { + color: $link-hover-color !important; + } + } + + .blog-recent-post-title, + .blog-category-title { + line-height: 23px; + letter-spacing: 0; + } +} + +// Blog Edit +.blog-edit-wrapper { + .border { + border-color: $input-border-color !important; + } +} \ No newline at end of file diff --git a/src/@core/scss/base/pages/page-coming-soon.scss b/src/@core/scss/base/pages/page-coming-soon.scss new file mode 100644 index 0000000..850b12e --- /dev/null +++ b/src/@core/scss/base/pages/page-coming-soon.scss @@ -0,0 +1,21 @@ +// ================================================================================================ +// File Name: coming-soon.scss +// Description: Coming Soon pages custom scss +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +/*========== Coming Soon Background Image =========*/ + +.clockCard { + float: left; +} + +.getting-started { + font-size: 3rem; +} +.lead { + font-size: 1rem; +} diff --git a/src/@core/scss/base/pages/page-faq.scss b/src/@core/scss/base/pages/page-faq.scss new file mode 100644 index 0000000..8511837 --- /dev/null +++ b/src/@core/scss/base/pages/page-faq.scss @@ -0,0 +1,66 @@ +// =============================================================================================== +// File Name: page-faq.scss +// Description: FAQ Page Content SCSS +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +// faq search section +.faq-search { + background-size: cover; + background-color: rgba($primary, 0.12) !important; + .faq-search-input { + .input-group { + // remove input group box shadow on inside focus + &:focus-within { + box-shadow: none; + } + } + } +} + +// Contact cards +.faq-contact { + .faq-contact-card { + background-color: rgba($gray-100, 0.12); + } +} + +// make jumbotron card body padding +@include media-breakpoint-up(lg) { + .faq-search { + .card-body { + padding: 8rem !important; + } + } +} + +// make jumbotron card body padding +@include media-breakpoint-only(md) { + .faq-search { + .card-body { + padding: 6rem !important; + } + } +} + +@include media-breakpoint-up(md) { + // faq search input width fixed for medium up screen + .faq-search { + .faq-search-input { + .input-group { + width: 576px; + margin: 0 auto; + } + } + } + // faq navigation fix the navigation section so that vector image not move as per collapse + .faq-navigation { + height: 550px; + } +} diff --git a/src/@core/scss/base/pages/page-knowledge-base.scss b/src/@core/scss/base/pages/page-knowledge-base.scss new file mode 100644 index 0000000..790e76e --- /dev/null +++ b/src/@core/scss/base/pages/page-knowledge-base.scss @@ -0,0 +1,77 @@ +// =============================================================================================== +// File Name: knowledge-base.scss +// Description: Knowledge Base Page Content SCSS +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +$svg-bg: #fcfcfc; + +// Knowledge-base jumbotron scss +.knowledge-base-bg { + background-size: cover; + background-color: rgba($primary, 0.12) !important; + + // knowledge base search + .kb-search-input { + .input-group { + // remove input group box shadow on inside focus + &:focus-within { + box-shadow: none; + } + } + } +} + +// +.kb-search-content-info { + .kb-search-content { + .card-img-top { + background-color: $svg-bg; + } + } + .no-result { + &.no-items { + display: none; + } + } +} +// knowledge base title +.kb-title { + display: flex; + align-items: center; +} + +//search input width fixed for medium up screen +@include media-breakpoint-up(md) { + .knowledge-base-bg { + .kb-search-input { + .input-group { + width: 576px; + margin: 0 auto; + } + } + } +} + +// make jumbotron card body padding +@include media-breakpoint-up(lg) { + .knowledge-base-bg { + .card-body { + padding: 8rem; + } + } +} +// make jumbotron card body padding +@include media-breakpoint-only(md) { + .knowledge-base-bg { + .card-body { + padding: 6rem; + } + } +} diff --git a/src/@core/scss/base/pages/page-misc.scss b/src/@core/scss/base/pages/page-misc.scss new file mode 100644 index 0000000..cdcde35 --- /dev/null +++ b/src/@core/scss/base/pages/page-misc.scss @@ -0,0 +1,36 @@ +// ================================================================================================ +// File Name: page-misc.scss +// Description: Coming Soon pages custom scss +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +$misc-inner-max-width: 750px; + +.misc-wrapper { + display: flex; + flex-basis: 100%; + min-height: 100vh; + width: 100%; + align-items: center; + justify-content: center; + + .misc-inner { + position: relative; + max-width: $misc-inner-max-width; + } + + .brand-logo { + display: flex; + justify-content: center; + position: absolute; + top: 2rem; + left: 2rem; + margin: 0; + .brand-text { + font-weight: 600; + } + } +} diff --git a/src/@core/scss/base/pages/page-pricing.scss b/src/@core/scss/base/pages/page-pricing.scss new file mode 100644 index 0000000..4e1f965 --- /dev/null +++ b/src/@core/scss/base/pages/page-pricing.scss @@ -0,0 +1,100 @@ +// =============================================================================================== +// File Name: pricing.scss +// Description: pricing Page Content SCSS +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +// pricing card +.pricing-card { + // card active border + .card { + &.popular { + border: 1px solid $primary; + } + } + // list group circle + .list-group-circle { + font-weight: $font-weight-bold; + color: $headings-color; + } + // plan price value + .annual-plan { + margin-bottom: 1.7rem; + .plan-price { + sup { + top: -1.5rem; + left: 0.2rem; + } + span { + font-size: 3.5rem; + line-height: 0.8; + } + sub { + bottom: 0; + right: 0.14rem; + } + } + + // annual pricing value + .annual-pricing { + position: absolute; + margin: auto; + left: 0; + right: 0; + } + } +} + +// trial free card +.pricing-free-trial { + height: 16.71rem; + background-color: rgba(186, 191, 199, 0.12); + margin-right: -$content-padding; + margin-left: -$content-padding; + margin-top: 7.5rem; + margin-bottom: 6.3rem; + + // row default margin zero because it cause the horizontal scroll bar + .row { + margin: 0; + } + // content container + .pricing-trial-content { + padding: 0 1rem; + // image + img { + position: relative; + top: -3.1rem; + } + } +} + +// price trial ad card in small screen +@include media-breakpoint-down(sm) { + .pricing-free-trial { + height: auto; + .pricing-trial-content { + flex-direction: column; + align-items: center; + .pricing-trial-img { + top: 0; + margin-top: 2rem; + height: 150px; + } + } + } +} + +// free trial div margin change on below screen +@include media-breakpoint-down(xs) { + .pricing-free-trial { + margin-right: -1.2rem; + margin-left: -1.2rem; + } +} diff --git a/src/@core/scss/base/pages/page-profile.scss b/src/@core/scss/base/pages/page-profile.scss new file mode 100644 index 0000000..7d41c12 --- /dev/null +++ b/src/@core/scss/base/pages/page-profile.scss @@ -0,0 +1,146 @@ +// ================================================================================================ +// File Name: page-profile.scss +// Description: Page content different types of users page layouts SCSS. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +// User profile Scss +#user-profile { + /*-------------profile header section---------*/ + .profile-header { + overflow: hidden; + + // profile picture container + .profile-img-container { + position: absolute; + bottom: -2rem; + left: 2.14rem; + z-index: 2; + + // profile image + .profile-img { + height: 8.92rem; + width: 8.92rem; + border: 0.357rem solid $white; + background-color: $white; + border-radius: $card-border-radius; + box-shadow: $box-shadow; + } + } + + // profile navbar padding + .profile-header-nav { + .navbar { + padding: 0.8rem 1rem; + + // navbar toggle button + .navbar-toggler { + line-height: 0; + } + .profile-tabs { + .nav-item { + i, + svg { + margin-right: 0; + } + } + } + } + } + } + + /*-------- profile info section --------*/ + #profile-info { + // profile star icons + .profile-star { + color: $gray-100; + + i, + svg { + // filled star icons + &.profile-favorite { + fill: $warning; + stroke: $warning; + } + } + } + + // filled heart icons + .profile-likes { + fill: $danger; + stroke: $danger; + } + + // progress-bar height + .profile-polls-info { + .progress { + height: 0.42rem; + } + } + } + + //profile-latest-img - hover effect + .profile-latest-img { + transition: all 0.2s ease-in-out; + &:hover { + transform: translateY(-4px) scale(1.2); + z-index: 10; + } + img { + margin-top: 1.28rem; + } + } + + // Load More Button - Block UI + .block-element { + .spinner-border { + border-width: 0.14rem; + } + } +} + +// Latest Photo Section - Image size +@include media-breakpoint-down(md) { + #user-profile { + .profile-latest-img { + img { + width: 100%; + } + } + } +} + +@include media-breakpoint-up(md) { + // navbar tabs pills + .profile-header-nav { + .profile-tabs { + width: 100%; + margin-left: 13.2rem; + } + } +} + +// profile img and title +@include media-breakpoint-down(xs) { + #user-profile { + .profile-header { + .profile-img-container { + .profile-img { + height: 100px; + width: 100px; + } + .profile-title { + h2 { + font-size: 1.5rem; + } + } + } + } + } +} diff --git a/src/@core/scss/base/pages/ui-colors.scss b/src/@core/scss/base/pages/ui-colors.scss new file mode 100644 index 0000000..6afcbbe --- /dev/null +++ b/src/@core/scss/base/pages/ui-colors.scss @@ -0,0 +1,25 @@ +// =============================================================================================== +// File Name: colors.scss +// Description: Colors Page Content SCSS +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +.colors-list { + li { + padding: 0.4rem; + i, + svg { + height: 1.2rem; + width: 1.2rem; + top: 0; + position: relative; + margin-right: 0.25rem; + } + } +} diff --git a/src/@core/scss/base/pages/ui-feather.scss b/src/@core/scss/base/pages/ui-feather.scss new file mode 100644 index 0000000..7fe836a --- /dev/null +++ b/src/@core/scss/base/pages/ui-feather.scss @@ -0,0 +1,59 @@ +@import '../bootstrap-extended/include'; // Bootstrap includes + +.icon-search-wrapper { + max-width: 300px; + + .feather-search { + height: 1.15rem; + width: 1.15rem; + } +} +#icons-container { + .icon-card { + width: 128px; + } +} + +// Active Card +.icon-card { + border: 1px solid transparent; + &.active { + border-color: $primary; + i, + svg { + color: $primary; + } + } +} + +@media (max-width: 1024px) { + #icons-container { + .icon-card { + width: 126px; + } + } +} + +@media (max-width: 768px) { + #icons-container { + .icon-card { + width: 131px; + } + } +} + +@media (max-width: 414px) { + #icons-container { + .icon-card { + width: 110px; + } + } +} + +@media (max-width: 375px) { + #icons-container { + .icon-card { + width: 150px; + } + } +} diff --git a/src/@core/scss/base/plugins/charts/chart-apex.scss b/src/@core/scss/base/plugins/charts/chart-apex.scss new file mode 100644 index 0000000..616d3aa --- /dev/null +++ b/src/@core/scss/base/plugins/charts/chart-apex.scss @@ -0,0 +1,158 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +.apexcharts-canvas { + line[stroke='transparent'] { + display: none; + } + .apexcharts-tooltip { + background: $white; + border-color: $border-color; + .apexcharts-tooltip-title { + background: $white !important; + border-color: $border-color !important; + font-weight: 600; + } + &.apexcharts-theme-dark { + .apexcharts-tooltip-text-label, + .apexcharts-tooltip-text-value { + color: $white; + } + } + } + .apexcharts-xaxistooltip, + .apexcharts-yaxistooltip { + background: $body-bg; + border-color: $border-color; + &:after, + &:before { + border-bottom-color: $body-bg; + } + } + .apexcharts-text, + .apexcharts-tooltip-text, + .apexcharts-datalabel-label, + .apexcharts-datalabel { + font-family: $font-family-base !important; + fill: $body-color; + font-weight: 400; + filter: none; + } + + .apexcharts-pie-label { + fill: white; + filter: none; + } + + .apexcharts-pie { + .apexcharts-pie-series .apexcharts-pie-area { + stroke-width: 0; + } + .apexcharts-datalabel-label, + .apexcharts-datalabel-value { + font-size: 1.5rem; + } + } + + .apexcharts-marker { + box-shadow: none; + } + .apexcharts-legend-series { + & + .apexcharts-legend-series { + margin-top: 0.625rem; + } + .apexcharts-legend-text { + margin-left: 0.5rem; + color: $body-color !important; + font-size: 1rem !important; + } + } + .apexcharts-xcrosshairs, + .apexcharts-ycrosshairs, + .apexcharts-gridline { + stroke: $border-color; + } +} +.apexcharts-legend.position-bottom { + bottom: 3rem; +} + +.dark-layout { + .apexcharts-canvas { + .apexcharts-xaxis-tick, + line { + stroke: $theme-dark-border-color; + } + .apexcharts-heatmap { + .apexcharts-heatmap-rect { + stroke: $theme-dark-border-color; + } + } + .apexcharts-radialbar { + .apexcharts-radialbar-track .apexcharts-radialbar-area { + stroke: $theme-dark-body-bg; + } + } + .apexcharts-radar-series { + polygon { + fill: $theme-dark-body-bg; + stroke: $theme-dark-border-color; + } + } + .apexcharts-datalabels-group { + .apexcharts-datalabel-value { + fill: $white; + } + } + .apexcharts-tooltip { + background: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + .apexcharts-tooltip-title { + background: $theme-dark-card-bg !important; + border-color: $theme-dark-border-color !important; + color: $white; + } + .apexcharts-tooltip-text-label, + .apexcharts-tooltip-text-value { + color: $white; + } + } + .apexcharts-xaxistooltip, + .apexcharts-yaxistooltip { + background: $theme-dark-body-bg; + border-color: $theme-dark-border-color; + &:after, + &:before { + border-bottom-color: $theme-dark-border-color; + } + .apexcharts-xaxistooltip-text, + .apexcharts-yaxistooltip-text { + color: $white; + } + } + .apexcharts-xaxistooltip { + .apexcharts-xaxistooltip-text { + color: $white; + } + } + .apexcharts-yaxis-label, + .apexcharts-xaxis-label, + .apexcharts-tooltip-text, + .apexcharts-datalabel-label { + fill: $theme-dark-body-color; + } + .apexcharts-marker { + stroke: $theme-dark-border-color; + } + .apexcharts-legend-series { + .apexcharts-legend-text { + color: $theme-dark-body-color !important; + } + } + .apexcharts-xcrosshairs, + .apexcharts-ycrosshairs, + .apexcharts-gridline { + stroke: $theme-dark-border-color; + } + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-context-menu.scss b/src/@core/scss/base/plugins/extensions/ext-component-context-menu.scss new file mode 100644 index 0000000..97dcc2c --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-context-menu.scss @@ -0,0 +1,101 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +/********* CONTEXT MENU *********/ + +.context-menu-list { + margin: 0; + padding: $dropdown-padding-y 0; + border-radius: $dropdown-border-radius; + border: $dropdown-border-width solid $dropdown-border-color; + box-shadow: $dropdown-box-shadow; + min-width: $dropdown-min-width; + + .context-menu-item { + padding: $dropdown-item-padding-y $dropdown-item-padding-x; + color: $dropdown-color; + + &.context-menu-submenu:after { + border-color: transparent transparent transparent $dropdown-color; + } + + &.context-menu-hover, + &:hover, + &:focus { + background-color: $dropdown-link-hover-bg !important; + color: $primary; + + &.context-menu-submenu:after { + border-color: transparent transparent transparent $primary !important; + } + } + + &:focus { + outline: 0; + } + } +} + +// Dark Layout +.dark-layout { + .context-menu-list { + background-color: $theme-dark-body-bg; + border-color: $theme-dark-border-color; + + .context-menu-item { + background-color: $theme-dark-body-bg; + + span { + color: $theme-dark-body-color; + } + + &.context-menu-hover { + > span { + color: $primary; + } + } + + &.context-menu-submenu:after { + border-color: transparent transparent transparent $theme-dark-body-color; + } + } + } +} + +// RTL +[data-textdirection='rtl'] { + .context-menu-list { + z-index: 1031 !important; + + .context-menu-item { + &.context-menu-submenu:after { + transform: rotate(180deg); + top: 1.2rem; + right: 1rem; + left: auto; + border-color: transparent $dropdown-color transparent transparent; + } + + &.context-menu-hover { + &.context-menu-submenu:after { + border-color: transparent $primary transparent transparent !important; + } + } + + > .context-menu-list { + left: 100%; + margin-left: 0; + } + } + } + + .dark-layout { + .context-menu-list { + .context-menu-item { + &.context-menu-submenu:after { + border-color: transparent $theme-dark-body-color transparent transparent; + } + } + } + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-drag-drop.scss b/src/@core/scss/base/plugins/extensions/ext-component-drag-drop.scss new file mode 100644 index 0000000..53176d6 --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-drag-drop.scss @@ -0,0 +1,51 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +// draggable cursor - grab +.draggable { + cursor: grab; + .gu-unselectable & { + cursor: grabbing; + } +} + +// For Multi List +#multiple-list-group-a, +#multiple-list-group-b { + min-height: 5.714rem; +} + +// For Handle +#dd-with-handle { + .list-group { + min-height: 5.714rem; + .handle { + padding: 0 5px; + margin-right: 5px; + background-color: rgba($black, 0.1); + cursor: move; + font-size: 1.2rem; + } + } +} +.gu-mirror { + .handle { + padding: 0 5px; + margin-right: 5px; + background-color: rgba($black, 0.1); + cursor: move; + font-size: 1.2rem; + } +} + +// Dak Layout +.dark-layout { + // Drag & drop moving element + .gu-mirror { + &:not(.badge):not([class*='col-']) { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + box-shadow: $theme-dark-box-shadow; + } + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-media-player.scss b/src/@core/scss/base/plugins/extensions/ext-component-media-player.scss new file mode 100644 index 0000000..3d29c1e --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-media-player.scss @@ -0,0 +1,21 @@ +// ================================================================================================ +// File Name: ext-component-media-player.scss +// Description: Media Player SCSS. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +// to remove outline on focus +.audio-player { + &:focus { + outline: 0; + } +} +.plyr__controls { + justify-content: flex-start; +} +.plyr__progress { + flex-grow: 1; +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-ratings.scss b/src/@core/scss/base/plugins/extensions/ext-component-ratings.scss new file mode 100644 index 0000000..11afdd8 --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-ratings.scss @@ -0,0 +1,57 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +.jq-ry-container:not(.multi-color-ratings) { + .jq-ry-normal-group { + i, + svg { + fill: $gray-100; + } + } + .jq-ry-rated-group { + i, + svg { + fill: $warning; + } + } +} + +// Dark Layout +.dark-layout { + .jq-ry-container:not(.multi-color-ratings) { + .jq-ry-normal-group { + i, + svg { + fill: $theme-dark-text-muted-color; + } + } + } +} + +// RTL +[data-textdirection='rtl'] { + .jq-ry-container:not(.multi-color-ratings) { + .jq-ry-normal-group { + i, + svg { + fill: $warning; + } + } + .jq-ry-rated-group { + i, + svg { + fill: $gray-100; + } + } + } + .dark-layout { + .jq-ry-container:not(.multi-color-ratings) { + .jq-ry-rated-group { + i, + svg { + fill: $theme-dark-text-muted-color; + } + } + } + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-sliders.scss b/src/@core/scss/base/plugins/extensions/ext-component-sliders.scss new file mode 100644 index 0000000..4ef527c --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-sliders.scss @@ -0,0 +1,145 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +$slider_width: 6px; +$handle-size: 1rem; + +.noUi-target { + background-color: rgba($primary, 0.12); + border-width: 0; + box-shadow: none; + border-radius: 1rem; + &.noUi-connect { + box-shadow: none; + } +} + +// horizontal slider and it's sizes +.noUi-horizontal { + height: $slider_width; + .noUi-handle { + width: $handle-size; + height: $handle-size; + cursor: pointer; + right: -($handle-size - ($handle-size/7)); + top: -4px; + } + .noUi-tooltip { + bottom: 135% !important; + } +} +// pips, marker and value +.noUi-pips { + color: $text-muted; +} +.noUi-marker { + background: $border-color; +} +.noUi-value { + font-size: 0.857rem; +} +.noUi-marker-horizontal.noUi-marker, +.noUi-marker-horizontal.noUi-marker-large { + height: 8px; +} + +// slider handle styles +.noUi-handle { + box-shadow: none; + border: none; + + &:after, + &:before { + display: none; + } + border-radius: 50%; + background: $white; + border: 2px solid $primary; +} + +// default selected slide area style +.noUi-connect { + background: $primary; + box-shadow: none; +} + +// Tooltip style +.noUi-tooltip { + transform: translate(-10%, -50%); + font-size: 0.857rem; + border: none; + color: $body-color; + background-color: $body-bg; + padding: 0.1718rem 0.35rem; + font-weight: $font-weight-bold; +} + +// noUi Vertical customization +.noUi-vertical { + display: inline-block; + width: $slider_width; + + .noUi-origin { + right: auto; + } + + .noUi-handle { + width: 1rem; + height: 1rem; + top: -0.375rem; + left: -0.3rem; + } + .noUi-tooltip { + right: 135% !important; + } +} + +// for example value of noUI Hover +.hover_val { + font: 400 12px Arial; + color: $body-color; + display: block; + margin: 15px 0; +} + +// to remove outline on focus +.noUi-handle:focus { + outline: 0; +} + +// IE SPECIFIC FOR SLIDER WITH INPUT +_:-ms-lang(x), +.slider-select { + flex: 0 0 10%; + max-width: 10%; +} + +// Dark Layout +// ------------- +.dark-layout { + .noUi-handle { + background-color: $theme-dark-card-bg; + } + .noUi-tooltip { + background-color: $theme-dark-body-bg; + color: $theme-dark-body-color; + } + .noUi-pips, + .noUi-value { + color: $theme-dark-body-color; + } + .noUi-marker { + background: $theme-dark-border-color; + } +} + +// RTL +// ------------- +[data-textdirection='rtl'] { + .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin { + right: auto; + } + .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle { + left: -3px; + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-sweet-alerts.scss b/src/@core/scss/base/plugins/extensions/ext-component-sweet-alerts.scss new file mode 100644 index 0000000..8d08283 --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-sweet-alerts.scss @@ -0,0 +1,124 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +.swal2-container { + .swal2-popup { + border-radius: $card-border-radius; + padding: 2rem; + + // close button + .swal2-close:focus { + outline: none; + box-shadow: none; + } + + // content + .swal2-content { + color: $body-color; + } + + // header styling + .swal2-title { + font-size: $h3-font-size; + font-weight: $headings-font-family; + color: $headings-color; + } + + // remove box-shadow on focus of buttons + button.swal2-confirm:focus { + box-shadow: none; + } + + // input + input.swal2-input { + height: $input-height; + font-size: $font-size-base; + padding: $input-padding-y $input-padding-x; + color: $body-color; + border-color: $custom-control-border-color; + border-radius: $border-radius; + line-height: $line-height-base; + &:focus { + border-color: $primary !important; + box-shadow: $input-focus-box-shadow; + } + } + + // steps + .swal2-progress-steps { + .swal2-progress-step { + background-color: $primary; + &.swal2-active-progress-step { + ~ .swal2-progress-step-line, + ~ .swal2-progress-step { + background-color: lighten(theme-color('primary'), 15%); + } + } + } + .swal2-progress-step-line { + background-color: $primary; + } + } + + // pre code + pre { + min-height: 1.35rem; + margin-top: 0.5rem; + } + + // footer + .swal2-footer { + border-color: $border-color; + color: $body-color; + } + } +} + +// Dark Layout +.dark-layout { + .swal2-container { + .swal2-modal { + background-color: $theme-dark-card-bg; + + .swal2-header { + .swal2-title { + color: $theme-dark-headings-color; + } + + .swal2-icon-text { + color: inherit; + } + + .swal2-success-circular-line-left, + .swal2-success-circular-line-right, + .swal2-success-fix, + .swal2-animate-success-icon { + background-color: $theme-dark-card-bg !important; + } + } + + input.swal2-input { + border-color: $theme-dark-border-color; + color: $theme-dark-body-color; + } + + .swal2-content { + color: $theme-dark-body-color; + } + + pre, + code { + color: $theme-dark-body-color; + } + .swal2-input { + background-color: $theme-dark-card-bg; + } + + // footer + .swal2-footer { + border-color: $theme-dark-border-color; + color: $theme-dark-body-color; + } + } + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-swiper.scss b/src/@core/scss/base/plugins/extensions/ext-component-swiper.scss new file mode 100644 index 0000000..61e4324 --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-swiper.scss @@ -0,0 +1,367 @@ +/*========================================================================================= + File Name: ext-component-swiper.scss + Description: swiper plugin scss. + ---------------------------------------------------------------------------------------- + Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template + Author: PIXINVENT + Author URL: http://www.themeforest.net/user/pixinvent +==========================================================================================*/ + +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +/* Swiper css */ +/* ---------- */ +/* swiper slide shadow */ +.swiper-container { + .swiper-shadow { + box-shadow: 2px 8px 10px 0 rgba(25, 42, 70, 0.13) !important; + } +} + +// swiper pagination +.swiper-pagination { + // bullet pagination + .swiper-pagination-bullet { + &:focus { + outline: none; + } + &.swiper-pagination-bullet-active { + background-color: $primary; + } + } + + // progress bar pagination + &.swiper-pagination-progressbar { + .swiper-pagination-progressbar-fill { + background-color: $primary; + } + } +} + +// centered slides option-1 +.swiper-centered-slides { + &.swiper-container { + .swiper-slide { + text-align: center; + font-weight: $headings-font-weight; + background-color: $white; + height: auto; + width: auto !important; + padding: 2rem 5.5rem; + cursor: pointer; + + &.swiper-slide-active { + border: 2px solid $primary; + + i, + svg { + color: $primary; + } + } + } + } + .swiper-button-next { + &:after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $white), '#', '%23')); + } + } + .swiper-button-prev { + &:after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $white), '#', '%23')); + } + } + + .swiper-button-next, + .swiper-button-prev { + height: 40px !important; + width: 40px !important; + + &:after { + border-radius: 50%; + background-color: $primary; + box-shadow: 0 2px 4px 0 rgba($black, 0.5) !important; + background-size: 24px !important; + height: 40px !important; + width: 40px !important; + } + } + + // For RTL + &.swiper-container-rtl { + .swiper-button-next { + &:after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $white), '#', '%23')); + } + } + .swiper-button-prev { + &:after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $white), '#', '%23')); + } + } + } +} + +// centered slides option-2 +.swiper-centered-slides-2 { + &.swiper-container { + .swiper-slide { + font-weight: $headings-font-weight; + background-color: $swiper-bg; + height: auto; + width: auto !important; + cursor: pointer; + + &.swiper-slide-active { + color: $white; + background-color: $primary !important; + box-shadow: 0 3px 6px 0 rgba($primary, 0.5) !important; + } + } + } +} + +/* cube effect */ +.swiper-cube-effect { + &.swiper-container { + width: 300px; + left: 50%; + margin-left: -150px; + margin-top: -12px; + } +} + +/* swiper coverflow slide width */ +.swiper-coverflow { + &.swiper-container { + .swiper-slide { + width: 300px; + } + } +} + +.gallery-thumbs { + padding: 10px 0; + background: $black; + + .swiper-slide { + opacity: 0.4; + } + + .swiper-slide-thumb-active { + opacity: 1; + } +} + +// parallax +.swiper-parallax { + .swiper-slide { + padding: 2.67rem 4rem; + + .title { + font-size: $h5-font-size; + padding: 0.5rem 0; + } + + .text { + font-size: $font-size-sm; + } + } + + .parallax-bg { + position: absolute; + width: 130%; + } +} + +.swiper-virtual { + &.swiper-container { + height: 300px; + + .swiper-slide { + /* virtual slides */ + font-size: $h3-font-size; + background-color: $kbd-bg; + display: flex; + justify-content: center; + align-items: center; + } + } +} + +//navigation button custom icons +.swiper-button-prev, +.swiper-button-next, +.swiper-container-rtl .swiper-button-prev, +.swiper-container-rtl .swiper-button-next { + background-image: none; + color: $white; + width: 38px; + font-size: $h1-font-size; + + &:focus { + outline: none; + } +} + +.swiper-button-prev { + &:after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $primary), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 44px; + color: $body-color; + width: 44px; + height: 44px; + content: ''; + padding-right: 1px; + } +} + +.swiper-button-next { + &:after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $primary), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 44px; + color: $body-color; + width: 44px; + height: 44px; + content: ''; + padding-right: 2px; + } +} + +.swiper-container-rtl { + .swiper-button-prev { + &:after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $primary), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 44px; + color: $body-color; + width: 44px; + height: 44px; + content: ''; + } + } + + .swiper-button-next { + &:after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $primary), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 44px; + color: $body-color; + width: 44px; + height: 44px; + content: ''; + } + } +} + +// Media query for medium screen +@media only screen and (max-width: 768px) { + //navigation button custom boxicons + .swiper-button-prev { + font-size: $h4-font-size; + top: 55%; + &:after { + height: 28px; + width: 28px; + background-size: 24px; + } + } + + .swiper-button-next { + font-size: $h4-font-size; + top: 55%; + &:after { + background-size: 24px; + } + } + .swiper-centered-slides { + .swiper-button-next, + .swiper-button-prev { + &:after { + height: 28px; + width: 28px; + background-size: 18px; + } + } + } + // parallax + .swiper-parallax { + .swiper-slide { + padding: 1rem 1.2rem; + } + + img { + height: 100% !important; + } + } +} + +// Media query for small screen +@media only screen and (max-width: 576px) { + // centered slides option-1 + .swiper-centered-slides { + &.swiper-container { + .swiper-slide { + padding: 1.6rem 2.5rem; + + i, + svg { + height: $h5-font-size !important; + width: $h5-font-size !important; + font-size: $h5-font-size !important; + } + } + } + } + + // cube effect + .swiper-cube-effect { + &.swiper-container { + width: 150px; + left: 70%; + } + } + + // parallax + .swiper-parallax { + .swiper-slide { + padding: 1rem 1.3rem; + } + } + + // virtual slides + .swiper-virtual { + &.swiper-container { + .swiper-slide { + font-size: $font-size-base; + } + } + } +} + +// Dark Layout +.dark-layout { + .swiper-container { + &:not(.swiper-parallax) { + .swiper-slide { + background-color: $theme-dark-body-bg; + } + } + &.swiper-centered-slides { + .swiper-slide { + background-color: $theme-dark-card-bg; + } + } + &.swiper-parallax { + .swiper-slide * { + color: $body-color; + } + } + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-toastr.scss b/src/@core/scss/base/plugins/extensions/ext-component-toastr.scss new file mode 100644 index 0000000..75b449a --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-toastr.scss @@ -0,0 +1,254 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +// Toast container opacity +#toast-container > div { + opacity: 1; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + filter: alpha(opacity=100); + max-width: none; + border-radius: $toast-border-radius; +} + +// Toast container hover shadow +#toast-container > div, +#toast-container > div:hover { + box-shadow: $toast-box-shadow; +} + +#toast-container > .toast { + background-image: none !important; +} +// Toast colors +.toast { + background-color: $white; + color: $body-color !important; + .toast-close-button { + color: $body-color; + font-size: 1.75rem; + font-weight: $font-weight-normal; + top: 0; + right: 0; + text-shadow: none; + + &:focus { + outline: none; + } + } + .toast-title { + font-size: $font-size-base; + font-weight: $font-weight-bolder; + line-height: 1.75; + } + .toast-progress { + opacity: 1; + } + &:before { + content: ''; + height: 24px; + width: 24px; + border-radius: 50%; + color: $white; + position: absolute; + left: 1rem; + } + &:after { + content: ''; + background-size: $font-size-base; + background-repeat: no-repeat; + position: absolute; + left: 1.38rem; + top: 1.44rem; + width: $font-size-base; + height: $font-size-base; + } +} + +// we are using only few colors in toast so not adding in palette.scss +// plugin class name 'error' is also differ then ours so not useful to add in palette +.toast-success { + .toast-title { + color: $success; + } + .toast-progress { + background-color: $success; + } + &:before { + background-color: $success; + } + &:after { + background-image: url(str-replace(str-replace($check, 'currentColor', $white), '#', '%23')); + } +} +.toast-error { + .toast-title { + color: $danger; + } + .toast-progress { + background-color: $danger; + } + &:before { + background-color: $danger; + } + &:after { + background-image: url(str-replace(str-replace($remove, 'currentColor', $white), '#', '%23')); + } +} +.toast-info { + .toast-title { + color: $info; + } + .toast-progress { + background-color: $info; + } + &:before { + background-color: $info; + } + &:after { + background-image: url(str-replace(str-replace($infoIcon, 'currentColor', $white), '#', '%23')); + } +} +.toast-warning { + .toast-title { + color: $warning; + } + .toast-progress { + background-color: $warning; + } + &:before { + background-color: $warning; + } + &:after { + background-image: url(str-replace(str-replace($warningIcon, 'currentColor', $white), '#', '%23')); + } +} + +// position alignments +.toast-top-left { + top: 1.3rem; + left: $content-padding; +} +.toast-top-right { + top: 1.3rem; + right: $content-padding; +} +.toast-top-center, +.toast-top-full-width { + top: 1.3rem; +} +.toast-bottom-left { + bottom: 1.3rem; + left: $content-padding; +} +.toast-bottom-right { + bottom: 1.3rem; + right: $content-padding; +} +.toast-bottom-center, +.toast-bottom-full-width { + bottom: 1.3rem; +} + +// Media query + +@media (max-width: 480px) and (min-width: 241px) { + #toast-container > .toast { + &:after { + top: 0.95rem; + } + .toast-close-button { + top: 0; + right: -1px; + } + } + #toast-container > div { + width: 20rem; + } + .toast-top-left { + left: 0; + } + #toast-container { + &.toast-top-center, + &.toast-bottom-center { + right: 1rem; + > div { + width: 20rem !important; + } + } + } + .toast-top-full-width, + .toast-bottom-full-width { + right: 0; + left: 0; + width: 93%; + > div { + width: 100%; + } + } + .toast-bottom-left { + left: 0.25rem; + bottom: 0.75rem; + } + .toast-bottom-right { + right: 2.25rem; + bottom: 0.75rem; + } + .toast-bottom-center, + .toast-bottom-full-width { + bottom: 0.75rem; + } + [data-textdirection='rtl'] { + #toast-container > div { + padding-right: 8px; + } + } +} + +// Toastr Dark Layout +.dark-layout { + #toast-container > div, + #toast-container > div:hover { + box-shadow: $theme-dark-box-shadow; + } + #toast-container { + .toast { + background-color: $theme-dark-card-bg; + color: $theme-dark-body-color !important; + .toast-close-button { + color: $theme-dark-body-color; + } + } + } +} + +[data-textdirection='rtl'] { + .toast .toast-close-button { + @include media-breakpoint-down(xs) { + top: 0.55rem !important; + right: 0.5rem !important; + } + } + .toast-top-left { + left: 1rem; + right: auto; + } + .toast-top-right { + right: 3rem; + left: auto; + } + .toast-bottom-left { + left: 1em; + right: auto; + } + .toast-bottom-right { + right: 3rem; + left: auto; + } + .toast-top-full-width, + .toast-bottom-full-width { + &#toast-container > div { + left: 0; + right: 0; + } + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-tour.scss b/src/@core/scss/base/plugins/extensions/ext-component-tour.scss new file mode 100644 index 0000000..f9d797b --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-tour.scss @@ -0,0 +1,80 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +.shepherd-element { + border-radius: $border-radius; + width: 350px; + &[data-popper-placement='bottom'] { + margin-top: 1rem !important; + .shepherd-arrow:before { + background-color: $primary !important; + } + } + &[data-popper-placement='top'] { + margin-bottom: 1rem !important; + } + &[data-popper-placement='left'] { + margin-right: 1rem !important; + } + &[data-popper-placement='right'] { + margin-left: 1rem !important; + } + + .shepherd-content { + border-radius: $border-radius; + // header + .shepherd-header { + background-color: $primary; + padding: 0.38rem 1.2rem; + border-radius: $border-radius $border-radius 0 0; + .shepherd-title { + color: $white; + font-weight: 500; + font-size: 1.1rem; + } + .shepherd-cancel-icon { + color: $white; + font-size: 1.7rem; + + &:focus { + outline: none; + } + } + } + + // body or text + .shepherd-text { + color: $body-color; + padding: 0.8rem 1.2rem; + } + + // footer + .shepherd-footer { + padding: 0 1.2rem 1rem; + justify-content: space-between; + .shepherd-button { + padding: 0.5rem 1.3rem; + } + } + } + @include media-breakpoint-down(xs) { + width: 300px; + } +} + +// Dark layout +.dark-layout { + .shepherd-element { + background-color: $theme-dark-card-bg; + &:not([data-popper-placement='bottom']) { + .shepherd-arrow:before { + background-color: $theme-dark-card-bg; + } + } + .shepherd-content { + .shepherd-text { + color: $theme-dark-body-color; + } + } + } +} diff --git a/src/@core/scss/base/plugins/extensions/ext-component-tree.scss b/src/@core/scss/base/plugins/extensions/ext-component-tree.scss new file mode 100644 index 0000000..53289e0 --- /dev/null +++ b/src/@core/scss/base/plugins/extensions/ext-component-tree.scss @@ -0,0 +1,154 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +.jstree > .jstree-container-ul .jstree-loading > .jstree-ocl, +.jstree > .jstree-container-ul .jstree-loading > .jstree-ocl, +.jstree > .jstree-container-ul .jstree-loading > .jstree-ocl { + background-image: url('data:image/gif;base64,R0lGODlhEAAQAPMAAP////Dw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaCH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAEcRBIEOg7dWow0AiGMVCbNBhI0IjBqA2jYAgrnEkBMYPNcXymzEDXULhwQFwg4TjiNAKCj1GiBK5RAoFaul6tisItqAkIFgRnyzgpIBhmAWyQoLA5o4FDkWAM5E8TAQcFAAxUA3AlAwUjhxIKYyUKClURACH5BAkKAAAALAAAAAAQABAAAARwEEgQaHm1zjnICIgxDEuySYPhgM0QKtsICAaDLIxBbMGBBwvHxWDIaAYHlQyg+HwmgUDCc9JIEo9CAXaiRAOMw+PBrX69A4ZVEuVNDwNe4CkREBLgxEg2P8YHDwMKeE1sPAUMTCaCa2xqiiiNJ0snEQAh+QQJCgAAACwAAAAAEAAQAAAEchBIECgTtc453ggEEgROsklDc4DiYSjbBzBGEiYGAQxwUJQkgkDgMAwEBuPusTgMBihaEkYJKB4aicIgmCiGDOhpRE4UztQxuTpIZCWjTSDxwMgDMgmjoLD213gaMkdPH3lvAQwwTxR5cm47YnEnMWInEQAh+QQJCgAAACwAAAAAEAAQAAAEcBBIEChjtc45SggH8R3KJg2OFwaPUU4fwCxKqBgPNVDCMwSEwoVgCDAMi0on9TspEAaX5KPwbAa4X0DBSCR2psdi0SBdGOBNK+qgBAYKDWdAzwwEmM2nKeH+6h92GjFbgW+Dego7hHx6TTFuJiaQJhEAIfkECQoAAAAsAAAAABAAEAAABGYQSBBoKbXOOU4IhvEZyiYNhhcGC7l9QEGGjLFQA3UsCuhcK5kI0EkNNANFyMCQfBSeDcpxDAwY2JzJseRdCtpNa0mxHjdK6tmK1UiUIe31OKjCyGXc53OGvup5Vm4TgnmGJoSDExEAIfkECQoAAAAsAAAAABAAEAAABHgQSBCoUrXOGVIIQvEVwyYFhScIIFJy1fAM67AIVBkoyQAyl4JjhyBkFAKMJjA4GByvz8CzCRAYH+nAZwIwDgeCYLvVbBgIxOJBYX42Awej3KZLpgYDIerLfhYGTQYLGRl9HQYHADxVXG8IBgpdWW0AAwYMXVVLGxEAIfkECQoAAAAsAAAAABAAEAAABHMQSBDoGLXOGVQIDPMxwyaBWCIyRMlVgxCoA5FYFjYrF/N0hJ+F9zkNHouD6xPAbAKPBHOq2SQej4NsagIkCA5HgdIsTgYHafFzqQ4UBoPQMi08EAaowZHJYBYGAgZjb086gAN4Lk9MDQYXDTddJwd8FBsRACH5BAkKAAAALAAAAAAQABAAAARxEEgQ6Bi1zhlwUEoQJMMmfRj4PSVXDSE4PAqVdeJ1JUV3CDePplNwFFqi5CYgCCWfJoCiQE08NRvF4/CzeZY0Za6DHCAMvZPHYBAICAimgXADCNAIBKMNgG0GbAMLCwEOBi0bCQYhgx0INVElAVwZGxEAIfkECQoAAAAsAAAAABAAEAAABHMQSBBouHTqe8e4SqVRX+CZjChhpvkJg2VxtJKYQmqV4sU8jNgMMwkEabQRYCBo3pKjQWGasCgQig2MsyQYDMHVgLAQVAINg2NgQDASD4IR8agwsgKDwOFIgJdCEmwIAXwBBw2BEwmJAQgOJgRZSmdTZxoRACH5BAkKAAAALAAAAAAQABAAAARzEEgQaLh06sv5qBr1dYMCSlgwXspgWav3DYwJc2iQCLalnpQW57EoPkKAQWKpcBieBCSNwVPRFq5JgLFKEp69y8PBqAQQhseZsBQcAopDoZJwCQyMA0GxSIg0AwYOAXoBBQ5ZGgoIHwQEKg+JGxQCAmYaEQAh+QQJCgAAACwAAAAAEAAQAAAEbxBIEGi4dOrLe9XU4AWiNgxhV2KBYQijGCil4hqlNdDfVRiJjezyQBgfIMBOQTs0FotCcpkQiRIE1CRQ5SgPrtxF8EhUAg5DIUA4MBmPWYFRoQEYwMJj4AiSTAsEAXoBDFlTWQEPBz5aIGcMdBkTEQAh+QQJCgAAACwAAAAAEAAQAAAEcxBIEGi4dGq1xv2YBigGAgaeNgzAYSRfigWIIQyGEV9eNdQGRkKyq1gYDYXmFBA4CASBiLJaFRBYqQhV/SgOrElA0asECoaO8ZIQKMwuQeBRWCUYKKGPxVEI6g8sIUQOD00FAQmIUwOBhxcMYVsUCTAZExEAOw=='); +} + +.jstree .jstree-node, +.jstree .jstree-icon, +.jstree .jstree-file, +.jstree .jstree-folder, +#jstree-dnd.jstree .jstree-ok, +#jstree-dnd.jstree .jstree-er, +.jstree-small .jstree-node, +.jstree-small .jstree-icon, +.jstree-small .jstree-file, +.jstree-small .jstree-folder, +#jstree-dnd.jstree-small .jstree-ok, +#jstree-dnd.jstree-small .jstree-er, +.jstree-large .jstree-node, +.jstree-large .jstree-icon, +.jstree-large .jstree-file, +.jstree-large .jstree-folder, +#jstree-dnd.jstree-large .jstree-ok, +#jstree-dnd.jstree-large .jstree-er { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAABgCAYAAABsS6soAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDgtMThUMTg6NTU6MzIrMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA4LTE4VDE5OjI4OjQwKzA1OjMwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTA4LTE4VDE5OjI4OjQwKzA1OjMwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc1N2M4OTEyLWRmYzMtNDM5YS1hYjJjLTcwMGRjNWQxMDkwMyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjRlN2RlN2M1LTZlY2MtMDI0Ny1hN2I0LTJmOTU3NDc3MjAzNiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjNhOWQ5OTMyLWFmNmMtNGFkMy1hNTUzLTFlYjczYjRlMWI2ZCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6M2E5ZDk5MzItYWY2Yy00YWQzLWE1NTMtMWViNzNiNGUxYjZkIiBzdEV2dDp3aGVuPSIyMDIwLTA4LTE4VDE4OjU1OjMyKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NzU3Yzg5MTItZGZjMy00MzlhLWFiMmMtNzAwZGM1ZDEwOTAzIiBzdEV2dDp3aGVuPSIyMDIwLTA4LTE4VDE5OjI4OjQwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6MDZg5AAAIR0lEQVR42u2dX4gVVRzHZ0mktWuQEeSLErgW2CIp3SJy6SkoCBZ6U0oQjArpIUVCH4rATUyjoKcEHwJ9CKLAiKg3jYoL/aOCRYNICIVKQW9CS8v2+7nnuuPZmbnjvXPmzJ7z+cCP2XV29rhn9nz2O3/PyNzcXHIzTE1NJXAd7bwR2gfw8/u3b9++oX7/RhAgACxVRIBDbY8ASWAkQCABIkAAIAEiQBIYCRBIgAgQAEiACJAERgIEEiACBA8sl1oldaf5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'); +} + +@media (max-width: 768px) { + #jstree-dnd.jstree-dnd-responsive > .jstree-ok, + #jstree-dnd.jstree-dnd-responsive > .jstree-er, + .jstree-responsive .jstree-icon, + .jstree-responsive .jstree-node, + .jstree-responsive .jstree-icon, + .jstree-responsive .jstree-node > .jstree-ocl, + .jstree-responsive .jstree-themeicon, + .jstree-responsive .jstree-checkbox, + .jstree-responsive .jstree-file, + .jstree-responsive .jstree-folder { + background-image: url('data:image/png;base64,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'); + } +} + +.jstree .jstree-last, +.jstree > .jstree-no-dots .jstree-node, +.jstree > .jstree-no-dots .jstree-leaf > .jstree-ocl, +.jstree .jstree-disabled, +.jstree .jstree-themeicon-custom:not(.jstree-file):not(.jstree-folder) { + background: transparent !important; +} + +// Light Layout +.jstree { + .jstree-container-ul { + .jstree-anchor { + color: $body-color; + &.jstree-clicked, + &.jstree-hovered { + background: transparent; + box-shadow: none; + } + } + .jstree-node { + .jstree-wholerow-clicked { + background: rgba($color: $primary, $alpha: 0.1); + } + .jstree-wholerow-hovered:not(.jstree-wholerow-clicked) { + background: transparent; + } + } + } +} + +// Context Menu Styling +.vakata-context.jstree-contextmenu { + background: $white; + border: 0; + box-shadow: 0px 0px 50px 0px rgba($black, 0.1); + li { + a { + color: $body-color; + padding: 0 1.5rem; + text-shadow: none; + i { + display: none; + } + } + &.vakata-context-hover > a { + background-color: $body-bg; + box-shadow: none; + } + &.vakata-context-separator { + a { + margin: 0; + border-color: $border-color; + } + } + &.vakata-contextmenu-disabled { + a { + color: $text-muted; + } + &.vakata-context-hover a { + background-color: transparent !important; + cursor: default; + } + } + ul { + background: $white; + border: 0; + box-shadow: 0px 0px 50px 0px rgba($black, 0.1); + } + } + .vakata-contextmenu-sep { + display: none; + } +} + +// Dark Layout +.dark-layout { + // Folder Icons and text colors + .jstree { + .jstree-container-ul { + .jstree-anchor { + color: $theme-dark-body-color; + } + } + } + + // Context Menu Styling + .vakata-context.jstree-contextmenu { + background: $theme-dark-card-bg; + box-shadow: $theme-dark-box-shadow; + li { + a { + color: $theme-dark-body-color; + } + &.vakata-context-hover > a { + background-color: $theme-dark-body-bg; + } + &.vakata-context-separator a { + border-color: $theme-dark-border-color; + } + &.vakata-contextmenu-disabled a { + color: $theme-dark-text-muted-color; + } + ul { + background: $theme-dark-card-bg; + box-shadow: $theme-dark-box-shadow; + } + } + } +} diff --git a/src/@core/scss/base/plugins/forms/form-file-uploader.scss b/src/@core/scss/base/plugins/forms/form-file-uploader.scss new file mode 100644 index 0000000..9957e6a --- /dev/null +++ b/src/@core/scss/base/plugins/forms/form-file-uploader.scss @@ -0,0 +1,103 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +.dropzone { + min-height: 350px; + border: 2px dashed $primary; + background: $body-bg; + position: relative; + // dropzone message customization + .dz-message { + font-size: 2rem; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + color: #7367f0; + display: flex; + justify-content: center; + align-items: center; + margin: 0; + } + + // dropzone message icon + .dz-message:before { + content: ''; + background-image: url(str-replace(str-replace($download, 'currentColor', $primary), '#', '%23')); + font-size: 80px; + position: absolute; + top: 14rem; + width: 80px; + height: 80px; + display: inline-block; + line-height: 1; + z-index: 2; + color: $primary; + text-indent: 0px; + font-weight: normal; + -webkit-font-smoothing: antialiased; + } + + // for preview of files + .dz-preview { + background: transparent !important; + + .dz-error-mark, + .dz-success-mark { + z-index: 10; + } + + .dz-image { + border-radius: $border-radius; + } + + .dz-error-message { + background: $danger; + &:after { + border-bottom: 6px solid $danger; + } + } + } + + // for dropzone preview and remove icon + .dz-preview .dz-remove { + font-size: 1.1rem; + color: $danger; + line-height: 2rem; + + &:before { + content: ''; + background-image: url(str-replace(str-replace($remove, 'currentColor', $danger), '#', '%23')); + display: inline-block; + line-height: 1; + z-index: 2; + text-indent: 0px; + font-weight: normal; + -webkit-font-smoothing: antialiased; + } + + &:hover { + text-decoration: none; + color: darken($danger, 10%); + } + } +} + +// For Small Screen drop Logo +@media (max-width: 576px) { + .dropzone { + .dz-message { + &:before { + top: 15rem; + } + } + } +} + +// dark layout +.dark-layout { + .dropzone { + background-color: lighten($theme-dark-card-bg, 3%); + } +} diff --git a/src/@core/scss/base/plugins/forms/form-number-input.scss b/src/@core/scss/base/plugins/forms/form-number-input.scss new file mode 100644 index 0000000..07c1b84 --- /dev/null +++ b/src/@core/scss/base/plugins/forms/form-number-input.scss @@ -0,0 +1,157 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +// Number Inputs (Touch spin) +$bootstrap-touchspin-width: 8.4rem; +$bootstrap-touchspin-width-lg: 9.375rem; +$bootstrap-touchspin-width-sm: 6.25rem; + +$bootstrap-touchspin-btn-width: 20px; +$bootstrap-touchspin-btn-height: 20px; +$bootstrap-touchspin-btn-width-lg: 24px; +$bootstrap-touchspin-btn-height-lg: 24px; +$bootstrap-touchspin-btn-width-sm: 16px; +$bootstrap-touchspin-btn-height-sm: 16px; + +/* Bootstrap Touchspin */ + +.bootstrap-touchspin { + &.input-group { + width: $bootstrap-touchspin-width; + align-items: center; + .form-control { + padding: 5px; + height: auto; + border: 0; + background-color: $body-bg; + border-radius: $border-radius !important; + text-align: center; + font-weight: 500; + &:focus { + z-index: 1; + box-shadow: none; + } + } + } + + .bootstrap-touchspin-injected { + margin: 0 !important; + &.input-group-prepend { + left: 12px; + position: relative; + } + &.input-group-append { + right: 12px; + position: relative; + } + .bootstrap-touchspin-down, + .bootstrap-touchspin-up { + padding: 0; + min-width: $bootstrap-touchspin-btn-width; + min-height: $bootstrap-touchspin-btn-width; + border-radius: $border-radius !important; + i, + svg { + height: 0.8rem; + width: 0.8rem; + font-size: 0.8rem; + position: relative; + top: -1px; + } + } + } + + // Disabled Touchspin + &.disabled-touchspin { + .bootstrap-touchspin-down, + .bootstrap-touchspin-up { + background-color: rgba($black, 0.5) !important; + cursor: default; + opacity: 0.5; + } + } + + // Touchspin Large + &.input-group-lg { + width: $bootstrap-touchspin-width-lg; + .touchspin { + &.form-control { + height: auto !important; + } + } + .bootstrap-touchspin-down, + .bootstrap-touchspin-up { + min-width: $bootstrap-touchspin-btn-width-lg; + min-height: $bootstrap-touchspin-btn-width-lg; + i, + svg { + height: 1rem; + width: 1rem; + font-size: 1rem; + top: -3px; + } + } + } + + // Touchspin Small + &.input-group-sm { + width: $bootstrap-touchspin-width-sm; + .touchspin { + &.form-control { + height: auto !important; + } + } + .bootstrap-touchspin-injected { + .bootstrap-touchspin-down, + .bootstrap-touchspin-up { + min-width: $bootstrap-touchspin-btn-width-sm; + min-height: $bootstrap-touchspin-btn-width-sm; + i, + svg { + height: 0.6rem; + width: 0.6rem; + font-size: 0.6rem; + } + } + } + } +} + +/* Number Type Input Box Scss for Touchspin - Remove arrow for firefox */ +.bootstrap-touchspin { + &.input-group { + input[type='number'] { + -moz-appearance: textfield; + } + } +} + +// Dark layout style +.dark-layout { + // number inputs[touchspin] + .bootstrap-touchspin { + &.input-group { + .form-control { + background-color: $theme-dark-body-bg; + } + } + + &.disabled-touchspin { + .bootstrap-touchspin-injected { + .bootstrap-touchspin-down, + .bootstrap-touchspin-up, + .disabled-max-min { + background-color: $gray-600 !important; + opacity: 1; + } + } + } + + .bootstrap-touchspin-injected { + .disabled-max-min { + background-color: $gray-600 !important; + opacity: 1; + } + } + } +} diff --git a/src/@core/scss/base/plugins/forms/form-quill-editor.scss b/src/@core/scss/base/plugins/forms/form-quill-editor.scss new file mode 100644 index 0000000..3a42e01 --- /dev/null +++ b/src/@core/scss/base/plugins/forms/form-quill-editor.scss @@ -0,0 +1,213 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +/* Set dropdown font-families */ +.ql-toolbar .ql-font span[data-label='Sailec Light']::before { + font-family: 'Sailec Light'; +} +.ql-toolbar .ql-font span[data-label='Sofia Pro']::before { + font-family: 'Sofia'; +} +.ql-toolbar .ql-font span[data-label='Slabo 27px']::before { + font-family: 'Slabo 27px'; +} +.ql-toolbar .ql-font span[data-label='Roboto Slab']::before { + font-family: 'Roboto Slab'; +} +.ql-toolbar .ql-font span[data-label='Inconsolata']::before { + font-family: 'Inconsolata'; +} +.ql-toolbar .ql-font span[data-label='Ubuntu Mono']::before { + font-family: 'Ubuntu Mono'; +} + +/* Set content font-families */ +.ql-font-sofia { + font-family: 'Sofia'; +} +.ql-font-slabo { + font-family: 'Slabo 27px'; +} +.ql-font-roboto { + font-family: 'Roboto Slab'; +} +.ql-font-inconsolata { + font-family: 'Inconsolata'; +} +.ql-font-ubuntu { + font-family: 'Ubuntu Mono'; +} + +// Quill Editor +.ql-toolbar { + border-color: $custom-control-border-color !important; + .ql-formats { + &:focus, + *:focus { + outline: 0; + } + // button and label hover + .ql-picker-label, + button { + &:hover, + &:focus { + color: $primary !important; + .ql-stroke { + stroke: $primary !important; + } + .ql-fill { + fill: $primary !important; + } + } + &.ql-active { + color: $primary !important; + } + } + .ql-picker-item.ql-selected { + color: $primary !important; + } + // quill dropdown item hover + .ql-picker-options { + .ql-picker-item:hover { + color: $primary !important; + } + .ql-active { + color: $primary !important; + } + } + } +} +.ql-bubble { + .ql-picker { + color: $white !important; + } + // stroke options color + .ql-stroke { + stroke: $white !important; + } + // fill options color + .ql-fill { + fill: $white !important; + } +} +.ql-container { + border-color: $custom-control-border-color !important; + font-family: $font-family-monospace; +} +.ql-editor { + a { + color: $primary; + } +} +// default picker options +.ql-picker { + color: $headings-color !important; +} +// stroke options color +.ql-stroke { + stroke: $headings-color !important; +} +.ql-active { + .ql-stroke { + stroke: $primary !important; + } + .ql-fill { + fill: $primary !important; + } +} +// fill options color +.ql-fill { + fill: $headings-color !important; +} +// Border rounded for editor +.ql-toolbar, +.ql-container { + border-top-right-radius: $border-radius; + border-top-left-radius: $border-radius; +} +.ql-toolbar { + + .ql-container, + .ql-container + & { + // ? If container/toolbar is below container/toolbar add bottom radius + border-bottom-right-radius: $border-radius; + border-bottom-left-radius: $border-radius; + // ? If container/toolbar is above container/toolbar remove top radius + border-top-right-radius: unset; + border-top-left-radius: unset; + } +} + +// Dark Layout +.dark-layout { + // Quill Editor + .quill-toolbar, + .ql-toolbar { + background-color: $theme-dark-input-bg; + border-color: $theme-dark-border-color !important; + + // toolbar color + .ql-picker { + color: $white !important; + } + + .ql-stroke { + stroke: $white !important; + } + + .ql-fill { + fill: $white !important; + } + + // toolbar options colors + .ql-picker-options, + .ql-picker-label { + background-color: $theme-dark-input-bg; + .ql-active { + color: $primary !important; + } + } + } + .ql-active { + .ql-stroke { + stroke: $primary !important; + } + .ql-fill { + fill: $primary !important; + } + } + .ql-bubble { + .ql-toolbar { + background: $theme-dark-border-color; + border-radius: 2rem; + } + } + + .ql-container { + border-color: $theme-dark-border-color !important; + background-color: $theme-dark-input-bg; + } + + // syntax color + .ql-editor { + .ql-syntax { + background-color: $theme-dark-body-bg; + } + + &.ql-blank { + &:before { + color: $theme-dark-body-color; + } + } + } +} + +// RTL +[data-textdirection='rtl'] { + .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) { + i, + svg { + left: auto !important; + right: 0; + } + } +} diff --git a/src/@core/scss/base/plugins/forms/form-validation.scss b/src/@core/scss/base/plugins/forms/form-validation.scss new file mode 100644 index 0000000..d45e585 --- /dev/null +++ b/src/@core/scss/base/plugins/forms/form-validation.scss @@ -0,0 +1,27 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +form { + span.error { + width: 100%; + font-size: 0.857rem; + } + .error:not(input) { + color: $danger; + } + input.error, + input.error:focus { + border-color: $danger !important; + } + textarea.error { + border-color: $danger !important; + } + .select2.error { + + .select2-container--classic .select2-selection--single, + + .select2-container--default .select2-selection--single, + + .select2-container--classic .select2-selection--multiple, + + .select2-container--default .select2-selection--multiple { + border-color: $danger !important; + } + } +} diff --git a/src/@core/scss/base/plugins/forms/form-wizard.scss b/src/@core/scss/base/plugins/forms/form-wizard.scss new file mode 100644 index 0000000..8895439 --- /dev/null +++ b/src/@core/scss/base/plugins/forms/form-wizard.scss @@ -0,0 +1,293 @@ +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +$header-padding-y: 1.5rem; +$header-padding-x: 1.5rem; +$content-padding-x: 1.5rem; +$content-padding-y: 1.5rem; +$trigger-padding-vertical: 1rem; +$step-box-height: 38px; +$step-box-width: 38px; + +.bs-stepper { + background-color: $white; + box-shadow: $box-shadow; + border-radius: 0.5rem; + + .bs-stepper-header { + padding: $header-padding-y $header-padding-x; + flex-wrap: wrap; + border-bottom: 1px solid rgba($black, 0.08); + margin: 0; + .line { + flex: 0; + min-width: auto; + min-height: auto; + background-color: transparent; + margin: 0; + color: $body-color; + font-size: 1.5rem; + } + .step { + .step-trigger { + padding: 0 1.75rem; + flex-wrap: nowrap; + font-weight: normal; + .bs-stepper-box { + display: flex; + align-items: center; + justify-content: center; + width: $step-box-width; + height: $step-box-height; + padding: 0.5em 0; + font-weight: 500; + color: $gray-100; + background-color: rgba($gray-100, 0.12); + border-radius: 0.35rem; + } + + .bs-stepper-label { + text-align: left; + margin: 0; + margin-top: 0.5rem; + margin-left: 1rem; + + .bs-stepper-title { + display: inherit; + color: $body-color; + font-weight: 600; + line-height: 1rem; + margin-bottom: 0rem; + } + + .bs-stepper-subtitle { + font-weight: 400; + font-size: 0.85rem; + color: $text-muted; + } + } + + &:hover { + background-color: transparent; + } + } + + &.active { + .step-trigger { + .bs-stepper-box { + background-color: $primary; + color: $white; + box-shadow: 0 3px 6px 0 rgba($primary, 0.4); + } + .bs-stepper-label { + .bs-stepper-title { + color: $primary; + } + } + } + } + + &.crossed { + .step-trigger { + .bs-stepper-box { + background-color: rgba($color: $primary, $alpha: 0.12); + color: $primary !important; + } + .bs-stepper-label { + .bs-stepper-title { + color: $text-muted; + } + } + } + & + .line { + color: $primary; + } + } + + &:first-child { + .step-trigger { + padding-left: 0; + } + } + &:last-child { + .step-trigger { + padding-right: 0; + } + } + } + } + .bs-stepper-content { + padding: $content-padding-y $content-padding-x; + .content { + margin-left: 0; + + .content-header { + margin-bottom: 1rem; + } + } + } + + &.vertical { + .bs-stepper-header { + border-right: 1px solid $border-color; + border-bottom: none; + .step { + .step-trigger { + padding: $trigger-padding-vertical 0; + } + } + .line { + display: none; + } + } + .bs-stepper-content { + width: 100%; + padding-top: 2.5rem; + .content { + &:not(.active) { + display: none; + } + } + } + + &.wizard-icons { + .step { + text-align: center; + } + } + } + + &.wizard-modern { + background-color: transparent; + box-shadow: none; + .bs-stepper-header { + border: none; + } + .bs-stepper-content { + background-color: $white; + border-radius: 0.5rem; + box-shadow: $box-shadow; + } + } +} + +.horizontal-wizard, +.vertical-wizard, +.modern-horizontal-wizard, +.modern-vertical-wizard { + margin-bottom: 2.2rem; +} + +// Dark Layout +.dark-layout { + .bs-stepper { + background-color: $theme-dark-card-bg; + box-shadow: $theme-dark-box-shadow; + + .bs-stepper-header { + border-bottom: 1px solid rgba($theme-dark-border-color, 0.08); + .line { + color: $theme-dark-body-color; + } + .step { + .step-trigger { + .bs-stepper-box { + color: $gray-100; + } + + .bs-stepper-label { + .bs-stepper-title { + color: $theme-dark-body-color; + } + + .bs-stepper-subtitle { + color: $theme-dark-text-muted-color; + } + } + } + + &.active { + .step-trigger { + .bs-stepper-box { + background-color: $primary; + color: $white; + box-shadow: 0 3px 6px 0 rgba($primary, 0.4); + } + .bs-stepper-label { + .bs-stepper-title { + color: $primary; + } + } + } + } + + &.crossed { + .step-trigger { + .bs-stepper-label, + .bs-stepper-title { + color: $theme-dark-text-muted-color; + } + } + } + } + } + + &.vertical { + .bs-stepper-header { + border-right-color: $theme-dark-border-color; + } + } + + &.wizard-modern { + background-color: transparent; + box-shadow: none; + .bs-stepper-header { + border: none; + } + .bs-stepper-content { + background-color: $theme-dark-card-bg; + box-shadow: $theme-dark-box-shadow; + } + } + } +} + +// RTl +html[data-textdirection='rtl'] { + .btn-prev, + .btn-next { + display: flex; + i, + svg { + transform: rotate(-180deg); + } + } +} + +// Media Queries +@media (max-width: 768px) { + .bs-stepper { + .bs-stepper-header { + flex-direction: column; + align-items: flex-start; + .step { + .step-trigger { + padding: 0.5rem 0 !important; + flex-direction: row; + } + } + .line { + display: none; + } + } + &.vertical { + flex-direction: column; + .bs-stepper-header { + align-items: flex-start; + } + .bs-stepper-content { + padding-top: 1.5rem; + } + } + } +} diff --git a/src/@core/scss/base/plugins/forms/pickers/form-flat-pickr.scss b/src/@core/scss/base/plugins/forms/pickers/form-flat-pickr.scss new file mode 100644 index 0000000..023b26a --- /dev/null +++ b/src/@core/scss/base/plugins/forms/pickers/form-flat-pickr.scss @@ -0,0 +1,191 @@ +@import '../../../bootstrap-extended/include'; // Bootstrap includes +@import '../../../components/include'; // Components includes + +.flatpickr-calendar { + .flatpickr-day { + color: $body-color; + &.today { + border-color: $primary; + &:hover { + background: transparent; + color: $body-color; + } + } + + &.selected, + &.selected:hover { + background: $primary; + color: $white; + border-color: $primary; + } + + &.inRange, + &.inRange:hover { + background: lighten($color: $primary, $amount: 30%); + border-color: lighten($color: $primary, $amount: 30%); + box-shadow: -5px 0 0 lighten($color: $primary, $amount: 30%), 5px 0 0 lighten($color: $primary, $amount: 30%); + } + &.startRange, + &.endRange, + &.startRange:hover, + &.endRange:hover { + background: $primary; + color: $white; + border-color: $primary; + } + + &.selected.startRange + .endRange:not(:nth-child(7n + 1)), + &.startRange.startRange + .endRange:not(:nth-child(7n + 1)), + &.endRange.startRange + .endRange:not(:nth-child(7n + 1)) { + box-shadow: -10px 0 0 $primary; + } + + &.flatpickr-disabled, + &.prevMonthDay, + &.nextMonthDay { + color: $gray-300; + } + + &:hover { + background: $gray-50; + } + } + &:after, + &:before { + display: none; + } + + .flatpickr-months { + .flatpickr-prev-month, + .flatpickr-next-month { + top: -5px; + &:hover i, + &:hover svg { + fill: $primary; + } + } + } + .flatpickr-current-month span.cur-month { + font-weight: 300; + } +} + +// Time picker hover & focus bg color +.flatpickr-time input:hover, +.flatpickr-time .flatpickr-am-pm:hover, +.flatpickr-time input:focus, +.flatpickr-time .flatpickr-am-pm:focus { + background: $white; +} + +//Dark layout +.dark-layout { + .flatpickr-calendar { + background: $theme-dark-body-bg; + border-color: $theme-dark-body-bg; + box-shadow: none; + .flatpickr-months { + i, + svg { + fill: $theme-dark-body-color; + } + } + .flatpickr-month { + color: $theme-dark-body-color; + } + .flatpickr-weekwrapper .flatpickr-weeks { + box-shadow: 1px 0 0 $theme-dark-border-color; + } + .flatpickr-weekday { + color: $theme-dark-body-color; + } + + .flatpickr-day { + &, + &.today:hover { + color: $theme-dark-body-color; + } + &.selected { + color: $white; + } + + &.prevMonthDay, + &.nextMonthDay, + &.flatpickr-disabled { + color: $gray-700 !important; + } + &.inRange, + &.inRange:hover { + background: $theme-dark-card-bg; + border-color: $theme-dark-card-bg; + box-shadow: -5px 0 0 $theme-dark-card-bg, 5px 0 0 $theme-dark-card-bg; + } + &:hover:not(.selected):not(.today):not(.startRange):not(.endRange) { + color: $theme-dark-body-color; + border-color: $theme-dark-card-bg; + } + } + + .flatpickr-days .flatpickr-day { + &:hover:not(.selected):not(.today):not(.startRange):not(.endRange) { + background: $theme-dark-card-bg; + } + } + + .flatpickr-time { + border-color: $theme-dark-body-bg !important; + + .numInput, + .flatpickr-am-pm { + color: $theme-dark-body-color; + &:hover { + background: $theme-dark-body-bg; + } + } + + .arrowUp:after { + border-bottom-color: $theme-dark-body-color; + } + .arrowDown:after { + border-top-color: $theme-dark-body-color; + } + } + } + // Time picker hover & focus bg color + .flatpickr-time input:hover, + .flatpickr-time .flatpickr-am-pm:hover, + .flatpickr-time input:focus, + .flatpickr-time .flatpickr-am-pm:focus { + background: $theme-dark-body-bg; + } +} + +// ? Added bg color for flatpickr input only as it has default readonly attribute +.flatpickr-input[readonly], +.flatpickr-input ~ .form-control[readonly], +.flatpickr-human-friendly[readonly] { + background-color: inherit; + opacity: 1 !important; +} + +.flatpickr-weekdays { + margin-top: 8px; +} + +.flatpickr-current-month { + .flatpickr-monthDropdown-months { + -webkit-appearance: none; + } + + .flatpickr-monthDropdown-months, + .numInputWrapper { + font-size: 1.1rem; + border-radius: 4px; + padding: 2px; + transition: all 0.15s ease-out; + + span { + display: none; + } + } +} diff --git a/src/@core/scss/base/plugins/forms/pickers/form-pickadate.scss b/src/@core/scss/base/plugins/forms/pickers/form-pickadate.scss new file mode 100644 index 0000000..266e755 --- /dev/null +++ b/src/@core/scss/base/plugins/forms/pickers/form-pickadate.scss @@ -0,0 +1,167 @@ +@import '../../../bootstrap-extended/include'; // Bootstrap includes +@import '../../../components/include'; // Components includes + +// remove picker outline +.picker__holder { + outline: none; +} +// Updated picker color as per theme color +.picker__day--today:before, +.picker__button--today:before { + border-top: 6px solid $primary; +} +.picker__button--clear:before { + border-top: 2px solid $danger; +} +.picker__day--highlighted, +.picker__day--highlighted:hover, +.picker--focused .picker__day--highlighted, +.picker__list-item--selected, +.picker__list-item--selected:hover, +.picker--focused .picker__list-item--selected { + background-color: $primary; +} +// Updated picker svg icons +.picker__nav--prev:before, +.picker__nav--next:before, +.picker__button--close:before { + content: ''; + background-repeat: no-repeat; + background-position: center; + background-size: 18px; + color: $body-color; + width: 8px; + height: 18px; +} +.picker__nav--prev:before { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $body-color), '#', '%23')); +} +.picker__nav--next:before { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $body-color), '#', '%23')); +} +.picker__button--close:before { + background-image: url(str-replace(str-replace($remove, 'currentColor', $danger), '#', '%23')); + height: 10px !important; +} + +// Dark layout style +.dark-layout { + // date picker + .picker__holder { + background-color: $theme-dark-body-bg; + border-color: $theme-dark-border-color; + + .picker__header { + .picker__month, + .picker__year { + color: $theme-dark-body-color; + } + + .picker__select--year, + .picker__select--month { + color: $theme-dark-body-color; + background-color: $theme-dark-body-bg; + border-color: $theme-dark-border-color; + } + + .picker__nav--next, + .picker__nav--prev { + &:hover { + background-color: $theme-dark-card-bg; + } + } + } + .picker__frame { + border-color: $theme-dark-border-color; + } + + .picker__table { + thead { + tr { + .picker__weekday { + color: $theme-dark-body-color; + } + } + } + + tbody { + tr { + td { + .picker__day { + color: $theme-dark-body-color; + &.picker__day--selected { + color: $white; + // color: $theme-dark-body-color; + } + + &:hover { + background-color: $theme-dark-border-color; + // border: 1px solid #4ec6e8; + color: $white; + } + + &.picker__day--disabled { + color: $theme-dark-body-color; + opacity: 0.5; + background: $theme-dark-card-bg; + } + } + + .picker__day--today { + background-color: $theme-dark-card-bg; + } + } + } + } + } + + .picker__footer { + .picker__button--today, + .picker__button--clear, + .picker__button--close { + background-color: $theme-dark-body-bg; + color: $theme-dark-body-color; + &:hover { + background-color: $theme-dark-border-color; + } + } + } + } + + // time picker + .picker--time { + .picker__holder { + .picker__list { + background-color: $theme-dark-body-bg; + + .picker__list-item { + &.picker__list-item--selected, + &:hover { + background-color: $theme-dark-card-bg; + } + + &.picker__list-item--disabled { + background-color: $theme-dark-card-bg; + color: $secondary; + opacity: 0.5; + } + } + + .picker__button--clear { + background-color: $theme-dark-body-bg; + color: $theme-dark-body-color; + } + } + } + } +} + +//RTL Style +[dir='rtl'] { + .picker__nav--prev:before { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $body-color), '#', '%23')); + } + .picker__nav--next:before { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $body-color), '#', '%23')); + } +} diff --git a/src/@core/scss/base/plugins/forms/select2/_select2.scss b/src/@core/scss/base/plugins/forms/select2/_select2.scss new file mode 100644 index 0000000..e52161b --- /dev/null +++ b/src/@core/scss/base/plugins/forms/select2/_select2.scss @@ -0,0 +1,319 @@ +// select-2 Theme +.select2-container { + width: 100% !important; + margin: 0; + display: inline-block; + position: relative; + vertical-align: middle; + box-sizing: border-box; +} +.select2-container--classic, +.select2-container--default { + &:focus { + outline: none; + } + + .select2-selection__choice { + font-size: 0.9rem; + margin-top: 6px !important; + } + // single select + .select2-selection--single { + min-height: 2.714rem; + padding: 5px; + border: 1px solid $input-border-color; + // Border color on focus + &:focus { + outline: 0; + border-color: $primary !important; + box-shadow: $input-focus-box-shadow !important; + } + + // Select with icons scss + .select2-selection__rendered { + i, + svg { + font-size: 1.15rem; + height: 1.15rem; + width: 1.15rem; + margin-right: 0.5rem; + } + } + // dropdown arrow height + .select2-selection__arrow { + b { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $input-border-color), '#', '%23')); + background-size: 18px 14px, 18px 14px; + background-repeat: no-repeat; + height: 1rem; + padding-right: 1.5rem; + margin-left: 0; + margin-top: 0; + left: -8px; + border-style: none; + } + } + } + // when select container open - scss + &.select2-container--open { + box-shadow: $dropdown-box-shadow; + .select2-selection--single { + border-color: $primary !important; + outline: 0; + } + } + + // select container - focus + &.select2-container--focus { + outline: 0; + .select2-selection--multiple { + border-color: $primary !important; + outline: 0; + } + } + + // Select2 Search Dropdown + .select2-dropdown { + border-color: $input-border-color; + } + .select2-search--dropdown { + padding: 0.5rem; + .select2-search__field { + outline: none !important; + border-radius: $input-border-radius; + border-color: $input-border-color; + padding: $input-padding-y $input-padding-x; + } + } + + // multiple select scss + .select2-selection--multiple { + min-height: 38px !important; + border: 1px solid $input-border-color; + &:focus { + outline: 0; + border-color: $primary !important; + box-shadow: $input-focus-box-shadow !important; + } + // selected items bg color for multiple selection + .select2-selection__choice { + background-color: $primary !important; + border-color: $primary !important; + color: $white; + padding: 2px 5px; + } + // font -size for selected options + .select2-selection__rendered { + padding: 0 6px; + li { + // font-size: 0.9rem; + .select2-search__field { + margin-top: 7px; + } + } + } + .select2-selection__choice__remove { + // color: $white !important; + float: right; + margin-left: 0.7rem; + margin-right: 0.5rem; + font-size: 0px; + display: inline-block; + position: relative; + line-height: 1rem; + &:before { + content: ''; + background-image: url(str-replace(str-replace($remove, 'currentColor', $white), '#', '%23')); + background-size: 0.85rem; + height: 0.85rem; + width: 0.85rem; + position: absolute; + top: 22%; + left: -4px; + } + } + // select dropdown menu with icons + i, + svg { + position: relative; + top: 1px; + margin-right: 0.5rem; + height: 1.15rem; + width: 1.15rem; + font-size: 1.15rem; + padding-left: 1px; + } + } + + // Select2 group alignment + .select2-results__group { + padding: 6px 9px; + font-weight: 600; + } + + .select2-results__option { + padding: 0.428rem 1rem; + &[role='group'] { + padding: 0; + } + &[aria-selected='true'] { + background-color: $primary !important; + color: white !important; + } + i, + svg { + height: 1.15rem; + width: 1.15rem; + font-size: 1.15rem; + margin-right: 0.5rem; + } + } + + .select2-results__option--highlighted { + background-color: rgba($primary, 0.12) !important; + color: $primary !important; + } + + //Loading Remote Data Image Size + .select2-result-repository__avatar { + img { + width: 50px; + } + } + + // Optional sizing + // ------------------------------ + + // Large Single select + .select-lg { + min-height: $input-height !important; + font-size: ($font-size-lg - 0.8); + margin-bottom: 0 !important; + padding: 0.3rem 0.7rem; + &.select2-selection--single { + .select2-selection__rendered { + padding-top: $input-btn-padding-y-lg - 0.9; + // padding-left: 0; + } + + .select2-selection__arrow { + top: $input-btn-padding-y-lg - 0.8 !important; + } + } + + // large Multiple select + &.select2-selection--multiple { + padding: 0 0.2rem; + .select2-selection__rendered { + padding-top: 0 !important; + li { + font-size: ($font-size-lg - 0.8); + .select2-search__field { + margin-top: 10px; + } + } + .select2-selection__choice { + padding: 5px; + + .select2-selection__choice__remove:before { + top: 46%; + } + } + } + } + } + // Small Single select + .select-sm { + min-height: $input-height-sm !important; + padding: 0 $input-padding-y-xs; + font-size: $font-size-xs; + margin-bottom: 0 !important; + line-height: $line-height-xs; + // Single + &.select2-selection--single { + .select2-selection__arrow { + top: -0.3rem !important; + } + } + + // Small Multiple select + &.select2-selection--multiple { + line-height: $line-height-xs - 0.2; + .select2-selection__rendered { + padding: 3px; + li { + font-size: $font-size-xs; + margin-top: 2px; + .select2-search__field { + margin-top: 4px; + } + } + } + .select2-selection__choice { + padding: 0 $input-padding-y-xs; + .select2-selection__choice__remove:before { + top: 5%; + } + } + + .select2-search--inline .select2-search__field { + margin-top: 0; + } + } + } +} + +// Dark Layout +.dark-layout { + .select2-container { + .select2-selection, + .select2-search__field, + .select2-selection__placeholder { + background: $theme-dark-input-bg; + border-color: $theme-dark-border-color; + color: $theme-dark-body-color; + } + + .select2-selection__rendered { + color: $theme-dark-body-color; + } + + .select2-dropdown { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + + .select2-selection--multiple { + .select2-selection__choice { + background: rgba($primary, 0.12) !important; + color: $primary !important; + border: none; + .select2-selection__choice__remove { + color: $primary !important; + } + } + .select2-selection__choice__remove:before { + background-image: url(str-replace(str-replace($remove, 'currentColor', $primary), '#', '%23')); + } + } + + .select2-results__option[aria-disabled='true'] { + color: $theme-dark-text-muted-color; + } + + .select2-selection__arrow { + b { + background-image: url(str-replace( + str-replace($chevron-down, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + } + } + .select2-container--disabled { + .select2-selection { + opacity: 0.5; + } + } +} diff --git a/src/@core/scss/base/plugins/maps/map-leaflet.scss b/src/@core/scss/base/plugins/maps/map-leaflet.scss new file mode 100644 index 0000000..66bd3f3 --- /dev/null +++ b/src/@core/scss/base/plugins/maps/map-leaflet.scss @@ -0,0 +1,38 @@ +// ================================================================================================ +// File Name: leaflet.scss +// Description: Leaflet map custom scss +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +.leaflet-map { + height: 400px; + z-index: 1; +} + +html[data-textdirection='rtl'] { + .leaflet-map { + .leaflet-control-container { + .leaflet-left { + left: 0; + right: unset; + .leaflet-control-zoom, + .leaflet-control-layers { + margin-right: 0; + margin-left: 10px; + } + } + .leaflet-right { + right: 0; + left: unset; + .leaflet-control-zoom, + .leaflet-control-layers { + margin-right: 10px; + margin-left: 0px; + } + } + } + } +} diff --git a/src/@core/scss/base/plugins/tables/_datatables.scss b/src/@core/scss/base/plugins/tables/_datatables.scss new file mode 100644 index 0000000..95605ed --- /dev/null +++ b/src/@core/scss/base/plugins/tables/_datatables.scss @@ -0,0 +1,163 @@ +// ================================================================================================ +// File Name: datatables.scss +// Description: Datatables pages custom scss +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ +table.dataTable { + // table width & collapse border + width: 100% !important; + border-collapse: collapse !important; + td, + th { + padding: $table-cell-padding 1.5rem; + vertical-align: middle; + } + thead { + // Sorting Icons Change + .sorting, + .sorting_asc, + .sorting_desc { + padding-right: inherit; + &:before { + background-image: url(str-replace(str-replace($chevron-up, 'currentColor', $table-head-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 12px; + color: $body-color; + width: 14px; + height: 14px; + content: ''; + right: 0.3rem; + top: 0.5rem; + } + &:after { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $table-head-color), '#', '%23')); + background-repeat: no-repeat; + background-position: center; + background-size: 12px; + color: $body-color; + width: 14px; + height: 14px; + content: ''; + right: 0.3rem; + top: 1.3rem; + } + } + } + + // datatables with checkbox styling + .dt-checkboxes-cell { + .custom-control { + padding-left: 0; + padding-right: 1.25rem; + } + } +} + +div.dataTables_wrapper .dt-button-collection { + background-color: $dropdown-bg; + > div[role='menu'] { + text-align: left; + box-shadow: 0px 5px 16px -8px; + min-width: 8rem; + } + [class*='buttons-']:focus { + outline: 0; + } +} + +// responsive '+' icon line height +table.dataTable.dtr-column > tbody > tr > td.control:before, +table.dataTable.dtr-column > tbody > tr > th.control:before { + line-height: 16px; +} + +// data table search, labels and +div.dataTables_wrapper { + // data table search, labels + div.dataTables_filter, + div.dataTables_length { + label { + margin-top: 1rem; + margin-bottom: 0.5rem; + } + // for datatable length select + select { + background-position: calc(100% - 3px) 11px, calc(100% - 20px) 13px, 100% 0; + padding: 0 0.8rem; + width: 5rem; + margin: 0 0.5rem; + } + } + div.dataTables_filter input { + margin-left: 0.75rem; + } + + // pagination + div.dataTables_paginate { + ul.pagination { + margin-top: 1rem; + margin-bottom: 1.5rem; + } + } + + // info text color + .dataTables_info { + padding-top: 1.25rem !important; + color: $text-muted; + } +} + +// row grouping +tr.group { + // row grouping color + background-color: $table-accent-bg; +} + +// pagination in center +@media only screen and (max-width: 768px) { + div.dataTables_wrapper { + div.dataTables_paginate { + ul.pagination { + justify-content: center; + } + } + } + + div.dataTables_wrapper div.dataTables_info { + white-space: inherit; + } + // small screen button spacing in bottom + div.dt-buttons { + justify-content: center; + margin-top: 1rem; + button { + margin-bottom: 0.5rem; + } + } +} +@include media-breakpoint-down(xs) { + .dtr-bs-modal { + .modal-body { + padding-left: 0; + padding-right: 0; + overflow-x: scroll; + } + .table.dtr-details { + margin: 0 auto 1rem; + td { + padding-left: 0; + padding-right: 0; + } + tr td:first-child { + padding-left: 0.75rem; + } + } + } + div.dataTables_wrapper { + overflow: scroll; + } +} diff --git a/src/@core/scss/base/plugins/tables/table-ag-grid.scss b/src/@core/scss/base/plugins/tables/table-ag-grid.scss new file mode 100644 index 0000000..4667054 --- /dev/null +++ b/src/@core/scss/base/plugins/tables/table-ag-grid.scss @@ -0,0 +1,135 @@ +// ================================================================================================ +// File Name: aggrid.scss +// Description: SCC file for Aggrid. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../../bootstrap-extended/include'; // Bootstrap includes +@import '../../components/include'; // Components includes + +.aggrid { + height: 600px; + font-size: 1rem; + color: $body-color; + + // Checkbox Color + .ag-icon-checkbox-checked, + .ag-icon-checkbox-indeterminate { + color: $primary !important; + } + + /*** TABLE BODY HEIGHT - FOOTER HEIGHT ***/ + .ag-root-wrapper-body { + min-height: calc(100% - 56px); + } + + /*** HEADER TEXT ***/ + .ag-header-cell-text { + font-size: 1rem; + font-family: $font-family-sans-serif; + } + + /*** PAGINATION STYLING ***/ + .ag-paging-panel { + display: block !important; + align-items: center; + height: 98px; + + .ag-paging-row-summary-panel { + display: none; + } + + .ag-paging-page-summary-panel { + justify-content: center; + margin-left: 0; + margin-top: 18px; + + [ref='lbCurrent'], + [ref='lbTotal'] { + color: $white; + padding: 0.7rem 0.95rem; + border-radius: 0.5rem; + + @include media-breakpoint-down(xs) { + margin: 0 0.4rem; + } + } + } + + .ag-paging-button { + background-color: $gray-300; + border-radius: 50%; + padding: 0.5rem 0rem; + margin: 0 0.5rem; + color: $body-color !important; + min-width: 34px; + + @include media-breakpoint-down(xs) { + margin-left: 0; + margin-right: 0.4rem; + } + + .ag-icon { + color: $body-color !important; + opacity: 1 !important; + } + + &.ag-disabled { + opacity: 0.5 !important; + } + + &:last-child { + @include media-breakpoint-down(xs) { + margin-right: 0; + } + } + } + + span[ref='lbCurrent'] { + background-color: $primary; + } + + span[ref='lbTotal'] { + background-color: $gray-300; + color: $body-color !important; + } + } + + /*** TABLE SCROLLBAR ***/ + ::-webkit-scrollbar { + width: 10px; + height: 10px; + } + + ::-webkit-scrollbar-thumb { + background: $gray-300; + border-radius: 20px; + } + + ::-webkit-scrollbar-track { + background: $body-bg; + border-radius: 20px; + } +} + +/*** PAGE FILTER DROPDOWN ***/ +.filter-btn { + padding: 1.2rem !important; + border-radius: 5rem; + font-size: 0.95rem; + + &:after { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $body-color), '#', '%23')); + left: 5px; + } +} + +/*** SORTING DROPDOWN WIDTH ***/ +.sort-dropdown { + .dropdown-menu { + min-width: 4rem; + } +} diff --git a/src/@core/scss/base/plugins/ui/_breakpoints.scss b/src/@core/scss/base/plugins/ui/_breakpoints.scss new file mode 100644 index 0000000..46e6c1a --- /dev/null +++ b/src/@core/scss/base/plugins/ui/_breakpoints.scss @@ -0,0 +1,64 @@ +// config +$debug: false; + +// declare breakpoints +$usn-x-small: 0px; +$usn-small: 544px; +$usn-medium: 768px; +$usn-large: 992px; +$usn-x-large: 1200px; + +// create sass list to pass media query data +// if a breakpoint name changes, remember to +// update it in the list below as well +$mq-sync: xs $usn-x-small, sm $usn-small, md $usn-medium, lg $usn-large, xl $usn-x-large; + +// build each media query for js ingestion +@each $mq in $mq-sync { + @media screen and (min-width: nth($mq, 2)) { + head { + font-family: '#{nth($mq, 1)} #{nth($mq, 2)}'; + } + body:after { + content: '#{nth($mq, 1)} - min-width: #{nth($mq, 2)}'; + } + } +} + +head { + // set clear on head to show Unison is set up correctly + clear: both; + // store hash of all breakpoints + title { + font-family: '#{$mq-sync}'; + } +} + +// debug styles to see breakpoint info +body:after { + display: none; +} + +@if $debug == true { + body:after { + display: block; + position: fixed; + top: 0; + left: 0; + width: 100%; + background-color: #000; + background-color: rgba($black, 0.8); + text-align: center; + color: #fff; + padding: 10px; + z-index: 1000; + font-size: 12px; + font-family: sans-serif; + } +} + +// hide elements for conditional loading +// only used for responsive comments plugin +*[data-usn-if] { + display: none; +} diff --git a/src/@core/scss/base/plugins/ui/coming-soon.scss b/src/@core/scss/base/plugins/ui/coming-soon.scss new file mode 100644 index 0000000..46e6c1a --- /dev/null +++ b/src/@core/scss/base/plugins/ui/coming-soon.scss @@ -0,0 +1,64 @@ +// config +$debug: false; + +// declare breakpoints +$usn-x-small: 0px; +$usn-small: 544px; +$usn-medium: 768px; +$usn-large: 992px; +$usn-x-large: 1200px; + +// create sass list to pass media query data +// if a breakpoint name changes, remember to +// update it in the list below as well +$mq-sync: xs $usn-x-small, sm $usn-small, md $usn-medium, lg $usn-large, xl $usn-x-large; + +// build each media query for js ingestion +@each $mq in $mq-sync { + @media screen and (min-width: nth($mq, 2)) { + head { + font-family: '#{nth($mq, 1)} #{nth($mq, 2)}'; + } + body:after { + content: '#{nth($mq, 1)} - min-width: #{nth($mq, 2)}'; + } + } +} + +head { + // set clear on head to show Unison is set up correctly + clear: both; + // store hash of all breakpoints + title { + font-family: '#{$mq-sync}'; + } +} + +// debug styles to see breakpoint info +body:after { + display: none; +} + +@if $debug == true { + body:after { + display: block; + position: fixed; + top: 0; + left: 0; + width: 100%; + background-color: #000; + background-color: rgba($black, 0.8); + text-align: center; + color: #fff; + padding: 10px; + z-index: 1000; + font-size: 12px; + font-family: sans-serif; + } +} + +// hide elements for conditional loading +// only used for responsive comments plugin +*[data-usn-if] { + display: none; +} diff --git a/src/@core/scss/base/themes/bordered-layout.scss b/src/@core/scss/base/themes/bordered-layout.scss new file mode 100644 index 0000000..bb7c189 --- /dev/null +++ b/src/@core/scss/base/themes/bordered-layout.scss @@ -0,0 +1,59 @@ +// ================================================================================================ +// File Name: bordered-layout.scss +// Description: SCSS file for Bordered layout. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +.bordered-layout { + .header-navbar { + box-shadow: none; + &.floating-nav { + border: 1px solid $border-color; + } + &.fixed-top { + border-bottom: 1px solid $border-color; + background: $body-bg; + } + } + .main-menu { + border-right: 1px solid $border-color; + box-shadow: none; + &.menu-light .navigation > li { + &.open:not(.menu-item-closing), + &.sidebar-group-active { + > a { + background: darken($white, 7%); + } + } + } + } + .dropdown-menu { + border: 1px solid $border-color !important; + box-shadow: none; + } + .main-menu .navigation, + .main-menu { + background: $body-bg; + } + .card, + .bs-stepper:not(.wizard-modern):not(.checkout-tab-steps), + .bs-stepper.wizard-modern .bs-stepper-content { + border: 1px solid $border-color; + box-shadow: none; + } + + .footer { + box-shadow: none !important; + } + .footer-fixed { + .footer { + border-top: 1px solid $border-color; + } + } +} diff --git a/src/@core/scss/base/themes/dark-layout.scss b/src/@core/scss/base/themes/dark-layout.scss new file mode 100644 index 0000000..9cc042b --- /dev/null +++ b/src/@core/scss/base/themes/dark-layout.scss @@ -0,0 +1,2386 @@ +// ================================================================================================ +// File Name: dark-layout.scss +// Description: SCSS file for dark layout. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +.dark-layout { + @at-root body#{&} { + color: $theme-dark-body-color; + background-color: $theme-dark-body-bg; + } + body { + color: $theme-dark-body-color; + background-color: $theme-dark-body-bg; + } + // universal elements + //heading tags + h1, + h2, + h3, + h4, + h5, + h6 { + color: $theme-dark-headings-color; + } + + // border color + .border, + .border-top, + .border-right, + .border-bottom, + .border-left { + border-color: $theme-dark-border-color !important; + } + + // other tags + a { + &:hover { + color: $primary; + } + } + + label { + color: $theme-dark-label-color; + } + + .btn span { + color: inherit; + } + + hr { + border-color: $theme-dark-border-color; + } + + pre { + background-color: $theme-dark-body-bg !important; + border: 0; + + code { + background-color: inherit; + text-shadow: none; + + // .operator, + .url { + background-color: $theme-dark-body-bg; + } + } + } + + code { + background-color: $theme-dark-body-bg; + } + + kbd { + background-color: $theme-dark-body-bg; + } + + // for dark text + .text-dark { + color: $gray-600 !important; + } + + .text-muted { + color: $theme-dark-text-muted-color !important; + } + + .text-body { + color: $theme-dark-body-color !important; + } + .text-body-heading { + color: $theme-dark-headings-color; + } + + .section-label { + color: $theme-dark-text-muted-color; + } + + // shadow + .shadow { + box-shadow: $theme-dark-box-shadow !important; + } + + // blockquote footer + .blockquote-footer { + color: $theme-dark-text-muted-color; + } + + // main navbar and header navbar shadow(generic navbar) + .header-navbar-shadow { + background: linear-gradient(180deg, rgba(22, 29, 49, 0.9) 44%, rgba(22, 29, 49, 0.43) 73%, rgba(22, 29, 49, 0)); + } + + // main header navbar dark style + + .horizontal-layout { + .header-navbar { + background-color: $theme-dark-card-bg; + } + &.navbar-sticky, + &.navbar-static { + .header-navbar { + background-color: $theme-dark-body-bg; + } + } + } + .navbar-sticky { + .header-navbar { + &.navbar-shadow { + box-shadow: 0 4px 24px 0 rgba($black, 0.75); + } + } + } + .header-navbar { + background-color: $theme-dark-card-bg; + + .navbar-container { + .nav { + .nav-item { + .nav-link { + color: $theme-dark-headings-color; + background-color: transparent; + + i, + svg { + color: $theme-dark-headings-color; + } + + &.bookmark-star { + i, + svg { + color: $white !important; + } + } + } + + &.nav-search { + .search-input { + &.open { + background-color: $theme-dark-card-bg; + + .input { + border-color: $theme-dark-border-color; + } + + .input, + .input::placeholder, + .search-input-close { + color: $theme-dark-body-color; + } + } + } + } + + .bookmark-input { + background-color: $theme-dark-card-bg; + .form-control { + background-color: $theme-dark-card-bg; + } + } + + .search-list { + background-color: $theme-dark-card-bg; + li { + a { + color: $theme-dark-body-color; + } + } + + .auto-suggestion.current_item { + background-color: $theme-dark-body-bg; + } + } + } + + li i.ficon, + li svg.ficon { + color: $theme-dark-body-color; + } + + .dropdown-cart, + .dropdown-notification { + .dropdown-menu.dropdown-menu-media { + overflow: hidden; + + .media { + border-color: $theme-dark-border-color; + + .media-meta { + color: $theme-dark-body-color; + } + + &:hover { + background-color: $theme-dark-body-bg; + } + } + .dropdown-menu-header { + border-bottom: 1px solid $theme-dark-border-color; + } + .dropdown-menu-footer { + background-color: $theme-dark-card-bg; + border-top: 1px solid $theme-dark-border-color; + .dropdown-item { + border-color: $theme-dark-border-color; + + &:hover { + background-color: $theme-dark-card-bg; + } + } + } + } + } + .dropdown-cart { + &.empty-cart { + &:before { + background-color: $theme-dark-body-bg; + } + } + li { + color: $white; + } + .cart-item { + color: $theme-dark-body-color; + } + .dropdown-header { + span { + color: $white; + } + } + .media { + img { + background-color: $theme-dark-body-bg; + } + } + .media-heading .cart-item-by { + color: $theme-dark-text-muted-color; + } + } + .dropdown-notification { + .media-body .media-heading { + color: $theme-dark-headings-color; + } + .notification-text { + color: $theme-dark-text-muted-color; + } + } + } + } + + &.navbar-static-top { + background-color: transparent !important; + } + + &[class*='bg-'] { + .navbar-nav { + .nav-item { + .nav-link { + background-color: inherit; + } + } + } + } + } + + //Text color for Blank page with transparent card + .blank-page { + .card.bg-transparent { + h1, + h2, + h3, + h4, + h5, + h6 { + color: $theme-dark-card-bg; + } + + p { + color: $theme-dark-body-bg; + } + } + } + + // main menu + .main-menu { + background-color: $theme-dark-card-bg; + + .shadow-bottom { + background: linear-gradient( + 180deg, + $theme-dark-card-bg 44%, + rgba($theme-dark-card-bg, 0.51) 73%, + rgba($theme-dark-card-bg, 0) + ); + } + + &:not(.expanded) { + .navigation { + .sidebar-group-active { + > a { + background-color: $theme-dark-body-bg; + } + } + } + } + + &.menu-dark { + .navigation > li.open:not(.menu-item-closing) > a { + background-color: $theme-dark-body-bg; + } + .navigation > li.sidebar-group-active > a { + background-color: $theme-dark-body-bg; + } + } + + .collapse-toggle-icon { + color: $primary !important; + } + } + + // Perfect Scrollbar + .ps__thumb-x, + .ps__thumb-y { + background-color: $theme-dark-body-color; + } + .ps .ps__rail-x.ps--clicking, + .ps .ps__rail-x:focus, + .ps .ps__rail-x:hover, + .ps .ps__rail-y.ps--clicking, + .ps .ps__rail-y:focus, + .ps .ps__rail-y:hover { + background-color: $theme-dark-border-color; + } + + .ps__rail-y.ps--clicking .ps__thumb-y, + .ps__rail-y:focus > .ps__thumb-y, + .ps__rail-y:hover > .ps__thumb-y { + background-color: $theme-dark-body-color; + } + + // main menu content + .main-menu-content { + .navigation-main { + background-color: $theme-dark-card-bg; + + .navigation-header { + color: $theme-dark-text-muted-color; + } + + li { + a { + color: $theme-dark-headings-color !important; + } + ul { + .open, + .sidebar-group-active { + > a { + background-color: $theme-dark-body-bg; + } + } + } + } + + .nav-item { + i, + svg { + color: $theme-dark-headings-color; + } + + &.open { + > a { + background-color: $theme-dark-body-bg !important; + } + } + + a:after { + color: $theme-dark-headings-color; + } + + .menu-content { + background-color: $theme-dark-card-bg; + + .active { + .menu-item { + color: $white; + } + } + } + } + + .active { + .menu-title, + i, + svg { + color: $white; + } + } + + .sidebar-group-active { + .menu-content { + background-color: $theme-dark-card-bg; + + .active { + z-index: 1; + + a { + background-color: transparent; + } + } + } + } + } + } + + // menu collapsed active item color + .menu-collapsed { + .main-menu:not(.expanded) { + .navigation-main { + li.active { + > a { + background: $theme-dark-body-bg !important; + } + } + } + } + } + + /********* COMPONENTS *********/ + // alerts + .alert { + .alert-heading, + p { + color: inherit; + } + .close { + text-shadow: none; + } + &.alert-dark { + .alert-heading, + .alert-body, + p { + color: $gray-600; + } + &.alert-dismissible .close { + color: $gray-600 !important; + } + } + } + + // breadcrumbs + + // Header breadcrumb + .content-header-left { + .breadcrumbs-top { + .content-header-title { + color: $theme-dark-headings-color; + border-color: $theme-dark-border-color; + } + } + } + // Breadcrumb dark style + .breadcrumb { + .breadcrumb-item { + color: $theme-dark-body-color; + + .breadcrumb-item::before { + color: $theme-dark-body-color; + } + } + &:not([class*='breadcrumb-']) { + .breadcrumb-item + .breadcrumb-item { + &:before { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + } + } + } + + // Breadcrumb with Chevron + .breadcrumb-chevron { + &.breadcrumb { + .breadcrumb-item + .breadcrumb-item:before { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + } + } + + // collapse + + [class*='collapse-'] .card:not(:last-of-type) { + border-color: $theme-dark-border-color; + } + // for shadow and bordered + .collapse-border { + .card { + border-color: $theme-dark-border-color; + } + } + + // Collapse shadow + .collapse-shadow { + box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.24); + } + + // margin collapse + .collapse-margin { + .card { + box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.24) !important; + } + } + + // if there is an anchor tag inside + .collapse-icon { + .card-header { + a { + color: $theme-dark-body-color; + } + } + [data-toggle='collapse'] { + &:after { + background-image: url(str-replace( + str-replace($chevron-down, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + &:before { + background-image: url(str-replace( + str-replace($chevron-up, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + } + } + + // buttons + .btn { + &:not([class*='btn-']) { + color: $theme-dark-body-color; + } + + &.btn-dark, + &.btn-outline-dark, + &.btn-flat-dark { + color: $gray-600; + } + + &.btn-dark { + background-color: $dark !important; + } + + &.btn-outline-dark { + border-color: $dark; + color: $gray-600; + &:hover:not(.disabled):not(:disabled) { + color: $gray-600; + } + } + + &.btn-flat-dark { + &:active, + &:focus { + background: $dark; + } + } + } + + .btn-group-toggle { + label[class*='btn-outline-'] { + color: $primary !important; + } + } + + // dropdown + .dropdown-menu { + background-color: $theme-dark-card-bg; + box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.24); + + .dropdown-header { + color: $theme-dark-headings-color; + } + + .dropdown-item { + color: $theme-dark-body-color; + &:hover, + &:focus { + background: $dropdown-link-hover-bg; + color: $dropdown-link-hover-color; + } + &:active, + &.active { + color: $dropdown-link-active-color; + background-color: $dropdown-link-active-bg; + } + &.disabled, + &:disabled { + color: $theme-dark-text-muted-color; + } + } + } + .dropdown-divider { + border-color: $theme-dark-border-color; + } + + // modal + .modal { + .modal-header, + .modal-header[class*='bg-'] { + // why removed !important? Not working if added bg-COLOR class with modal-header + // background-color: $theme-dark-card-bg !important; + background-color: $theme-dark-body-bg; + } + + // close button + .modal-header .close { + text-shadow: none; + background-color: $theme-dark-card-bg !important; + color: $theme-dark-body-color; + box-shadow: 0 3px 8px 0 rgba(11, 10, 25, 0.49) !important; + } + + .modal-content, + .modal-body, + .modal-footer { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + } + + //pagination + .pagination { + &:not([class*='pagination-']) { + .page-item { + &.active { + background-color: $theme-dark-pagination-bg; + + .page-link { + background-color: $primary; + + &:hover { + color: $white; + } + } + } + + .page-link { + background-color: $theme-dark-pagination-bg; + color: $theme-dark-body-color; + + &:hover { + color: $primary; + } + } + + &.prev-item, + &.next-item { + .page-link:hover { + color: $white; + } + } + } + } + + &[class*='pagination-'] { + .page-item:not(.active) { + .page-link { + background-color: $theme-dark-pagination-bg; + } + + &:not(:hover) { + .page-link { + color: $white; + } + } + } + + .page-item { + &:not(.active) { + .page-link:hover { + background-color: $theme-dark-pagination-bg; + } + } + + &.active { + background-color: $theme-dark-pagination-bg; + } + } + } + + .page-item { + &.prev-item, + &.prev { + .page-link:before { + background-image: url(str-replace( + str-replace($chevron-left, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + &.disabled { + .page-link { + &:before { + background-image: url(str-replace( + str-replace($chevron-left, 'currentColor', $theme-dark-text-muted-color), + '#', + '%23' + )); + } + } + } + } + &.next-item, + &.next { + .page-link::after { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + &.disabled { + .page-link { + &:after { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $theme-dark-text-muted-color), + '#', + '%23' + )); + } + } + } + } + &.disabled { + .page-link { + color: $theme-dark-text-muted-color; + } + } + } + } + + // nav tabs + .nav-tabs, + .nav-pills, + .nav-tabs.nav-justified { + .nav-item { + .nav-link { + color: $theme-dark-headings-color; + &.active { + background-color: $theme-dark-card-bg; + color: $primary; + } + + &.disabled { + color: $theme-dark-text-muted-color; + } + } + } + } + + // bordered nav + .nav.wrap-border { + border-color: $theme-dark-border-color; + } + + // nav pills + .nav-pills { + .nav-item { + .nav-link { + &.active { + color: $white; + background-color: $primary; + } + } + } + } + + // media + .media-bordered { + .media:not(:first-child) { + border-color: $theme-dark-border-color; + } + } + + // popover + .popover { + &[x-placement='top'] { + .arrow { + &:before { + border-top-color: $theme-dark-border-color; + } + &:after { + border-top-color: $theme-dark-card-bg; + } + } + } + + &[x-placement='left'] { + .arrow { + &:before { + border-left-color: $theme-dark-border-color; + } + &:after { + border-left-color: $theme-dark-card-bg; + } + } + } + + &[x-placement='right'] { + .arrow { + &:before { + border-right-color: $theme-dark-border-color; + } + &:after { + border-right-color: $theme-dark-card-bg; + } + } + } + .popover-header { + color: $white; + } + + .popover-body { + background-color: $theme-dark-card-bg; + color: $theme-dark-body-color; + border-color: $theme-dark-border-color !important; + } + } + + // BS toast + .toast { + background-color: rgba($theme-dark-card-bg, 0.85); + box-shadow: $theme-dark-box-shadow; + color: $theme-dark-body-color; + + .toast-header { + background-color: $theme-dark-card-bg; + color: $theme-dark-body-color; + + .close { + background-color: transparent !important; + box-shadow: none !important; + text-shadow: none; + } + } + } + + // list group + .list-group { + .list-group-item { + &:not([class*='list-group-item-']), + &.list-group-item-action { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + color: $theme-dark-body-color; + + &:hover, + &:focus { + background-color: $theme-dark-body-bg; + } + &.active, + &:active { + background-color: $primary; + color: $white; + } + } + + &.active { + p, + small { + color: $white; + } + } + + &.disabled { + color: $theme-dark-text-muted-color; + } + } + + &.list-group-circle .list-group-item:after { + background-image: url(str-replace(str-replace($circle, 'currentColor', $theme-dark-body-color), '#', '%23')); + } + } + + // spinners + .spinner-border { + border-color: currentColor !important; + border-right-color: transparent !important; + } + + // avatar + .avatar { + background-color: $theme-dark-body-bg; + + [class*='avatar-status-'] { + border-color: $theme-dark-card-bg; + } + } + .avatar-group { + .avatar { + img, + .avatar-content { + box-shadow: 0 0 0 2px $theme-dark-card-bg, inset 0 0 0 1px rgba($theme-dark-card-bg, 0.07); + } + } + } + + // divider + .divider { + .divider-text { + color: $theme-dark-body-color; + + &::before, + &::after { + border-color: $theme-dark-border-color; + } + } + + &.divider-dark { + .divider-text { + &::before, + &::after { + border-color: $theme-dark-border-color !important; + } + } + } + } + + // Timeline + .timeline { + .timeline-item { + border-color: $theme-dark-border-color; + + .timeline-point:not(.timeline-point-indicator) { + background-color: $theme-dark-card-bg; + } + .timeline-event { + .timeline-event-time { + color: $theme-dark-text-muted-color; + } + } + &:last-of-type:after { + background: linear-gradient($theme-dark-border-color, transparent); + } + } + } + + // card + .card { + background-color: $theme-dark-card-bg; + box-shadow: $theme-dark-box-shadow; + .card-footer { + border-color: $theme-dark-border-color; + } + + &.overlay-img-card { + .card-img-overlay { + span, + p, + .card-body { + color: $white; + } + } + } + } + + //--------------- Advance Cards --------------- + //--------------------------------------------- + + // Developer Meetup Card + .card-developer-meetup { + .meetup-header .meetup-day { + border-right-color: $theme-dark-input-border-color; + } + } + + // Profile Card + .card-profile { + .profile-image-wrapper .profile-image { + background-color: $theme-dark-body-bg; + } + } + + // Business Card + .business-card { + .business-items .business-item { + border-color: $theme-dark-border-color; + } + } + + // App Design Card + .card-app-design { + .design-planning-wrapper .design-planning { + background-color: $theme-dark-body-bg; + } + } + + //--------------- Statistics Card --------------- + //------------------------------------------------ + + .card-tiny-line-stats { + .apexcharts-series-markers { + .apexcharts-marker { + stroke: $info; + } + + &:last-child { + .apexcharts-marker { + fill: $theme-dark-card-bg; + } + } + } + } + + //-------------- Analytics Cards -------------- + //--------------------------------------------- + + // Revenue Report Card + .card-revenue-budget { + .revenue-report-wrapper { + border-right-color: $theme-dark-border-color; + } + .budget-wrapper { + .apexcharts-series:not(:first-child) { + path { + stroke: $theme-dark-body-color; + } + } + } + } + + // Earnings Card + .earnings-card { + .apexcharts-canvas .apexcharts-pie { + .apexcharts-datalabel-label { + fill: $theme-dark-body-color !important; + } + + .apexcharts-datalabel-value { + fill: $theme-dark-headings-color; + } + } + } + + // Company Table Card + .card-company-table { + .avatar { + background-color: $theme-dark-body-bg; + } + } + + /********** FORMS **********/ + + // input + input.form-control, + .custom-file-label, + textarea.form-control { + background-color: $theme-dark-input-bg; + color: $theme-dark-body-color; + + &:not(:focus) { + border-color: $theme-dark-input-border-color; + } + + &::placeholder { + color: $theme-dark-input-placeholder-color; + } + + &:disabled, + &[readonly='readonly'] { + opacity: 0.5; + } + } + + // text area counter + .char-textarea { + &.active { + color: $theme-dark-body-color !important; + } + + &.max-limit { + color: $danger !important; + } + } + + // file uploader default + .custom-file-label { + &:after { + background-color: $theme-dark-body-bg; + border-left: 1px solid $theme-dark-border-color; + color: $theme-dark-body-color; + } + } + + // custom control like checkbox, radio and switch + .custom-control-input { + &:not(:checked) { + ~ .custom-control-label:before { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-input-border-color; + } + } + &:disabled { + ~ .custom-control-label:before { + background-color: $theme-dark-input-disabled-border-color; + border-color: $theme-dark-input-disabled-border-color; + } + } + } + + .custom-switch { + .custom-control-input:not(:checked) { + ~ .custom-control-label:before { + background-color: $theme-dark-switch-bg; + } + } + .custom-control-input:disabled { + ~ .custom-control-label:before { + background-color: $theme-dark-switch-bg-disabled; + } + } + } + + // select + select.form-control, + .custom-select { + background-color: $theme-dark-input-bg; + color: $theme-dark-body-color; + border-color: $theme-dark-border-color; + + option:checked { + background-color: $theme-dark-card-bg; + } + + &:disabled { + opacity: 0.5; + } + &:focus { + border-color: $primary; + } + } + + select.form-control { + &:not([multiple='multiple']) { + background-image: url(str-replace( + str-replace($chevron-down, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + } + + // Added for override + .was-validated .form-control:invalid, + .form-control.is-invalid { + border-color: $danger !important; + } + + .was-validated .form-control:valid, + .form-control.is-valid { + border-color: $success !important; + } + + // form wizard + .wizard { + .steps { + ul { + .disabled, + .done { + a { + color: $theme-dark-body-color !important; + + &:hover { + color: $theme-dark-body-color; + } + + .step { + background-color: $theme-dark-body-bg !important; + color: $white !important; + } + } + } + } + } + } + + // input groups + .input-group { + .input-group-text { + background-color: $theme-dark-input-bg; + border-color: $theme-dark-border-color; + color: $theme-dark-body-color; + } + + &:focus-within { + .form-control, + .input-group-text { + border-color: $primary; + box-shadow: none; + } + } + } + + // floating label + .form-label-group { + & > input:not(:focus):not(:placeholder-shown) ~ label, + & > textarea:not(:focus):not(:placeholder-shown) ~ label { + color: $theme-dark-body-color !important; + } + } + + .counter-value { + color: white; + } + + /********** TABLE **********/ + + // table + .table { + background-color: $theme-dark-table-bg; + + td, + th { + color: $theme-dark-body-color; + border-color: $theme-dark-border-color !important; + } + + .thead, + tbody { + tr:not([class*='table-']) { + th, + td { + border-color: $theme-dark-border-color; + color: $theme-dark-body-color; + + code { + background-color: $theme-dark-table-row-bg; + } + } + } + } + + thead, + tfoot { + tr { + th { + border-color: $theme-dark-border-color; + background-color: $theme-dark-table-header-bg; + color: $theme-dark-headings-color; + } + } + &.thead-dark th { + background-color: $white; + color: $dark !important; + } + } + + // if table not light/dark and thead not have dark class + &:not(.table-dark):not(.table-light) thead:not(.thead-dark) th, + &:not(.table-dark):not(.table-light) tfoot:not(.thead-dark) th { + background-color: $theme-dark-table-header-bg; + } + + // table-dark style + &.table-dark { + background-color: $white; + &.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba($dark, 0.05); + td { + background-color: inherit; + } + } + td, + th { + border-color: #f8f9fa !important; + color: $dark !important; + background-color: $white; + .text-white { + color: $dark !important; + } + } + } + tbody { + tr { + // for contextual classes + &[class*='table-'] { + td, + th { + background-color: unset; + } + } + + &.table-dark { + td, + th { + color: $white; + } + } + + &.table-active { + td, + th { + color: $theme-dark-body-color; + } + } + } + } + + // bordered table + &.table-bordered { + border-color: $theme-dark-border-color; + } + + // table hover row color + &.table-hover { + tbody { + tr { + &:hover { + background-color: $theme-dark-table-hover-bg; + } + + th, + td { + background-color: unset; + } + } + } + } + + // hover animation + &.table-hover-animation tbody tr { + background-color: $theme-dark-table-bg; + &:hover { + box-shadow: $theme-dark-box-shadow; + } + } + + // table striped + &.table-striped { + tbody { + tr { + &:nth-of-type(odd) { + background-color: $theme-dark-table-striped-bg; + } + } + } + } + } + + // datatable + .dataTables_wrapper { + .dt-buttons { + .buttons-copy, + .buttons-excel, + .buttons-pdf, + .buttons-print, + .btn-secondary, + [class*='buttons-'] { + background-color: $theme-dark-body-bg !important; + &:active { + background-color: $primary !important; + color: $white; + } + } + } + .dt-button-collection { + > div[role='menu'] { + box-shadow: $theme-dark-box-shadow; + } + } + + .table.dataTable { + tr { + &.group { + td { + background-color: $theme-dark-table-striped-bg; + color: $theme-dark-headings-color; + } + } + } + + // Sorting Icons Change + thead { + .sorting, + .sorting_asc, + .sorting_desc { + &:before { + background-image: url(str-replace( + str-replace($chevron-up, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + &:after { + background-image: url(str-replace( + str-replace($chevron-down, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + } + .sorting { + &:before, + &:after { + opacity: 0.5; + } + } + .sorting_asc { + &:before { + opacity: 1; + } + &:after { + opacity: 0.5; + } + } + .sorting_desc { + &:after { + opacity: 1; + } + &:before { + opacity: 0.5; + } + } + } + } + } + + // agGrid Page Btn + .ag-grid-btns { + .filter-btn { + background-color: transparent !important; + } + } + + // agGrid Main + .aggrid { + .ag-input-wrapper input { + color: $theme-dark-body-color; + } + } + .aggrid, + .ag-header { + background-color: $theme-dark-card-bg; + color: $theme-dark-body-color; + border-color: $theme-dark-border-color; + + .ag-row-hover, + .ag-row-selected { + background-color: $theme-dark-table-hover-bg !important; + } + + .ag-icon { + color: $theme-dark-input-border-color; + } + .ag-header-cell.ag-column-hover { + background: transparent !important; + } + + .ag-header-cell, + .ag-cell, + .ag-row, + .ag-pinned-left-header, + .ag-pinned-left-cols-container, + .ag-horizontal-left-spacer, + .ag-paging-panel, + .ag-floating-filter-input { + border-color: $theme-dark-border-color !important; + color: $theme-dark-body-color; + } + .ag-cell.ag-cell-inline-editing { + border-color: $theme-dark-border-color; + background: $theme-dark-body-bg; + height: auto; + padding-top: 0; + } + + .ag-paging-panel { + .ag-paging-button { + background-color: $theme-dark-body-bg; + } + .ag-disabled { + background: $theme-dark-card-bg; + } + + span[ref='lbTotal'] { + background-color: $theme-dark-pagination-bg; + color: $theme-dark-body-color !important; + } + } + + ::-webkit-scrollbar-track { + background: $theme-dark-body-bg; + } + + ::-webkit-scrollbar-thumb { + background: $primary; + } + } + + /********** PAGES **********/ + + // coming soon + .getting-started { + .clockCard { + p { + color: $theme-dark-body-color !important; + } + } + } + + // profile page + #user-profile { + .profile-header { + .navbar { + background-color: $theme-dark-card-bg; + .navbar-toggler { + color: $theme-dark-body-color; + border-color: $theme-dark-border-color; + } + } + } + } + + // Search page + .search-bar { + .form-control { + background-color: $theme-dark-card-bg; + } + } + + // Blog Edit Page + .blog-edit-wrapper { + .border { + border-color: $theme-dark-border-color !important; + } + } + // Knowledge Base + .kb-search-content-info { + .kb-search-content { + .card-img-top { + background-color: #3f4860; + } + } + } + + // list group circle for kb + .list-group-circle { + .list-group-item:not([class*='list-group-item-']), + .list-group-item-action { + &:hover, + &:focus, + &:active { + background-color: transparent !important; + } + } + } + + /********** APPLICATIONS **********/ + + // App common sidebar and content dark style + .content-area-wrapper { + border-color: $theme-dark-border-color !important; + + .sidebar { + .sidebar-content { + background-color: $theme-dark-card-bg !important; + } + } + .app-fixed-search { + background-color: $theme-dark-card-bg !important; + border-color: $theme-dark-border-color !important; + } + .content-right { + border-color: $theme-dark-border-color !important; + } + } + + // email application + .email-application { + .content-area-wrapper { + // Email list + .email-app-list { + .app-action { + border-color: $theme-dark-border-color; + background-color: $theme-dark-card-bg; + .action-right { + .list-inline-item { + .dropdown-toggle { + color: $theme-dark-body-color; + } + } + } + } + + .email-user-list { + .media { + border-color: $theme-dark-border-color; + background-color: $theme-dark-card-bg; + + &:hover { + box-shadow: 0 3px 10px 0 $theme-dark-card-bg; + } + + &.selected-row-bg { + background-color: rgba($primary, 0.06); + border-color: $theme-dark-border-color; + } + } + + .media { + .user-details, + .mail-message { + p, + .mail-date { + color: $theme-dark-text-muted-color; + } + } + } + + .mail-read { + background-color: $theme-dark-table-hover-bg; + } + } + } + + // app email details + .email-app-details { + border-color: $theme-dark-border-color; + .email-scroll-area { + background-color: $theme-dark-body-bg; + } + + .email-detail-header { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + + .email-header-right { + .list-inline-item { + .dropdown-toggle, + .action-icon { + color: $theme-dark-body-color; + } + } + } + } + .email-info-dropup { + .dropdown-toggle::after { + background-image: url(str-replace( + str-replace($chevron-down, 'currentColor', $theme-dark-text-muted-color), + '#', + '%23' + )); + } + } + + .mail-message-wrapper, + .email-detail-head { + border-color: $theme-dark-border-color !important; + } + } + + // Compose mail + #compose-mail { + .compose-mail-form-field, + .ql-toolbar, + .ql-container { + border-color: $theme-dark-border-color; + } + label { + color: $theme-dark-body-color; + } + .modal-body { + border-bottom-left-radius: $modal-content-border-radius; + border-bottom-right-radius: $modal-content-border-radius; + } + } + } + } + + // chat application + .chat-application { + .content-area-wrapper { + border-color: $theme-dark-border-color; + } + // left sidebar + .sidebar { + .chat-profile-sidebar { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + + .sidebar-content { + border-color: $theme-dark-border-color; + + .chat-fixed-search { + border-color: $theme-dark-border-color; + } + + .chat-user-list-wrapper { + .chat-users-list { + li { + &:not(.active):hover { + background: $theme-dark-body-bg; + } + .chat-info .card-text, + .chat-time { + color: $theme-dark-text-muted-color; + } + &.active { + .chat-info .card-text, + .chat-time { + color: $white; + } + } + img { + border-color: $theme-dark-border-color; + } + } + } + } + } + } + .avatar-border { + img { + border-color: $theme-dark-border-color; + } + } + + // Right side content area + .content-right { + .chat-app-window { + .start-chat-area { + background-color: $theme-dark-card-bg; + + .start-chat-icon, + .start-chat-text { + background: $theme-dark-card-bg; + color: $theme-dark-body-color; + } + } + .start-chat-area, + .user-chats { + background-image: url($chat-bg-dark); + background-color: #1e232f; + } + .user-chats { + .divider .divider-text { + background: $theme-dark-card-bg; + &:before, + &:after { + border-color: $theme-dark-border-color; + } + } + .avatar img { + border-color: $theme-dark-border-color; + } + } + // Active conversation style + .active-chat { + .chat-left { + .chat-content { + background-color: $theme-dark-card-bg; + p { + color: $theme-dark-body-color; + } + } + } + + .chat-content { + p { + color: $white; + } + } + // Chat form + .chat-header .dropdown-toggle { + color: $theme-dark-body-color; + } + .chat-header, + .chat-app-form { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + } + } + + .user-profile-sidebar { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + } + } + + // Chat widget dark style + .chat-widget { + .user-chats { + background-color: $theme-dark-widget-bg !important; + } + .card-header, + .chat-app-form { + background-color: $theme-dark-card-bg; + } + .chat-app-window .user-chats .chat-left .chat-content { + background-color: $theme-dark-card-bg !important; + color: $theme-dark-body-color !important; + } + .chat-app-window .user-chats .avatar img { + border-color: $theme-dark-body-bg; + } + } + + // Kanban application + .kanban-application { + .kanban-wrapper { + .kanban-container { + .kanban-board { + .kanban-board-header { + .kanban-title-board { + color: $white; + + &:hover, + &:focus { + background-color: $theme-dark-card-bg; + } + } + } + .kanban-item { + background-color: $theme-dark-card-bg; + .item-dropdown i.dropdown-toggle, + .item-dropdown svg.dropdown-toggle { + stroke: $white; + } + .kanban-title-button { + color: $theme-dark-body-color; + } + i, + svg { + stroke: $theme-dark-body-color; + } + } + } + } + } + .update-item-sidebar { + .nav-tabs .nav-item .nav-link, + .tab-content .tab-pane { + background-color: transparent; + } + } + } + .kanban-item.gu-mirror { + background-color: $theme-dark-card-bg; + } + + // Todo application + .todo-application { + .content-area-wrapper { + .sidebar { + .todo-form { + .todo-item-action { + color: $theme-dark-body-color; + } + } + } + .content-right { + .todo-task-list-wrapper { + background-color: $theme-dark-card-bg !important; + border-color: $theme-dark-border-color; + } + .todo-task-list { + .todo-item { + &:not(:first-child) { + border-color: $theme-dark-border-color; + } + &.completed { + .todo-title { + color: $theme-dark-text-muted-color; + } + } + &:hover { + box-shadow: $theme-dark-box-shadow; + } + + .todo-item-action { + .todo-item-favorite:not(.text-warning) { + i, + svg { + color: $theme-dark-body-color; + } + } + } + } + } + } + } + .todo-item-action { + .close { + background-color: transparent !important; + } + } + } + .todo-item.gu-mirror { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + box-shadow: $theme-dark-box-shadow; + &.completed { + .todo-title { + color: $theme-dark-text-muted-color; + } + } + } + + // E-commerce application + .ecommerce-application { + .ecommerce-card { + .btn-light { + background-color: $theme-dark-body-bg !important; + color: $white; + border-color: transparent; + } + } + + // main content + .content-right, + .content-body { + // header items + .ecommerce-header-items { + .result-toggler { + .search-results { + color: $theme-dark-headings-color; + } + + .shop-sidebar-toggler { + i, + svg { + color: $theme-dark-headings-color; + } + } + } + } + + // list and grid view + .grid-view, + .list-view { + .ecommerce-card { + .card-body { + border-color: $theme-dark-border-color; + } + .item-options { + .wishlist { + span { + color: $headings-color; + } + } + + .cart { + span { + color: $white; + } + } + } + } + } + } + .grid-view { + .item-name a, + .item-price { + color: $theme-dark-body-color; + } + } + + // wishlist-items + .wishlist-items { + .ecommerce-card { + .move-cart { + .move-to-cart { + color: $white; + } + } + } + } + + // checkout + .product-checkout { + .checkout-options { + .coupons { + input { + color: $theme-dark-body-color; + &::placeholder { + color: $theme-dark-body-color; + } + } + } + } + } + // Ecommerce details + .app-ecommerce-details { + .item-features, + .swiper-responsive-breakpoints.swiper-container .swiper-slide { + background-color: $theme-dark-body-bg; + } + } + } + + // file manager app + .file-manager-application { + .sidebar-file-manager { + background-color: $theme-dark-card-bg !important; + .jstree { + .jstree-container-ul { + .jstree-anchor { + color: $theme-dark-body-color; + } + } + } + .storage-status { + i, + svg { + color: $theme-dark-body-color !important; + } + } + + .file-manager-title { + color: $theme-dark-label-color; + } + + &.show { + border: 1px solid $theme-dark-border-color !important; + } + } + + .content-area-wrapper { + border: 1px solid $theme-dark-border-color !important; + } + + // File Manager App + .file-manager-main-content { + border: 1px solid $theme-dark-border-color !important; + + .file-manager-app-searchbar { + background-color: transparent !important; + border-bottom: 1px solid $theme-dark-border-color !important; + + .file-manager-toggler { + color: $theme-dark-body-color !important; + } + } + + .file-manager-content-header, + .file-manager-content-body { + background-color: $theme-dark-card-bg !important; + } + + .file-manager-content-header { + border-color: $theme-dark-border-color !important; + } + + .file-manager-content-body { + .drives { + .card { + background-color: $theme-dark-table-bg; + } + } + + .view-container { + .file-manager-item { + .file-logo-wrapper { + background-color: $theme-dark-body-bg !important; + } + &:not(.selected) { + border-color: $theme-dark-border-color !important; + } + } + &:not(.list-view) { + .file-manager-item { + .file-size, + .file-accessed { + color: $theme-dark-text-muted-color !important; + } + } + } + } + } + } + + #app-file-manager-info-sidebar { + .nav-tabs .nav-link, + .tab-content .tab-pane { + background-color: transparent; + } + + .nav-tabs { + .nav-item:not(.active) { + .nav-link { + color: $theme-dark-body-color; + } + } + } + } + } + + // calendar + .app-calendar { + .app-calendar-sidebar { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + + .sidebar-content-title { + color: $theme-dark-label-color; + } + .select-all, + .input-filter { + ~ label { + color: $theme-dark-label-color; + } + } + } + .fc { + .fc-day-today { + background: $theme-dark-body-bg !important; + background-color: $theme-dark-body-bg !important; + } + + .fc-timegrid { + .fc-scrollgrid-section { + .fc-col-header-cell, + .fc-timegrid-axis, + .fc-daygrid-day { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + .fc-day-today { + background-color: rgba($color: $gray-100, $alpha: 0.12) !important; + + &.fc-col-header-cell { + background-color: $theme-dark-card-bg !important; + } + } + } + } + .fc-popover { + background: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + .fc-popover-header { + .fc-popover-title, + .fc-popover-close { + color: $theme-dark-body-color; + } + } + tbody td, + thead th { + border-color: $theme-dark-border-color; + } + + .fc-scrollgrid { + border-color: $theme-dark-border-color; + } + + .fc-list, + th { + border-color: $theme-dark-border-color; + .fc-list-day-cushion { + background: $theme-dark-body-bg; + } + .fc-list-event:hover td { + background-color: $theme-dark-body-bg; + } + .fc-list-event-time { + color: $theme-dark-body-color; + } + .fc-list-event { + td { + border-color: $theme-dark-border-color; + } + } + } + } + } + + // Invoice Application + .invoice-list-wrapper { + .dataTables_wrapper { + .invoice-list-dataTable-header { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + .invoice-data-table { + background-color: $theme-dark-card-bg; + tbody .selected-row-bg { + background-color: $theme-dark-border-color; + } + td { + background-color: inherit; + } + } + } + } + .invoice-edit, + .invoice-add { + .invoice-preview-card { + .invoice-product-details { + background-color: $theme-dark-body-bg; + .product-details-border { + background-color: $theme-dark-card-bg; + border-color: $theme-dark-border-color; + } + } + } + } + .invoice-print { + .form-control { + background-color: $theme-dark-card-bg; + } + } + + // Users Application + .app-user-view { + .plan-card { + border-color: $primary !important; + } + } + .app-user-edit { + .form-control.error { + border-color: $danger !important; + } + } + + /********** CUSTOMIZER **********/ + + .customizer { + background-color: $theme-dark-card-bg; + + .customizer-close { + i, + svg { + color: $theme-dark-body-color; + } + } + } + + .footer-fixed { + .footer { + background-color: $theme-dark-card-bg; + } + } + + /********** HORIZONTAL LAYOUT **********/ + .horizontal-layout { + &.navbar-sticky .horizontal-menu-wrapper .navbar-horizontal.header-navbar.fixed-top { + box-shadow: 0 4px 24px 0 rgba($black, 0.75) !important; + } + .horizontal-menu-wrapper { + background: linear-gradient( + to bottom, + rgba(37, 43, 71, 0.76) 44%, + rgba(56, 53, 53, 0.46) 73%, + rgba($white, 0) 100% + ) !important; + .header-navbar { + background: $theme-dark-card-bg !important; + &.navbar-shadow { + box-shadow: 0 4px 24px 0 rgba($black, 0.75); + } + &.navbar-horizontal { + ul#main-menu-navigation > li:hover:not(.active) > a { + background: $theme-dark-body-bg; + } + + .active { + .nav-link { + &.dropdown-toggle::after { + background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $white), '#', '%23')); + } + } + } + + .nav-link { + &.dropdown-toggle::after { + background-image: url(str-replace( + str-replace($chevron-down, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + } + } + } + } + .main-menu-content { + .navbar-nav { + .dropdown-submenu { + &.show { + background-color: $theme-dark-card-bg !important; + color: $theme-dark-body-color; + } + } + .dropdown-menu { + a { + &:hover { + color: $theme-dark-headings-color !important; + } + } + .disabled a { + color: $theme-dark-text-muted-color; + } + .dropdown-item { + color: $theme-dark-headings-color; + } + .dropdown-toggle { + &::after { + background-image: url(str-replace( + str-replace($chevron-right, 'currentColor', $theme-dark-body-color), + '#', + '%23' + )); + } + &:hover, + &:active { + &::after { + background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $white), '#', '%23')); + } + } + } + } + + > li.active { + > a { + > i, + > svg { + color: $white !important; + } + } + + .dropdown-menu { + li.active > a { + background: $theme-dark-body-bg !important; + color: $theme-dark-body-color; + &:hover { + color: $primary !important; + } + } + } + + .dropdown-menu { + li.open.active { + > a { + color: $theme-dark-body-color !important; + } + } + } + } + } + } + } +} diff --git a/src/@core/scss/base/themes/semi-dark-layout.scss b/src/@core/scss/base/themes/semi-dark-layout.scss new file mode 100644 index 0000000..f8b3ad2 --- /dev/null +++ b/src/@core/scss/base/themes/semi-dark-layout.scss @@ -0,0 +1,109 @@ +// ================================================================================================ +// File Name: semi-dark-layout.scss +// Description: SCSS file for semi dark layout. +// ---------------------------------------------------------------------------------------------- +// Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template +// Author: PIXINVENT +// Author URL: http://www.themeforest.net/user/pixinvent +// ================================================================================================ + +@import '../bootstrap-extended/include'; // Bootstrap includes +@import '../components/include'; // Components includes + +.semi-dark-layout { + /************ Main Menu **************/ + + // main menu + .main-menu { + background-color: $theme-dark-card-bg; + .shadow-bottom { + background: linear-gradient( + 180deg, + $theme-dark-card-bg 44%, + rgba($theme-dark-card-bg, 0.51) 73%, + rgba($theme-dark-card-bg, 0) + ); + } + &:not(.expanded) { + .navigation { + .sidebar-group-active { + a { + background-color: $theme-dark-body-bg; + } + } + } + } + } + + // main menu content + .main-menu-content { + .navigation-main { + background-color: $theme-dark-card-bg; + .navigation-header { + color: $theme-dark-text-muted-color; + } + .nav-item { + a { + color: $theme-dark-body-color; + } + &.open { + a { + background-color: $theme-dark-body-bg; + } + } + a:after, + a { + color: $theme-dark-body-color; + } + .menu-content { + background-color: $theme-dark-card-bg; + .active { + .menu-item { + color: $white; + } + } + li:not(.active) { + a { + background-color: $theme-dark-card-bg; + } + } + } + } + .active { + .menu-title, + i { + color: $white; + } + } + .sidebar-group-active { + a { + background: $theme-dark-card-bg; + border-radius: 4px; + } + } + .menu-content { + background-color: $theme-dark-card-bg; + .active { + z-index: 1; + a { + background-color: transparent; + } + } + } + } + } + + // menu collapsed active item color + .menu-collapsed { + .main-menu:not(.expanded) { + .navigation-main { + li.active { + > a { + background: $theme-dark-body-bg !important; + color: $white !important; + } + } + } + } + } +} diff --git a/src/@core/scss/core.scss b/src/@core/scss/core.scss new file mode 100644 index 0000000..7329782 --- /dev/null +++ b/src/@core/scss/core.scss @@ -0,0 +1,36 @@ +@import './base/bootstrap.scss'; +@import './base/bootstrap-extended.scss'; +@import './base/colors.scss'; +@import './base/components.scss'; + +// Themes +@import './base/themes/dark-layout.scss'; +@import './base/themes/bordered-layout.scss'; +@import './base/themes/semi-dark-layout.scss'; +// @import './base/custom-rtl.scss'; + +// React Specific +@import 'react/index'; + +.todo-item{ + margin-bottom: 10px !important; +} + +.chat-content.task{ + float: right; + background-image: linear-gradient(80deg,#7367f0,#9e95f5); + border-radius: 5px; + color: #fff; + padding: 6px; + margin-bottom: 15px; +} +.todo-title-wrapper:hover{ + cursor: pointer; + background-color: #67dbf0; + border-radius: 2px; +} +.todo-title-wrapper.tasks{ + display: flex; + justify-content: space-between; +} + diff --git a/src/@core/scss/react/_base-extended.scss b/src/@core/scss/react/_base-extended.scss new file mode 100644 index 0000000..942c370 --- /dev/null +++ b/src/@core/scss/react/_base-extended.scss @@ -0,0 +1,174 @@ +// Layout +// ======================================================================== +body, +#root, +.wrapper { + height: 100%; +} + +// Vertical Menu +// ======================================================================== +.vertical-layout .main-menu { + &.expanded { + .navigation { + li:not(.open) { + & > ul { + display: block !important; + } + } + } + } + .navigation { + li:not(.open) { + a { + &:after { + transform: rotate(0deg) !important; + } + } + } + } +} + +body #root .wrapper .ps__rail-y { + left: auto !important ; + right: 1px !important; +} + +// Horizontal Menu +// ======================================================================== +.horizontal-layout { + &.navbar-static .navbar-scrolled { + background: $white !important; + box-shadow: rgba($black, 0.05) 0px 4px 20px 0px !important; + } + + // Main Navbar + .header-navbar { + .navbar-container { + .dropdown-language, + .dropdown-cart, + .dropdown-notification, + .dropdown-user { + .dropdown-menu { + top: 3rem !important; + } + } + } + } + + // Menu + .horizontal-menu-wrapper { + #main-menu-navigation { + .dropdown { + .dropdown-submenu { + .dropdown-toggle:after { + margin-top: -5px; + } + } + } + } + + .navbar-horizontal { + ul.dropdown-menu { + .nav-item.active > a { + border-bottom: none; + } + + // Scrollbar styles + &::-webkit-scrollbar { + width: 5px; + height: 5px; + } + + &::-webkit-scrollbar-thumb { + background: $gray-500; + border-radius: 20px; + } + + &::-webkit-scrollbar-track { + background: $gray-300; + border-radius: 30px; + } + } + } + } +} + +// Bookmarks search +// ======================================================================== +.header-navbar .navbar-container { + .navbar-nav { + .autocomplete-container .suggestion-item span { + line-height: 1.2; + } + } +} + +// Component Code +// ======================================================================== +.card-snippet { + pre { + margin-top: 0; + border-radius: 0.5rem; + } +} + +// Dashboard Analytics +// ======================================================================= + +.card-congratulations { + .avatar svg { + height: 28px !important; + width: 28px !important; + } +} + +// Card Analytics +// ======================================================================= +.avg-session-progress { + height: 6px; +} + +// Block UI +// ======================================================================== +.block-ui-container { + .block-ui-overlay { + background: rgba($black, 0.6); + } +} + +// React SlideDown +// ======================================================================== +.react-slidedown { + &::-webkit-scrollbar { + width: 0px; + } +} + +// Router Transitions +// ======================================================================== +.animate__animated.animate__zoomIn, +.animate__animated.animate__fadeInLeft { + --animate-duration: 1s; +} + +// App Ecommerce +// ======================================================================== +.ecommerce-application { + .content-wrapper.animate__animated { + animation: none; + } +} + +// Customizer +// ======================================================================== +.customizer { + .react-select { + width: 100%; + max-width: 200px; + + .select__menu { + z-index: 2; + } + } +} diff --git a/src/@core/scss/react/_dark-layout.scss b/src/@core/scss/react/_dark-layout.scss new file mode 100644 index 0000000..58a20e4 --- /dev/null +++ b/src/@core/scss/react/_dark-layout.scss @@ -0,0 +1,72 @@ +@import '../base/bootstrap-extended/include'; +@import '../base/components/include'; + +.dark-layout { + // Autocomplete Navbar + .autocomplete-container { + .suggestions-list { + .suggestion-item { + &.suggestion-title-wrapper h6 { + color: $theme-dark-text-muted-color; + } + } + } + } + + // Ecommerce Application + .ecommerce-application .list-view .ecommerce-card .card-body { + border-right-color: $theme-dark-border-color; + } + + // Pagination Break + .pagination { + .break { + background-color: $theme-dark-pagination-bg; + a { + color: $theme-dark-body-color; + } + } + } + + // Invoice data table + .invoice-list-wrapper header { + background-color: $theme-dark-card-bg; + } + + // BlockUI + .block-ui-container { + .block-ui-overlay { + background: $theme-dark-body-bg; + } + .block-ui-message { + color: $theme-dark-body-color; + } + } + + // Form Control + .form-control { + background-color: transparent; + } + + // Apex Charts + .apexcharts-gridlines-vertical line { + stroke: $theme-dark-border-color; + } + + // Horizontal Menu Scrollbar + .horizontal-menu { + .horizontal-menu-wrapper { + .navbar-horizontal { + ul.dropdown-menu { + &::-webkit-scrollbar-thumb { + background: $theme-dark-body-bg; + } + + &::-webkit-scrollbar-track { + background: $theme-dark-border-color; + } + } + } + } + } +} diff --git a/src/@core/scss/react/_index.scss b/src/@core/scss/react/_index.scss new file mode 100644 index 0000000..35a321e --- /dev/null +++ b/src/@core/scss/react/_index.scss @@ -0,0 +1,10 @@ +// Base Extended (General styles which are not added 'base styles') +@import 'base-extended'; + +@import 'dark-layout'; + +@import 'rtl'; + +@import 'reactstrap/index'; + +@import 'app-loader'; diff --git a/src/@core/scss/react/_rtl.scss b/src/@core/scss/react/_rtl.scss new file mode 100644 index 0000000..155bc8f --- /dev/null +++ b/src/@core/scss/react/_rtl.scss @@ -0,0 +1,247 @@ +html[dir='rtl'] { + body .ps__rail-y { + right: auto !important; + left: 1px !important; + } + + // Scroll To Top + .scroll-to-top { + div:first-of-type { + left: auto !important; + right: 30px; + } + } + + // Vertical Menu Item Arrows + .vertical-layout.vertical-menu-modern { + .main-menu .navigation { + li.has-sub { + > a:after { + transform: rotate(-90deg) !important; + } + &:not(.open) { + > a:after { + transform: rotate(-180deg) !important; + } + } + } + } + } + + // Horizontal menu + .horizontal-menu .header-navbar.navbar-horizontal .dropdown-menu .dropdown-toggle::after { + background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $body-color), '#', '%23')); + } + + // Breadcrumbs + .breadcrumb:not([class*='breadcrumb-']), + .breadcrumb.breadcrumb-chevron { + .breadcrumb-item + .breadcrumb-item { + &:before { + transform: rotate(180deg); + } + } + } + + // Pagination + .pagination .page-item { + &.prev-item, + &.prev, + &.previous { + .page-link { + &:before { + transform: rotate(180deg); + } + &:hover, + &:active { + &:before { + transform: rotate(180deg); + } + } + } + &.disabled { + .page-link { + &:before { + transform: rotate(180deg); + } + } + } + } + + &.next-item, + &.next { + .page-link { + &:after { + transform: rotate(180deg); + } + &:hover, + &:active { + &:after { + transform: rotate(180deg); + } + } + } + &.disabled { + .page-link { + &:before { + transform: rotate(180deg); + } + } + } + } + &:first-of-type, + &:last-of-type { + .page-link svg { + transform: rotate(180deg); + } + } + } + + // Popover + .popover { + left: auto !important; + } + + // Progress + .progress-bar-animated { + animation: progress-bar-stripes 40s linear infinite; + } + + // Tooltip + .bs-tooltip-left .arrow::before, + .bs-tooltip-auto[x-placement^='left'] .arrow::before { + border-width: 0.4rem 0 0.4rem 0.4rem; + border-right-color: $tooltip-bg; + } + + .bs-tooltip-left .arrow, + .bs-tooltip-auto[x-placement^='left'] .arrow { + left: 0; + right: auto; + + transform: rotate(180deg); + } + + .bs-tooltip-right .arrow::before, + .bs-tooltip-auto[x-placement^='right'] .arrow::before { + border-width: 0.4rem 0.4rem 0.4rem 0; + border-left-color: $tooltip-bg; + } + + .bs-tooltip-right .arrow, + .bs-tooltip-auto[x-placement^='right'] .arrow { + right: 0; + left: auto; + + transform: rotate(180deg); + } + + // App Email + .email-application { + .toggle-cc.mr-1 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + } + + // App Calendar + .app-calendar { + .fc-toolbar { + .fc-prev-button, + .fc-next-button { + transform: rotate(180deg); + } + } + } + + // App Ecommerce + .app-ecommerce-details { + .swiper-button-next { + right: 0; + left: auto; + } + } + + // Invoice List + .invoice-list-table-header { + select { + background-position: calc(100% - (100% - 45px)) 13px, calc(100% - (100% - 20px)) 13px, 0% 0 !important; + } + } + + // TinyMCE + .tox-tinymce { + .tox-editor-header { + direction: ltr; + } + } + + // Apex Charts + .apexcharts-canvas { + .apexcharts-tooltip { + .apexcharts-tooltip-marker { + margin-right: 10px; + margin-left: 0 !important; + } + } + } + + // Context Menu + .react-contexify { + z-index: 1031; + } + + // Swiper + .swiper-button-next { + right: 10px !important; + left: auto !important; + } + + .swiper-button-prev { + left: 10px !important; + right: auto !important; + } + + // Flatpickr + .flatpickr-calendar { + .flatpickr-months { + svg { + transform: rotate(180deg); + } + } + } + + // Wizard + .bs-stepper { + &:not(.vertical) { + .bs-stepper-header .line svg { + transform: rotate(180deg); + } + } + .btn-next svg, + .btn-prev svg { + transform: rotate(180deg); + } + } + + // Datatables + .rdt_Table { + [aria-label='Expand Row'] { + svg { + transform: rotate(180deg); + } + } + } + + #profile-info { + .post { + .post-actions { + .share-post { + span.mr-1 { + margin-right: 0 !important; + } + } + } + } + } +} diff --git a/src/@core/scss/react/app-loader.scss b/src/@core/scss/react/app-loader.scss new file mode 100644 index 0000000..7183090 --- /dev/null +++ b/src/@core/scss/react/app-loader.scss @@ -0,0 +1,77 @@ +.loading { + position: absolute; + left: calc(50% - 35px); + top: 50%; + width: 55px; + height: 55px; + border-radius: 50%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: 3px solid transparent; + + &.component-loader { + margin-top: -60px; + } + + .effect-1, + .effect-2 { + position: absolute; + width: 100%; + height: 100%; + border: 3px solid transparent; + border-left: 3px solid rgba(121, 97, 249, 1); + border-radius: 50%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + } + + .effect-1 { + animation: rotate 1s ease infinite; + } + .effect-2 { + animation: rotateOpacity 1s ease infinite 0.1s; + } + .effect-3 { + width: 100%; + height: 100%; + border: 3px solid transparent; + border-left: 3px solid rgba(121, 97, 249, 1); + -webkit-animation: rotateOpacity 1s ease infinite 0.2s; + animation: rotateOpacity 1s ease infinite 0.2s; + border-radius: 50%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + } + + .loading .effects { + transition: all 0.3s ease; + } +} +.fallback-logo { + position: absolute; + left: calc(50% - 45px); + top: 40%; +} + +@keyframes rotate { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +@keyframes rotateOpacity { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 0.1; + } + 100% { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + opacity: 1; + } +} diff --git a/src/@core/scss/react/apps/app-calendar.scss b/src/@core/scss/react/apps/app-calendar.scss new file mode 100644 index 0000000..28a4241 --- /dev/null +++ b/src/@core/scss/react/apps/app-calendar.scss @@ -0,0 +1,49 @@ +// App Calendar +// ======================================================================== +@import '../../base/pages/app-calendar.scss'; + +.event-sidebar { + .badge:empty { + display: inline-block; + } + .react-select { + z-index: 2; + } +} + +html[dir='rtl'] { + .fc { + &.fc-direction-rtl .fc-scroller-harness > .fc-scroller { + direction: ltr !important; + } + .fc-header-toolbar { + .fc-prev-button, + .fc-next-button { + transform: rotate(180deg); + } + } + .fc-toolbar .fc-button-group { + .fc-dayGridMonth-button:first-child { + border-top-right-radius: $border-radius !important; + border-bottom-right-radius: $border-radius !important; + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; + } + .fc-listMonth-button:last-child { + border-top-left-radius: $border-radius !important; + border-bottom-left-radius: $border-radius !important; + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; + } + } + .fc-event-main-frame { + flex-direction: row-reverse !important; + } + .fc-popover { + margin-right: 6.2rem; + } + .fc-daygrid-day-bottom { + text-align: left; + } + } +} diff --git a/src/@core/scss/react/apps/app-email.scss b/src/@core/scss/react/apps/app-email.scss new file mode 100644 index 0000000..21acea1 --- /dev/null +++ b/src/@core/scss/react/apps/app-email.scss @@ -0,0 +1,23 @@ +// App Email +// ======================================================================== + +@import '../../base/pages/app-email.scss'; + +// For editor height +.email-application { + #message-editor .rdw-editor-main { + min-height: 17.9rem; + } +} + +html[dir='rtl'] { + .email-application { + .email-app-details .email-detail-header { + .email-header-left .go-back svg, + .email-header-right .email-prev svg, + .email-header-right .email-next svg { + transform: rotate(180deg); + } + } + } +} diff --git a/src/@core/scss/react/apps/app-invoice.scss b/src/@core/scss/react/apps/app-invoice.scss new file mode 100644 index 0000000..dd9ec38 --- /dev/null +++ b/src/@core/scss/react/apps/app-invoice.scss @@ -0,0 +1,20 @@ +// App Invoice +// ======================================================================== + +@import '../../base/pages/app-invoice.scss'; + +.invoice-list-dataTable { + header { + padding-left: 1.5rem; + } +} + +@media (max-width: 482px) { + .invoice-list-dataTable { + header .actions-right { + select { + margin-top: 1rem; + } + } + } +} diff --git a/src/@core/scss/react/apps/app-todo.scss b/src/@core/scss/react/apps/app-todo.scss new file mode 100644 index 0000000..3fe277c --- /dev/null +++ b/src/@core/scss/react/apps/app-todo.scss @@ -0,0 +1,15 @@ +// App Todo +// ======================================================================== + +@import '../../base/pages/app-todo.scss'; + +.todo-application { + .todo-item[draggable='true'] { + box-shadow: 0 0 10px 0 rgba(24, 28, 33, 0.25); + } +} +.sidebar-todo-modal { + .react-select { + z-index: 2; + } +} diff --git a/src/@core/scss/react/apps/app-users.scss b/src/@core/scss/react/apps/app-users.scss new file mode 100644 index 0000000..f89b3fd --- /dev/null +++ b/src/@core/scss/react/apps/app-users.scss @@ -0,0 +1,19 @@ +// Users App +// ======================================================================== + +@import '../../base/pages/app-user.scss'; + +// Users avatar shadow +.users-avatar-shadow { + box-shadow: 2px 4px 14px 0 rgba(34, 41, 47, 0.4); +} + +// User view info +.users-page-view-table .user-info { + div { + padding: 0.5rem; + } + .user-info-title { + min-width: 140px; + } +} diff --git a/src/@core/scss/react/libs/charts/apex-charts.scss b/src/@core/scss/react/libs/charts/apex-charts.scss new file mode 100644 index 0000000..07e9ac6 --- /dev/null +++ b/src/@core/scss/react/libs/charts/apex-charts.scss @@ -0,0 +1,7 @@ +@import '../../../base/plugins/charts/chart-apex.scss'; + +.dark-layout { + .apexcharts-gridlines-vertical line { + stroke: $theme-dark-border-color; + } +} diff --git a/src/@core/scss/react/libs/charts/recharts.scss b/src/@core/scss/react/libs/charts/recharts.scss new file mode 100644 index 0000000..3e7aa93 --- /dev/null +++ b/src/@core/scss/react/libs/charts/recharts.scss @@ -0,0 +1,105 @@ +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; + +.recharts-wrapper { + height: 350px; +} + +// Tooltip +.recharts-tooltip-wrapper { + padding: 0.75rem; + background-color: $white; + border-radius: 5px; + border: 1px solid $border-color; + box-shadow: 2px 2px 6px -4px #999; +} + +// Grid Color +.recharts-cartesian-grid, +.recharts-polar-grid-angle, +.recharts-yAxis, +.recharts-xAxis { + line { + stroke: $border-color; + } +} + +.recharts-polar-grid-concentric { + .recharts-polar-grid-concentric-polygon { + stroke: $border-color; + } +} + +.recharts-polar-radius-axis-line { + stroke: $border-color; +} + +.recharts-cartesian-axis-tick-value tspan, +.recharts-polar-angle-axis-tick-value tspan { + font-size: 0.85rem; + color: $body-color; +} + +// Vertical Tooltip Line +.recharts-curve.recharts-tooltip-cursor { + display: none; +} +.recharts-wrapper.bar-chart { + .recharts-tooltip-cursor { + fill: transparent; + } +} + +// Dark Layout +.dark-layout { + // Tooltip + .recharts-tooltip-wrapper { + padding: 0.75rem; + background-color: $theme-dark-card-bg; + border-radius: 5px; + border: 1px solid $theme-dark-border-color; + box-shadow: 2px 2px 6px -4px #999; + } + + // Grid Color + .recharts-cartesian-grid, + .recharts-polar-grid-angle, + .recharts-yAxis, + .recharts-xAxis { + line { + stroke: $theme-dark-border-color; + } + } + + .recharts-polar-grid-concentric { + .recharts-polar-grid-concentric-polygon { + stroke: $theme-dark-border-color; + } + } + + .recharts-polar-radius-axis-line { + stroke: $theme-dark-border-color; + } + + .recharts-cartesian-axis-line, + .recharts-cartesian-axis-tick-line { + display: none; + } + + .recharts-sector.recharts-radial-bar-background-sector { + fill: $theme-dark-body-bg; + } + + text { + fill: $white; + } + .recharts-sector { + stroke: transparent; + } +} + +html[dir='rtl'] { + .recharts-wrapper { + direction: rtl; + } +} diff --git a/src/@core/scss/react/libs/context-menu/context-menu.scss b/src/@core/scss/react/libs/context-menu/context-menu.scss new file mode 100644 index 0000000..aa4a326 --- /dev/null +++ b/src/@core/scss/react/libs/context-menu/context-menu.scss @@ -0,0 +1,36 @@ +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; + +.react-contexify { + margin: 0; + padding: $dropdown-padding-y 0; + border-radius: $dropdown-border-radius; + border: $dropdown-border-width solid $dropdown-border-color; + box-shadow: $dropdown-box-shadow; + min-width: $dropdown-min-width; + .react-contexify__item { + .react-contexify__item__content { + padding: $dropdown-item-padding-y $dropdown-item-padding-x; + color: $dropdown-color; + } + &:hover { + > .react-contexify__item__content { + background-color: $dropdown-link-hover-bg !important; + color: $primary; + } + } + } +} + +// Dark Layout +.dark-layout { + .react-contexify { + background-color: $theme-dark-body-bg; + border-color: $theme-dark-border-color; + } + .react-contexify__item { + .react-contexify__item__content { + color: $theme-dark-body-color; + } + } +} diff --git a/src/@core/scss/react/libs/drag-and-drop/drag-and-drop.scss b/src/@core/scss/react/libs/drag-and-drop/drag-and-drop.scss new file mode 100644 index 0000000..6f93b87 --- /dev/null +++ b/src/@core/scss/react/libs/drag-and-drop/drag-and-drop.scss @@ -0,0 +1,21 @@ +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; +@import '../../../base/plugins/extensions/ext-component-drag-drop.scss'; + +.sortable-selected { + background-color: $body-bg; +} + +// Dark +.dark-layout { + .sortable-selected { + background-color: $theme-dark-body-bg !important; + } +} + +// RTL +html[dir='rtl'] { + .sortable-row { + flex-direction: row-reverse; + } +} diff --git a/src/@core/scss/react/libs/editor/editor.scss b/src/@core/scss/react/libs/editor/editor.scss new file mode 100644 index 0000000..26f6762 --- /dev/null +++ b/src/@core/scss/react/libs/editor/editor.scss @@ -0,0 +1,71 @@ +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; + +@import '~react-draft-wysiwyg/dist/react-draft-wysiwyg.css'; + +.rdw-editor-wrapper { + .rdw-editor-toolbar { + margin-bottom: 0; + padding: 0.5rem; + padding-bottom: 0; + border-color: $border-color; + border-top-left-radius: $border-radius; + border-top-right-radius: $border-radius; + .rdw-option-wrapper { + border: none; + &.rdw-option-active { + box-shadow: none; + background-color: rgba($color: $primary, $alpha: 0.2); + } + &:hover { + box-shadow: none; + } + } + .rdw-dropdown-wrapper { + border: 1px solid $border-color; + .rdw-dropdown-optionwrapper { + &:hover { + box-shadow: none; + } + } + &:hover { + box-shadow: none; + } + } + .rdw-link-modal, + .rdw-embedded-modal { + height: auto; + } + } + .rdw-editor-main { + min-height: 10rem; + padding: 0.5rem 1.2rem; + border: 1px solid $border-color; + border-bottom-left-radius: $border-radius; + border-bottom-right-radius: $border-radius; + } + .rdw-editor-toolbar ~ .rdw-editor-main { + border-top: none; + } + + &.toolbar-bottom { + display: flex; + flex-direction: column; + .rdw-editor-toolbar { + order: 2; + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: $border-radius; + border-bottom-right-radius: $border-radius; + } + .rdw-editor-main { + border-top: 1px solid $border-color; + border-bottom: 0; + border-top-left-radius: $border-radius; + border-top-right-radius: $border-radius; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + order: 1; + } + } +} diff --git a/src/@core/scss/react/libs/file-uploader/file-uploader.scss b/src/@core/scss/react/libs/file-uploader/file-uploader.scss new file mode 100644 index 0000000..a5e6bc4 --- /dev/null +++ b/src/@core/scss/react/libs/file-uploader/file-uploader.scss @@ -0,0 +1,29 @@ +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; + +.uppy-Root { + border-radius: $border-radius; + border-color: $primary; + + &.uppy-DragDrop-container:focus { + box-shadow: none; + } + + .uppy-DragDrop-arrow { + fill: $primary; + } + + .uppy-DragDrop-label { + color: $body-color; + } + + .uppy-DragDrop-browse { + color: $primary; + } +} + +.dark-layout { + .uppy-Root { + background-color: $theme-dark-body-bg; + } +} diff --git a/src/@core/scss/react/libs/flatpickr/flatpickr.scss b/src/@core/scss/react/libs/flatpickr/flatpickr.scss new file mode 100644 index 0000000..1958b0f --- /dev/null +++ b/src/@core/scss/react/libs/flatpickr/flatpickr.scss @@ -0,0 +1,2 @@ +@import '~flatpickr/dist/flatpickr.css'; +@import '../../../base/plugins/forms/pickers/form-flat-pickr'; diff --git a/src/@core/scss/react/libs/maps/map-leaflet.scss b/src/@core/scss/react/libs/maps/map-leaflet.scss new file mode 100644 index 0000000..016d138 --- /dev/null +++ b/src/@core/scss/react/libs/maps/map-leaflet.scss @@ -0,0 +1,37 @@ +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; +@import '../../../base/plugins/maps/map-leaflet.scss'; + +.leaflet-map { + [class*='leaflet-control-zoom-'] { + background-color: $white; + &:hover { + color: $black; + } + } +} + +html[dir='rtl'] { + .leaflet-map { + .leaflet-control-container { + .leaflet-left { + left: 0; + right: unset; + .leaflet-control-zoom, + .leaflet-control-layers { + margin-right: 0; + margin-left: 10px; + } + } + .leaflet-right { + right: 0; + left: unset; + .leaflet-control-zoom, + .leaflet-control-layers { + margin-right: 10px; + margin-left: 0px; + } + } + } + } +} diff --git a/src/@core/scss/react/libs/noui-slider/noui-slider.scss b/src/@core/scss/react/libs/noui-slider/noui-slider.scss new file mode 100644 index 0000000..226490d --- /dev/null +++ b/src/@core/scss/react/libs/noui-slider/noui-slider.scss @@ -0,0 +1,23 @@ +@import '~nouislider/distribute/nouislider.css'; +@import '../../../base/plugins/extensions/ext-component-sliders.scss'; +@import '../../../base/core/colors/palette-noui'; + +html[dir='rtl'] .noUi-horizontal { + .noUi-origin { + left: auto !important; + right: 0 !important; + .noUi-handle { + right: -10px; + left: auto; + } + } + .noUi-connects { + .noUi-connect { + left: 0; + transform-origin: 100% 100%; + } + } + .noUi-value-horizontal { + transform: translate(-50%, 50%); + } +} diff --git a/src/@core/scss/react/libs/react-select/_react-select.scss b/src/@core/scss/react/libs/react-select/_react-select.scss new file mode 100644 index 0000000..8986ae8 --- /dev/null +++ b/src/@core/scss/react/libs/react-select/_react-select.scss @@ -0,0 +1,161 @@ +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; + +// InValid Select +.react-select.is-invalid { + .select__control { + border-color: $danger; + } +} + +// Select Control(Input) +.select__control, +.react-select__control { + &.select__control--is-disabled { + border-color: $border-color; + .select__indicator-separator { + background-color: $border-color; + } + } + + &.select__control--is-focused, + &.react-select__control--is-focused { + box-shadow: none; + border-color: $primary; + } + + .select__indicator svg { + cursor: pointer; + } + + .select__indicator-separator { + display: none; + } + .select__single-value { + color: $body-color; + } + + .select__placeholder { + color: $body-color; + } +} + +// Select Menu +.select__menu, +.react-select__menu { + .select__menu-list, + .react-select__menu-list { + .select__option, + .react-select__option { + cursor: pointer; + + &.select__option--is-focused { + background-color: rgba($color: $primary, $alpha: 0.12); + color: $primary; + } + + &.select__option--is-selected { + background-color: $primary; + color: $white; + } + } + } + + .select__menu-list, + .react-select__menu-list { + .select__group { + .select__group-heading { + margin-bottom: 0.5rem; + color: $headings-color; + font-weight: bolder; + font-size: inherit; + } + } + } +} + +// Multi Select +.select__multi-value, +.react-select__multi-value { + color: $white; + border-radius: 3px; + margin: 0 0.7rem 0 0; + + .select__multi-value__label { + color: $white; + font-size: 0.85rem; + border-radius: $border-radius; + padding: 0.26rem 0.6rem; + } + + .select__multi-value__remove { + padding-left: 0; + padding-right: 0.5rem; + + &:hover { + background-color: inherit; + color: inherit; + } + + svg { + height: 0.85rem; + width: 0.85rem; + &:hover { + cursor: pointer; + } + } + } +} + +// Select Borderless +.select-borderless { + .select__control { + border: 0; + .select__indicators { + display: none; + } + } +} + +// Dark Layout +.dark-layout { + .select__control { + background-color: $theme-dark-input-bg; + border-color: $theme-dark-border-color; + + .select__indicator svg { + fill: $theme-dark-body-color; + } + + .select__indicator span, + .select__single-value { + color: $theme-dark-body-color; + } + + .select__multi-value { + background-color: rgba($color: $primary, $alpha: 0.12); + .select__multi-value__label { + color: $primary; + } + } + .select__multi-value__remove { + svg { + fill: $primary; + } + &:hover { + background-color: transparent !important; + } + } + + .select__placeholder { + color: $theme-dark-input-placeholder-color; + } + + &.select__control--is-disabled { + opacity: 0.5; + } + } + .select__menu { + background-color: $theme-dark-card-bg; + } +} diff --git a/src/@core/scss/react/libs/shepherd-tour/shepherd-tour.scss b/src/@core/scss/react/libs/shepherd-tour/shepherd-tour.scss new file mode 100644 index 0000000..0f20efe --- /dev/null +++ b/src/@core/scss/react/libs/shepherd-tour/shepherd-tour.scss @@ -0,0 +1,11 @@ +@import '../../../base/plugins/extensions/ext-component-tour.scss'; + +.shepherd-element { + .shepherd-content { + .shepherd-button { + background: inherit; + color: $primary; + border-radius: $btn-border-radius; + } + } +} diff --git a/src/@core/scss/react/libs/swiper/swiper.scss b/src/@core/scss/react/libs/swiper/swiper.scss new file mode 100644 index 0000000..230392c --- /dev/null +++ b/src/@core/scss/react/libs/swiper/swiper.scss @@ -0,0 +1,11 @@ +@import '~swiper/swiper-bundle.css'; +@import '../../../base/plugins/extensions/ext-component-swiper.scss'; + +html[dir='rtl'] { + .swiper-container-cube .swiper-slide { + transform-origin: 0 100% !important; + } + .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { + transform-origin: left top; + } +} diff --git a/src/@core/scss/react/libs/tables/react-dataTable-component.scss b/src/@core/scss/react/libs/tables/react-dataTable-component.scss new file mode 100644 index 0000000..2d976bd --- /dev/null +++ b/src/@core/scss/react/libs/tables/react-dataTable-component.scss @@ -0,0 +1,174 @@ +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; + +.react-dataTable { + border-radius: 0; + .rdt_TableHead { + .rdt_TableHeadRow { + background-color: $table-head-bg; + border-top: 1px solid; + border-color: $border-color; + min-height: 0; + height: 38px; + + .rdt_TableCol { + padding: 0.72rem 1.5rem; + .rdt_TableCol_Sortable { + color: $body-color; + font-weight: bold; + font-style: 0.857rem; + letter-spacing: 0.5px; + text-transform: uppercase; + &:hover { + color: $body-color; + } + } + } + } + } + + .rdt_TableBody { + .rdt_TableRow { + .rdt_TableCell { + height: 53px; + padding: 0.72rem 1.5rem; + + .column-action { + svg { + stroke: $body-color; + } + + .dropdown-item:hover { + svg { + stroke: $primary; + } + } + + .dropdown-item:active { + svg { + stroke: $white; + } + } + } + } + } + } + + .react-paginate { + &.separated-pagination { + .page-item:first-child .page-link, + .page-item:last-child .page-link { + border-radius: 50%; + } + } + } +} + +.rdt_Pagination { + select { + min-width: 30px; + &:focus, + &:active { + outline: 0; + } + } +} + +.dataTable-filter { + max-width: 220px; +} + +.dataTable-select { + width: 5rem; + &:not([multiple='multiple']) { + margin-left: 0.25rem; + margin-right: 0.25rem; + background-position: calc(100% - 12px) 10px, calc(100% - 20px) 12px, 100% 0; + background-size: 10px 10px, 10px 10px; + } +} + +.dark-layout { + .app-user-list { + header { + background-color: $theme-dark-card-bg; + } + } + + .react-dataTable { + .hlidmt { + background-color: $theme-dark-card-bg; + } + .khKjDK { + background-color: $theme-dark-card-bg; + color: $theme-dark-body-color; + } + + .rdt_Table { + background: $theme-dark-table-header-bg; + color: $theme-dark-body-color; + } + .rdt_TableHead { + .rdt_TableHeadRow { + background-color: $theme-dark-table-header-bg; + border-color: $theme-dark-border-color; + .rdt_TableCol { + color: $theme-dark-body-color; + div[role='button'] { + color: $theme-dark-body-color; + } + } + .rdt_TableCol_Sortable, + .rdt_TableCol_Sortable:hover { + color: $theme-dark-headings-color; + svg { + stroke: $theme-dark-headings-color; + } + } + } + } + .rdt_TableBody { + .expandable-content { + background-color: $theme-dark-table-bg; + color: $theme-dark-body-color; + } + .rdt_TableRow { + background-color: $theme-dark-table-bg; + color: $theme-dark-body-color; + border-color: $theme-dark-border-color; + .rdt_TableCell { + color: $theme-dark-body-color; + } + button { + &:hover:not(:disabled) { + background-color: $theme-dark-body-bg; + } + svg { + color: $theme-dark-body-color; + } + } + } + } + .rdt_Pagination { + background-color: $theme-dark-table-bg; + color: $theme-dark-body-color; + + svg { + fill: $theme-dark-body-color; + } + } + } + + .rdt_Pagination { + color: $theme-dark-body-color; + background-color: $theme-dark-card-bg; + button { + svg { + fill: $theme-dark-body-color; + } + &[disabled] svg { + fill: $theme-dark-text-muted-color; + } + } + } +} diff --git a/src/@core/scss/react/libs/toastify/toastify.scss b/src/@core/scss/react/libs/toastify/toastify.scss new file mode 100644 index 0000000..abac116 --- /dev/null +++ b/src/@core/scss/react/libs/toastify/toastify.scss @@ -0,0 +1,135 @@ +@import '~react-toastify/dist/ReactToastify.css'; +@import '../../../base/bootstrap-extended/include'; +@import '../../../base/components/include'; +@import '../../../base/core/colors/palette-variables'; + +.Toastify__toast { + background-color: $white; + border-radius: $toast-border-radius; + box-shadow: $toast-box-shadow; + padding: 1rem; + .Toastify__toast-body, + .Toastify__close-button { + color: $body-color; + } + + .toastify-header { + padding-bottom: 0.5rem; + display: flex; + justify-content: space-between; + align-items: center; + .title-wrapper { + display: flex; + align-items: center; + + .avatar svg { + height: 0.85rem; + width: 0.85rem; + } + } + .toast-title { + color: $headings-color; + font-weight: 600; + margin-left: 0.75rem; + margin-bottom: 0; + } + } + + .toastify-body { + color: $body-color; + padding-left: 2.3rem; + font-size: 0.85rem; + font-family: $font-family-sans-serif; + } + + .Toastify__close-button { + opacity: 1; + margin-top: 1px; + margin-left: 0.5rem; + svg { + height: 0.85rem; + width: 0.85rem; + fill: $headings-color; + } + &:hover svg { + fill: $headings-color; + } + &:focus { + outline: 0; + } + } + + &.Toastify__toast--default { + .toast-title { + color: $primary; + } + } + + &.Toastify__toast--error { + .toast-title { + color: $danger; + } + .Toastify__progress-bar { + background-color: $danger; + } + } + + @each $color_name, $color in $colors { + @each $color_type, $color_value in $color { + @if $color_type== 'base' { + &.Toastify__toast--#{$color_name} { + .toast-title { + color: $color_value; + } + .Toastify__progress-bar { + background-color: $color_value; + } + } + } + } + } +} + +// Progress Bar +.Toastify__progress-bar { + bottom: 0; + border-top-right-radius: $border-radius; + border-bottom-right-radius: $border-radius; + &.Toastify__progress-bar--default { + background: $primary; + } +} + +// Dark Layout +.dark-layout { + .Toastify__toast { + background-color: $theme-dark-card-bg; + box-shadow: 0 2px 20px 0 rgba($black, 0.3); + .Toastify__toast-body, + .Toastify__close-button { + color: $theme-dark-body-color; + } + + .toastify-body { + color: $theme-dark-body-color; + } + + .Toastify__close-button { + svg { + fill: $theme-dark-body-color; + } + &:hover svg { + fill: $headings-color; + } + } + } +} + +// Media Queries +@media (max-width: 480px) { + .Toastify__toast-container { + .Toastify__toast + .Toastify__toast { + margin-top: 1rem; + } + } +} diff --git a/src/@core/scss/react/pages/page-account-settings.scss b/src/@core/scss/react/pages/page-account-settings.scss new file mode 100644 index 0000000..e5d69e6 --- /dev/null +++ b/src/@core/scss/react/pages/page-account-settings.scss @@ -0,0 +1,44 @@ +// Account Settings +// ======================================================================== + +.account-settings-tab { + box-shadow: none; + .nav-item { + .nav-link.active { + background-color: transparent !important; + transform: translateY(0) !important; + &:after { + left: auto !important; + top: 1.2rem !important; + right: -1.5rem !important; + } + } + } +} + +.account-setting-wrapper { + .account-settings-tab { + .nav-item { + .nav-link { + &.active { + &:after { + top: 100% !important; + left: 0 !important; + } + } + } + } + } +} + +@media (max-width: 576px) { + .account-settings-tab { + .nav-item { + .nav-link.active { + &:after { + display: none; + } + } + } + } +} diff --git a/src/@core/scss/react/pages/page-profile.scss b/src/@core/scss/react/pages/page-profile.scss new file mode 100644 index 0000000..bf57ed5 --- /dev/null +++ b/src/@core/scss/react/pages/page-profile.scss @@ -0,0 +1,24 @@ +// Profile +// ======================================================================= +@import '../../base/bootstrap-extended/include'; +@import '../../base/pages/page-profile'; + +#user-profile { + .profile-load-more { + position: relative; + overflow: hidden; + .ui-loader { + position: unset; + .overlay { + left: 0; + } + .loader { + top: 60%; + } + .spinner-border { + width: 20px; + height: 20px; + } + } + } +} diff --git a/src/@core/scss/react/reactstrap/_carousel.scss b/src/@core/scss/react/reactstrap/_carousel.scss new file mode 100644 index 0000000..d51b3be --- /dev/null +++ b/src/@core/scss/react/reactstrap/_carousel.scss @@ -0,0 +1,11 @@ +// Component App Collapse +// ======================================================================== + +html[dir='rtl'] { + .carousel { + .carousel-control-next-icon, + .carousel-control-prev-icon { + transform: rotate(180deg); + } + } +} diff --git a/src/@core/scss/react/reactstrap/_collapse.scss b/src/@core/scss/react/reactstrap/_collapse.scss new file mode 100644 index 0000000..7215ebe --- /dev/null +++ b/src/@core/scss/react/reactstrap/_collapse.scss @@ -0,0 +1,21 @@ +// Component App Collapse +// ======================================================================== +.app-collapse { + &.card { + .card-header { + padding: 1rem; + } + + svg { + transition: all 300ms linear 0s; + } + .card-header:not(.collapsed) { + svg { + transform: rotate(180deg); + } + } + } + .collapse-title { + max-width: calc(100% - 25px); + } +} diff --git a/src/@core/scss/react/reactstrap/_dropdown.scss b/src/@core/scss/react/reactstrap/_dropdown.scss new file mode 100644 index 0000000..6221b60 --- /dev/null +++ b/src/@core/scss/react/reactstrap/_dropdown.scss @@ -0,0 +1,49 @@ +// Component Dropdown +// ======================================================================== + +// Navbar Dropdowns +.dropdown-notification, +.dropdown-cart { + .dropdown-menu { + left: inherit !important; + } +} + +.dropdown-language { + .country-flag { + height: 18px !important; + width: 18px !important; + } + + .dropdown-menu { + left: auto !important; + } +} + +.dropdown-user { + .dropdown-menu { + left: auto !important; + right: 0; + } +} + +// Global +.dropdown-menu { + .dropdown-item:focus { + outline: 0; + } +} + +// Dropdown Icon +.dropdown-icon-wrapper { + .dropdown-toggle:after { + display: none; + } + .dropdown-menu { + min-width: auto; + .dropdown-item { + padding: 0.5rem 1.1rem; + cursor: pointer; + } + } +} diff --git a/src/@core/scss/react/reactstrap/_index.scss b/src/@core/scss/react/reactstrap/_index.scss new file mode 100644 index 0000000..4f8a7f4 --- /dev/null +++ b/src/@core/scss/react/reactstrap/_index.scss @@ -0,0 +1,9 @@ +@import '../../base/bootstrap-extended/include'; + +@import 'input'; +@import 'toast'; +@import 'switch'; +@import 'dropdown'; +@import 'collapse'; +@import 'carousel'; +@import 'pagination'; diff --git a/src/@core/scss/react/reactstrap/_input.scss b/src/@core/scss/react/reactstrap/_input.scss new file mode 100644 index 0000000..b6370f6 --- /dev/null +++ b/src/@core/scss/react/reactstrap/_input.scss @@ -0,0 +1,23 @@ +// Component Input +// ======================================================================== + +.form-control[readonly] { + opacity: 0.5; +} + +select.form-control[multiple] { + background-image: none !important; +} + +.input-group { + .form-control.is-invalid ~ .input-group-append .input-group-text { + border-color: $danger; + } + &.is-invalid { + .form-control, + .input-group-append .input-group-text, + .input-group-prepend .input-group-text { + border-color: $danger !important; + } + } +} diff --git a/src/@core/scss/react/reactstrap/_pagination.scss b/src/@core/scss/react/reactstrap/_pagination.scss new file mode 100644 index 0000000..b1038cd --- /dev/null +++ b/src/@core/scss/react/reactstrap/_pagination.scss @@ -0,0 +1,39 @@ +// Component Pagination +// ======================================================================== +.pagination { + &.react-paginate { + .page-item.prev, + .page-item.next { + a.page-link:before, + a.page-link:after { + height: 16.5px; + margin-top: 1px; + } + } + &.pagination-sm { + .page-item.prev, + .page-item.next { + a.page-link:before, + a.page-link:after { + height: 15px; + } + } + } + &.pagination-lg { + .page-item.prev, + .page-item.next { + a.page-link:before, + a.page-link:after { + height: 19px; + } + } + } + } + + &.no-navigation { + li:first-of-type, + li:last-of-type { + display: none; + } + } +} diff --git a/src/@core/scss/react/reactstrap/_switch.scss b/src/@core/scss/react/reactstrap/_switch.scss new file mode 100644 index 0000000..4b87161 --- /dev/null +++ b/src/@core/scss/react/reactstrap/_switch.scss @@ -0,0 +1,6 @@ +// Switch +// ======================================================================= +[dir] .custom-control-input:checked ~ .custom-control-label::before { + border-color: $primary; + background-color: $primary; +} diff --git a/src/@core/scss/react/reactstrap/_toast.scss b/src/@core/scss/react/reactstrap/_toast.scss new file mode 100644 index 0000000..35046cb --- /dev/null +++ b/src/@core/scss/react/reactstrap/_toast.scss @@ -0,0 +1,17 @@ +// Component Toast +// ======================================================================== + +.dark-layout { + .card { + .toast { + background-color: rgba($color: $theme-dark-body-bg, $alpha: 0.85); + .toast-header { + background-color: $theme-dark-body-bg; + + .close { + color: $theme-dark-body-color; + } + } + } + } +} diff --git a/src/@fake-db/apps/calendar.js b/src/@fake-db/apps/calendar.js new file mode 100644 index 0000000..0de0e47 --- /dev/null +++ b/src/@fake-db/apps/calendar.js @@ -0,0 +1,184 @@ +/*eslint-disable */ +import mock from '../mock' + +const date = new Date() +const nextDay = new Date(new Date().getTime() + 24 * 60 * 60 * 1000) + +// prettier-ignore +const nextMonth = date.getMonth() === 11 ? new Date(date.getFullYear() + 1, 0, 1) : new Date(date.getFullYear(), date.getMonth() + 1, 1) +// prettier-ignore +const prevMonth = date.getMonth() === 11 ? new Date(date.getFullYear() - 1, 0, 1) : new Date(date.getFullYear(), date.getMonth() - 1, 1) + +const data = { + events: [ + { + id: 1, + url: '', + title: 'Design Review', + start: date, + end: nextDay, + allDay: false, + extendedProps: { + calendar: 'Business' + } + }, + { + id: 2, + url: '', + title: 'Meeting With Client', + start: new Date(date.getFullYear(), date.getMonth() + 1, -11), + end: new Date(date.getFullYear(), date.getMonth() + 1, -10), + allDay: true, + extendedProps: { + calendar: 'Business' + } + }, + { + id: 3, + url: '', + title: 'Family Trip', + allDay: true, + start: new Date(date.getFullYear(), date.getMonth() + 1, -9), + end: new Date(date.getFullYear(), date.getMonth() + 1, -7), + extendedProps: { + calendar: 'Holiday' + } + }, + { + id: 4, + url: '', + title: "Doctor's Appointment", + start: new Date(date.getFullYear(), date.getMonth() + 1, -11), + end: new Date(date.getFullYear(), date.getMonth() + 1, -10), + allDay: true, + extendedProps: { + calendar: 'Personal' + } + }, + { + id: 5, + url: '', + title: 'Dart Game?', + start: new Date(date.getFullYear(), date.getMonth() + 1, -13), + end: new Date(date.getFullYear(), date.getMonth() + 1, -12), + allDay: true, + extendedProps: { + calendar: 'ETC' + } + }, + { + id: 6, + url: '', + title: 'Meditation', + start: new Date(date.getFullYear(), date.getMonth() + 1, -13), + end: new Date(date.getFullYear(), date.getMonth() + 1, -12), + allDay: true, + extendedProps: { + calendar: 'Personal' + } + }, + { + id: 7, + url: '', + title: 'Dinner', + start: new Date(date.getFullYear(), date.getMonth() + 1, -13), + end: new Date(date.getFullYear(), date.getMonth() + 1, -12), + allDay: true, + extendedProps: { + calendar: 'Family' + } + }, + { + id: 8, + url: '', + title: 'Product Review', + start: new Date(date.getFullYear(), date.getMonth() + 1, -13), + end: new Date(date.getFullYear(), date.getMonth() + 1, -12), + allDay: true, + extendedProps: { + calendar: 'Business' + } + }, + { + id: 9, + url: '', + title: 'Monthly Meeting', + start: nextMonth, + end: nextMonth, + allDay: true, + extendedProps: { + calendar: 'Business' + } + }, + { + id: 10, + url: '', + title: 'Monthly Checkup', + start: prevMonth, + end: prevMonth, + allDay: true, + extendedProps: { + calendar: 'Personal' + } + } + ] +} + +// ------------------------------------------------ +// GET: Return calendar events +// ------------------------------------------------ +mock.onGet('/apps/calendar/events').reply(config => { + // Get requested calendars as Array + const calendars = config.calendars + + return [200, data.events.filter(event => calendars.includes(event.extendedProps.calendar))] +}) + +// ------------------------------------------------ +// POST: Add new event +// ------------------------------------------------ +mock.onPost('/apps/calendar/add-event').reply(config => { + // Get event from post data + const { event } = JSON.parse(config.data) + + const { length } = data.events + let lastIndex = 0 + if (length) { + lastIndex = data.events[length - 1].id + } + event.id = lastIndex + 1 + + data.events.push(event) + + return [201, { event }] +}) + +// ------------------------------------------------ +// POST: Update Event +// ------------------------------------------------ +mock.onPost('/apps/calendar/update-event').reply(config => { + const { event: eventData } = JSON.parse(config.data) + + // Convert Id to number + eventData.id = Number(eventData.id) + + const event = data.events.find(ev => ev.id === Number(eventData.id)) + Object.assign(event, eventData) + + return [200, { event }] +}) + +// ------------------------------------------------ +// DELETE: Remove Event +// ------------------------------------------------ +mock.onDelete('/apps/calendar/remove-event').reply(config => { + // Get event id from URL + let { id } = config + + // Convert Id to number + const eventId = Number(id) + + const eventIndex = data.events.findIndex(ev => ev.id === eventId) + data.events.splice(eventIndex, 1) + return [200] +}) diff --git a/src/@fake-db/apps/chat.js b/src/@fake-db/apps/chat.js new file mode 100644 index 0000000..db718e6 --- /dev/null +++ b/src/@fake-db/apps/chat.js @@ -0,0 +1,286 @@ +import mock from '../mock' +/*eslint-disable */ +const previousDay = new Date(new Date().getTime() - 24 * 60 * 60 * 1000) +const dayBeforePreviousDay = new Date(new Date().getTime() - 24 * 60 * 60 * 1000 * 2) + +const data = { + profileUser: { + id: 11, + avatar: require('@src/assets/images/portrait/small/avatar-s-8.jpg').default, + fullName: 'John Doe', + role: 'admin', + about: + 'Dessert chocolate cake lemon drops jujubes. Biscuit cupcake ice cream bear claw brownie brownie marshmallow.', + status: 'online', + settings: { + isTwoStepAuthVerificationEnabled: true, + isNotificationsOn: false + } + }, + contacts: [ + { + id: 1, + fullName: 'Felecia Rower', + role: 'Frontend Developer', + about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing', + + avatar: require('@src/assets/images/portrait/small/avatar-s-2.jpg').default, + status: 'offline' + }, + { + id: 2, + fullName: 'Adalberto Granzin', + role: 'UI/UX Designer', + about: + 'Toffee caramels jelly-o tart gummi bears cake I love ice cream lollipop. Sweet liquorice croissant candy danish dessert icing. Cake macaroon gingerbread toffee sweet.', + avatar: require('@src/assets/images/portrait/small/avatar-s-1.jpg').default, + status: 'busy' + }, + { + id: 3, + fullName: 'Joaquina Weisenborn', + role: 'Town planner', + about: + 'Soufflé soufflé caramels sweet roll. Jelly lollipop sesame snaps bear claw jelly beans sugar plum sugar plum.', + avatar: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + status: 'busy' + }, + { + id: 4, + fullName: 'Verla Morgano', + role: 'Data scientist', + about: + 'Chupa chups candy canes chocolate bar marshmallow liquorice muffin. Lemon drops oat cake tart liquorice tart cookie. Jelly-o cookie tootsie roll halvah.', + avatar: require('@src/assets/images/portrait/small/avatar-s-4.jpg').default, + status: 'online' + }, + { + id: 5, + fullName: 'Margot Henschke', + role: 'Dietitian', + about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing', + avatar: require('@src/assets/images/portrait/small/avatar-s-5.jpg').default, + status: 'busy' + }, + { + id: 6, + fullName: 'Sal Piggee', + role: 'Marketing executive', + about: + 'Toffee caramels jelly-o tart gummi bears cake I love ice cream lollipop. Sweet liquorice croissant candy danish dessert icing. Cake macaroon gingerbread toffee sweet.', + avatar: require('@src/assets/images/portrait/small/avatar-s-6.jpg').default, + status: 'online' + }, + { + id: 7, + fullName: 'Miguel Guelff', + role: 'Special educational needs teacher', + about: + 'Biscuit powder oat cake donut brownie ice cream I love soufflé. I love tootsie roll I love powder tootsie roll.', + avatar: require('@src/assets/images/portrait/small/avatar-s-7.jpg').default, + status: 'online' + }, + { + id: 8, + fullName: 'Mauro Elenbaas', + role: 'Advertising copywriter', + about: + 'Bear claw ice cream lollipop gingerbread carrot cake. Brownie gummi bears chocolate muffin croissant jelly I love marzipan wafer.', + avatar: require('@src/assets/images/portrait/small/avatar-s-8.jpg').default, + status: 'away' + }, + { + id: 9, + fullName: 'Bridgett Omohundro', + role: 'Designer, television/film set', + about: + 'Gummies gummi bears I love candy icing apple pie I love marzipan bear claw. I love tart biscuit I love candy canes pudding chupa chups liquorice croissant.', + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + status: 'offline' + }, + { + id: 10, + fullName: 'Zenia Jacobs', + role: 'Building surveyor', + about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing', + avatar: require('@src/assets/images/portrait/small/avatar-s-10.jpg').default, + status: 'away' + } + ], + chats: [ + { + id: 1, + userId: 1, + unseenMsgs: 0, + chat: [ + { + message: 'Hi', + time: 'Mon Dec 10 2018 07:45:00 GMT+0000 (GMT)', + senderId: 11 + }, + { + message: 'Hello. How can I help You?', + time: 'Mon Dec 11 2018 07:45:15 GMT+0000 (GMT)', + senderId: 2 + }, + { + message: 'Can I get details of my last transaction I made last month?', + time: 'Mon Dec 11 2018 07:46:10 GMT+0000 (GMT)', + senderId: 11 + }, + { + message: 'We need to check if we can provide you such information.', + time: 'Mon Dec 11 2018 07:45:15 GMT+0000 (GMT)', + senderId: 2 + }, + { + message: 'I will inform you as I get update on this.', + time: 'Mon Dec 11 2018 07:46:15 GMT+0000 (GMT)', + senderId: 2 + }, + { + message: 'If it takes long you can mail me at my mail address.', + time: dayBeforePreviousDay, + senderId: 11 + } + ] + }, + { + id: 2, + userId: 2, + unseenMsgs: 1, + chat: [ + { + message: "How can we help? We're here for you!", + time: 'Mon Dec 10 2018 07:45:00 GMT+0000 (GMT)', + senderId: 11 + }, + { + message: 'Hey John, I am looking for the best admin template. Could you please help me to find it out?', + time: 'Mon Dec 10 2018 07:45:23 GMT+0000 (GMT)', + senderId: 1 + }, + { + message: 'It should be Bootstrap 4 compatible.', + time: 'Mon Dec 10 2018 07:45:55 GMT+0000 (GMT)', + senderId: 1 + }, + { + message: 'Absolutely!', + time: 'Mon Dec 10 2018 07:46:00 GMT+0000 (GMT)', + senderId: 11 + }, + { + message: 'Modern admin is the responsive bootstrap 4 admin template.!', + time: 'Mon Dec 10 2018 07:46:05 GMT+0000 (GMT)', + senderId: 11 + }, + { + message: 'Looks clean and fresh UI.', + time: 'Mon Dec 10 2018 07:46:23 GMT+0000 (GMT)', + senderId: 1 + }, + { + message: "It's perfect for my next project.", + time: 'Mon Dec 10 2018 07:46:33 GMT+0000 (GMT)', + senderId: 1 + }, + { + message: 'How can I purchase it?', + time: 'Mon Dec 10 2018 07:46:43 GMT+0000 (GMT)', + senderId: 1 + }, + { + message: 'Thanks, from ThemeForest.', + time: 'Mon Dec 10 2018 07:46:53 GMT+0000 (GMT)', + senderId: 11 + }, + { + message: 'I will purchase it for sure. 👍', + time: previousDay, + senderId: 1 + } + ] + } + ] +} +/*eslint-enable */ +// ------------------------------------------------ +// GET: Return Chats Contacts and Contacts +// ------------------------------------------------ +mock.onGet('/apps/chat/chats-and-contacts').reply(() => { + const chatsContacts = data.chats.map(chat => { + const contact = data.contacts.find(c => c.id === chat.userId) + contact.chat = { id: chat.id, unseenMsgs: chat.unseenMsgs, lastMessage: chat.chat[chat.chat.length - 1] } + return contact + }) + const profileUserData = { + id: data.profileUser.id, + avatar: data.profileUser.avatar, + fullName: data.profileUser.fullName, + status: data.profileUser.status + } + return [200, { chatsContacts, contacts: data.contacts, profileUser: profileUserData }] +}) + +// ------------------------------------------------ +// GET: Return User Profile +// ------------------------------------------------ +mock.onGet('/apps/chat/users/profile-user').reply(() => [200, data.profileUser]) + +// ------------------------------------------------ +// GET: Return Single Chat +// ------------------------------------------------ +mock.onGet('/apps/chat/get-chat').reply(config => { + // Get event id from URL + + let userId = config.id + + // Convert Id to number + userId = Number(userId) + + const chat = data.chats.find(c => c.id === userId) + if (chat) chat.unseenMsgs = 0 + const contact = data.contacts.find(c => c.id === userId) + if (contact.chat) contact.chat.unseenMsgs = 0 + return [200, { chat, contact }] +}) + +// ------------------------------------------------ +// POST: Add new chat message +// ------------------------------------------------ +mock.onPost('/apps/chat/send-msg').reply(config => { + // Get event from post data + const { obj } = JSON.parse(config.data) + + let activeChat = data.chats.find(chat => chat.userId === obj.contact.id) + + const newMessageData = { + message: obj.message, + time: new Date(), + senderId: 11 + } + // If there's new chat for user create one + let isNewChat = false + if (activeChat === undefined) { + isNewChat = true + + const { length } = data.chats + // const lastId = data.chats[length - 1].id + + data.chats.push({ + id: obj.contact.id, + userId: obj.contact.id, + unseenMsgs: 0, + chat: [newMessageData] + }) + activeChat = data.chats[data.chats.length - 1] + } else { + activeChat.chat.push(newMessageData) + } + + const response = { newMessageData, id: obj.contact.id } + if (isNewChat) response.chat = activeChat + + return [201, { response }] +}) diff --git a/src/@fake-db/apps/eCommerce.js b/src/@fake-db/apps/eCommerce.js new file mode 100644 index 0000000..68102f0 --- /dev/null +++ b/src/@fake-db/apps/eCommerce.js @@ -0,0 +1,542 @@ +import mock from '../mock' +/* eslint-disable */ +import { paginateArray, sortCompare, randomDate, getRandomInt } from '../utils' + +const nextDay = new Date(new Date().getTime() + 24 * 60 * 60 * 1000) +const nextWeek = new Date(nextDay.getTime() + 7 * 24 * 60 * 60 * 1000) + +const data = { + products: [ + { + id: 1, + name: 'VicTsing Wireless Mouse,', + slug: '3-year-unlimited-cloud-storage-service-activation-card-other-1', + description: + 'After thousands of samples of palm data, we designed this ergonomic mouse. The laptop mouse has a streamlined arc and thumb rest to help reduce the stress caused by prolonged use of the laptop mouse.', + brand: 'VicTsing', + price: 10.99, + image: require('@src/assets/images/pages/eCommerce/27.png').default, + hasFreeShipping: true, + rating: 2 + }, + { + id: 2, + name: 'Bose Frames Tenor - Rectangular Polarized, Bluetooth Audio Sunglasses', + slug: '360fly-panoramic-360-hd-video-camera-black-2', + description: + 'Redesigned for luxury — Thoughtfully refined and strikingly elegant, the latest Bose sunglasses blend enhanced features and designs for an elevated way to listen', + brand: 'Bose', + price: 249.0, + image: require('@src/assets/images/pages/eCommerce/26.png').default, + hasFreeShipping: false, + rating: 5 + }, + { + id: 3, + name: 'Willful Smart Watch for Men Women 2020,', + slug: '3-dr-backpack-for-solo-black-3', + description: + 'Are you looking for a smart watch, which can not only easily keep tracking of your steps, calories, heart rate and sleep quality, but also keep you informed of incoming calls.', + brand: 'Willful', + price: 29.99, + image: require('@src/assets/images/pages/eCommerce/25.png').default, + hasFreeShipping: false, + rating: 5 + }, + { + id: 4, + name: 'Ronyes Unisex College Bag Bookbags for Women', + slug: '3-dr-propellers-for-3-dr-solo-drones-2-pack-black-4', + description: + 'Made of high quality water-resistant material; padded and adjustable shoulder straps; external USB with built-in charging cable offers a convenient charging', + brand: 'Ronyes', + price: 23.99, + image: require('@src/assets/images/pages/eCommerce/24.png').default, + hasFreeShipping: false, + rating: 2 + }, + { + id: 5, + name: 'Toshiba Canvio Advance 2TB Portable External Hard Drive', + slug: '3-dr-solo-gimbal-black-5', + description: 'Up to 3TB of storage capacity to store your growing files and content', + brand: 'Toshiba', + price: 69.99, + image: require('@src/assets/images/pages/eCommerce/23.png').default, + hasFreeShipping: false, + rating: 2 + }, + { + id: 6, + name: 'Tile Pro - High Performance Bluetooth Tracker', + slug: '3-dr-solo-smart-rechargeable-battery-black-6', + description: + 'FIND KEYS, BAGS & MORE -- Pro is our high-performance finder ideal for keys, backpacks, luggage or any other items you want to keep track of. The easy-to-use finder and free app work with iOS and Android.', + brand: 'Tile', + price: 29.99, + image: require('@src/assets/images/pages/eCommerce/22.png').default, + hasFreeShipping: false, + rating: 4 + }, + { + id: 7, + name: 'Bugani M90 Portable Bluetooth Speaker', + slug: '3-m-eureka-rr-pet-micro-allergen-vacuum-bag-for-select-eureka-vacuums-3-pack-7', + description: + 'Bluetooth Speakers-The M90 Bluetooth speaker uses the latest Bluetooth 5.0 technology and the latest Bluetooth ATS chip, Connecting over Bluetooth in seconds to iPhone, iPad, Smart-phones, Tablets, Windows, and other Bluetooth devices.', + brand: 'Bugani', + price: 56.0, + image: require('@src/assets/images/pages/eCommerce/21.png').default, + hasFreeShipping: false, + rating: 3 + }, + { + id: 8, + name: 'PlayStation 4 Console', + slug: '3-m-filtrete-bissell-replacement-belt-8', + description: + 'All the greatest, games, TV, music and more. Connect with your friends to broadcast and celebrate your epic moments at the press of the Share button to Twitch, YouTube, Facebook and Twitter.', + brand: 'Sony', + price: 339.95, + image: require('@src/assets/images/pages/eCommerce/20.png').default, + hasFreeShipping: false, + rating: 1 + }, + { + id: 9, + name: 'Giotto 32oz Leakproof BPA Free Drinking Water', + slug: '3-m-filtrete-devil-tattoo-vacuum-bag-3-pack-9', + description: + 'With unique inspirational quote and time markers on it,this water bottle is great for measuring your daily intake of water,reminding you stay hydrated and drink enough water throughout the day.A must have for any fitness goals including weight loss,appetite control and overall health.', + brand: '3M', + price: 16.99, + image: require('@src/assets/images/pages/eCommerce/19.png').default, + hasFreeShipping: false, + rating: 5 + }, + { + id: 10, + name: 'Oculus Quest All-in-one VR', + slug: '3-m-filtrete-eureka-r-replacement-belt-for-select-eureka-vacuums-10', + description: + 'All-in-one VR: No PC. No wires. No limits. Oculus quest is an all-in-one gaming system built for virtual reality. Now you can play almost anywhere with just a VR headset and controllers. Oculus touch controllers: arm yourself with the award-winning Oculus touch controllers. Your slashes, throws and grab appear in VR with intuitive, realistic Precision, transporting your hands and gestures right into the game', + brand: 'Oculus', + price: 645.0, + image: require('@src/assets/images/pages/eCommerce/18.png').default, + hasFreeShipping: false, + rating: 1 + }, + { + id: 11, + name: 'Handbags for Women Large Designer bag', + slug: '3-m-filtrete-eureka-u-replacement-belt-11', + description: + 'Classic Hobo Purse: Top zipper closure, with 2 side zipper pockets design and elegant tassels decoration, fashionable and practical handbags for women, perfect for shopping, dating, travel and business', + brand: 'Hobo', + price: 39.99, + image: require('@src/assets/images/pages/eCommerce/17.png').default, + hasFreeShipping: false, + rating: 3 + }, + { + id: 12, + name: 'Adidas Mens Tech Response Shoes', + slug: '3-m-filtrete-hoover-a-micro-allergen-vacuum-bag-12', + description: + 'Comfort + performance. Designed with materials that are durable, lightweight and extremely comfortable. Core performance delivers the perfect mix of fit, style and all-around performance.', + brand: 'Adidas', + price: 54.59, + image: require('@src/assets/images/pages/eCommerce/16.png').default, + hasFreeShipping: false, + rating: 5 + }, + { + id: 13, + name: 'Laptop Bag', + slug: '3-m-filtrete-hoover-w2-micro-allergen-vacuum-bag-3-pack-13', + description: + 'TSA FRIENDLY- A separate DIGI SMART compartment can hold 15.6 inch Laptop as well as 15 inch, 14 inch Macbook, 12.9 inch iPad, and tech accessories like charger for quick TSA checkpoint when traveling', + brand: 'TAS', + price: 29.99, + image: require('@src/assets/images/pages/eCommerce/15.png').default, + hasFreeShipping: false, + rating: 5 + }, + { + id: 14, + name: 'Wireless Charger 5W Max', + slug: '3-m-filtrete-hoover-windtunnel-replacement-belt-14', + description: + 'Charge with case: transmits charging power directly through protective cases. Rubber/plastic/TPU cases under 5 mm thickness . Do not use any magnetic and metal attachments or cards, or it will prevent charging.', + brand: '3M', + price: 10.83, + image: require('@src/assets/images/pages/eCommerce/14.png').default, + hasFreeShipping: false, + rating: 3 + }, + { + id: 15, + name: 'Vankyo leisure 3 mini projector', + slug: '3-m-filtrete-vacuum-belt-for-select-hoover-t-series-upright-vacuums-15', + description: + 'SUPERIOR VIEWING EXPERIENCE: Supporting 1920x1080 resolution, VANKYO Leisure 3 projector is powered by MStar Advanced Color Engine, which is ideal for home entertainment. 2020 upgraded LED lighting provides a superior viewing experience for you.', + brand: 'Vankyo Store', + price: 99.99, + image: require('@src/assets/images/pages/eCommerce/13.png').default, + hasFreeShipping: false, + rating: 2 + }, + { + id: 16, + name: 'New Apple iPad Pro', + slug: '3-m-hoover-y-z-pet-micro-allergen-vacuum-bag-for-select-hoover-vacuums-3-pack-16', + description: + 'Up to 10 hours of surfing the web on Wi‑Fi, watching video, or listening to music. Up to 9 hours of surfing the web using cellular data network, Compatible with Smart Keyboard Folio and Bluetooth keyboards', + brand: 'Apple', + price: 799.99, + image: require('@src/assets/images/pages/eCommerce/12.png').default, + hasFreeShipping: false, + rating: 3 + }, + { + id: 17, + name: 'Nike Air Max', + slug: '72-9301-speaker-wire-harness-adapter-for-most-plymouth-dodge-and-mitsubishi-vehicles-multi-17', + description: + 'With a bold application of colorblocking inspired by modern art styles, the Nike Air Max 270 React sneaker is constructed with layers of lightweight material to achieve its artful look and comfortable feel.', + brand: 'Nike', + price: 98.95, + image: require('@src/assets/images/pages/eCommerce/11.png').default, + hasFreeShipping: false, + rating: 1 + }, + { + id: 18, + name: 'Logitech K380 Wireless Keyboard', + slug: 'acer-11-6-chromebook-intel-celeron-2-gb-memory-16-gb-e-mmc-flash-memory-moonstone-white-18', + description: + 'Logitech K380 Bluetooth Wireless Keyboard gives you the comfort and convenience of desktop typing on your smartphone, and tablet. It is a wireless keyboard that connects to all Bluetooth wireless devices that support external keyboards. Take this compact, lightweight, Bluetooth keyboard anywhere in your home. Type wherever you like, on any compatible computer, phone or tablet.', + brand: 'Logitech', + price: 81.99, + image: require('@src/assets/images/pages/eCommerce/10.png').default, + hasFreeShipping: false, + rating: 4 + }, + { + id: 19, + name: 'OnePlus 7 Pro ', + slug: 'one-plus-7-pro-19', + brand: 'Philips', + price: 14.99, + image: require('@src/assets/images/pages/eCommerce/9.png').default, + hasFreeShipping: false, + rating: 4, + description: `The OnePlus 7 Pro features a brand new design, with a glass back and front and curved sides. The phone feels + very premium but’s it’s also very heavy. The Nebula Blue variant looks slick but it’s quite slippery, which + makes single-handed use a real challenge. It has a massive 6.67-inch ‘Fluid AMOLED’ display with a QHD+ + resolution, 90Hz refresh rate and support for HDR 10+ content. The display produces vivid colours, deep blacks + and has good viewing angles.` + }, + { + id: 20, + name: 'Sony 4K Ultra HD LED TV ', + slug: 'sony-4-k-ultra-hd-led-tv-20', + brand: 'Apple', + price: 7999.99, + image: require('@src/assets/images/pages/eCommerce/8.png').default, + hasFreeShipping: false, + rating: 5, + description: `Sony 4K Ultra HD LED TV has 4K HDR Support. The TV provides clear visuals and provides distinct sound quality + and an immersive experience. This TV has Yes HDMI ports & Yes USB ports. Connectivity options included are HDMI. + You can connect various gadgets such as your laptop using the HDMI port. The TV comes with a 1 Year warranty.` + }, + { + id: 21, + name: 'Google - Google Home - White/Slate fabric', + slug: 'google-google-home-white-slate-fabric-21', + brand: 'Google', + price: 129.29, + image: require('@src/assets/images/pages/eCommerce/7.png').default, + hasFreeShipping: true, + rating: 4, + description: `Simplify your everyday life with the Google Home, a voice-activated speaker powered by the Google Assistant. Use + voice commands to enjoy music, get answers from Google and manage everyday tasks. Google Home is compatible with + Android and iOS operating systems, and can control compatible smart devices such as Chromecast or Nest.` + }, + { + id: 22, + name: 'Switch Pro Controller', + slug: 'switch-pro-controller-22', + brand: 'Sharp', + price: 429.99, + image: require('@src/assets/images/pages/eCommerce/6.png').default, + hasFreeShipping: false, + rating: 3, + description: `The Nintendo Switch Pro Controller is one of the priciest "baseline" controllers in the current console + generation, but it's also sturdy, feels good to play with, has an excellent direction pad, and features + impressive motion sensors and vibration systems. On top of all of that, it uses Bluetooth, so you don't need an + adapter to use it with your PC.` + }, + { + id: 23, + name: 'Apple - MacBook Air® (Latest Model) - 13.3" Display - Silver', + slug: 'apple-mac-book-air-latest-model-13-3-display-silver-23', + brand: 'Apple', + price: 999.99, + image: require('@src/assets/images/pages/eCommerce/5.png').default, + hasFreeShipping: false, + rating: 4, + description: `MacBook Air is a thin, lightweight laptop from Apple. MacBook Air features up to 8GB of memory, a + fifth-generation Intel Core processor, Thunderbolt 2, great built-in apps, and all-day battery life.1 Its thin, + light, and durable enough to take everywhere you go-and powerful enough to do everything once you get there, + better.` + }, + { + id: 24, + name: 'OneOdio A71 Wired Headphones', + slug: 'one-odio-a71-wired-headphones-24', + brand: 'OneOdio', + price: 49.99, + image: require('@src/assets/images/pages/eCommerce/4.png').default, + hasFreeShipping: true, + rating: 3, + description: `Omnidirectional detachable boom mic upgrades the headphones into a professional headset for gaming, business, + podcasting and taking calls on the go. Better pick up your voice. Control most electric devices through voice + activation, or schedule a ride with Uber and order a pizza. OneOdio A71 Wired Headphones voice-controlled device + turns any home into a smart device on a smartphone or tablet.` + }, + { + id: 25, + name: 'Apple iMac 27-inch', + slug: 'apple-i-mac-27-inch-25', + brand: 'Apple', + price: 999.99, + image: require('@src/assets/images/pages/eCommerce/3.png').default, + hasFreeShipping: true, + rating: 4, + description: `The all-in-one for all. If you can dream it, you can do it on iMac. It’s beautifully & incredibly intuitive and + packed with tools that let you take any idea to the next level. And the new 27-inch model elevates the + experience in way, with faster processors and graphics, expanded memory and storage, enhanced audio and video + capabilities, and an even more stunning Retina 5K display. It’s the desktop that does it all — better and faster + than ever.` + }, + { + id: 26, + name: 'Apple iPhone 11 (64GB, Black)', + slug: 'apple-i-phone-11-64-gb-black-26', + brand: 'Apple', + price: 669.99, + image: require('@src/assets/images/pages/eCommerce/2.png').default, + hasFreeShipping: true, + rating: 5, + description: `The Apple iPhone 11 is a great smartphone, which was loaded with a lot of quality features. It comes with a + waterproof and dustproof body which is the key attraction of the device. The excellent set of cameras offer + excellent images as well as capable of recording crisp videos. However, expandable storage and a fingerprint + scanner would have made it a perfect option to go for around this price range.` + }, + { + id: 27, + name: 'Apple Watch Series 5', + slug: 'apple-watch-series-5-27', + brand: 'Apple', + price: 339.99, + image: require('@src/assets/images/pages/eCommerce/1.png').default, + hasFreeShipping: true, + rating: 4, + description: `On Retina display that never sleeps, so it’s easy to see the time and other important information, without + raising or tapping the display. New location features, from a built-in compass to current elevation, help users + better navigate their day, while international emergency calling1 allows customers to call emergency services + directly from Apple Watch in over 150 countries, even without iPhone nearby. Apple Watch Series 5 is available + in a wider range of materials, including aluminium, stainless steel, ceramic and an all-new titanium.` + } + ], + userWishlist: [ + { id: 1, productId: 26 }, + { id: 2, productId: 23 } + ], + userCart: [ + { id: 1, productId: 27, qty: 1 }, + { id: 2, productId: 21, qty: 1 }, + { id: 3, productId: 26, qty: 1 }, + { id: 4, productId: 25, qty: 1 }, + { id: 5, productId: 23, qty: 1 } + ] +} +/* eslint-enable */ + +// ------------------------------------------------ +// GET: Return products +// ------------------------------------------------ +mock.onGet('/apps/ecommerce/products').reply(config => { + // eslint-disable-next-line object-curly-newline + const { q = '', sortBy = 'featured', perPage = 9, page = 1 } = config.params + + const queryLowered = q.toLowerCase() + + const filteredData = data.products.filter(product => product.name.toLowerCase().includes(queryLowered)) + + let sortDesc = false + const sortByKey = (() => { + if (sortBy === 'price-desc') { + sortDesc = true + return 'price' + } + if (sortBy === 'price-asc') { + return 'price' + } + sortDesc = true + return 'id' + })() + + const sortedData = filteredData.sort(sortCompare(sortByKey)) + if (sortDesc) sortedData.reverse() + + const paginatedData = JSON.parse(JSON.stringify(paginateArray(sortedData, perPage, page))) + + paginatedData.forEach(product => { + /* eslint-disable no-param-reassign */ + product.isInWishlist = data.userWishlist.findIndex(p => p.productId === product.id) > -1 + product.isInCart = data.userCart.findIndex(p => p.productId === product.id) > -1 + /* eslint-enable */ + }) + + return [ + 200, + { + products: paginatedData, + total: filteredData.length, + userWishlist: data.userWishlist, + userCart: data.userCart + } + ] +}) + +// ------------------------------------------------ +// GET: Return Single Product +// ------------------------------------------------ +mock.onGet(/\/apps\/ecommerce\/products\/\d+/).reply(config => { + // Get product id from URL + let productId = config.url.substring(config.url.lastIndexOf('/') + 1) + + // Convert Id to number + productId = Number(productId) + + const productIndex = data.products.findIndex(p => p.id === productId) + const product = data.products[productIndex] + + if (product) { + // Add data of wishlist and cart + product.isInWishlist = data.userWishlist.findIndex(p => p.productId === product.id) > -1 + product.isInCart = data.userCart.findIndex(p => p.productId === product.id) > -1 + + // * Add Dummy data for details page + product.colorOptions = ['primary', 'success', 'warning', 'danger', 'info'] + + return [200, { product }] + } + return [404] +}) + +// ------------------------------------------------ +// GET: Return Wishlist Products +// ------------------------------------------------ +mock.onGet('/apps/ecommerce/wishlist').reply(() => { + const products = data.userWishlist.map(wishlistProduct => { + const product = data.products.find(p => p.id === wishlistProduct.productId) + product.isInCart = data.userCart.findIndex(p => p.productId === wishlistProduct.productId) > -1 + return product + }) + + return [200, { products }] +}) + +// ------------------------------------------------ +// GET: Return Cart Products +// ------------------------------------------------ +mock.onGet('/apps/ecommerce/cart').reply(() => { + const products = data.userCart.map(cartProduct => { + const product = data.products.find(p => p.id === cartProduct.productId) + + // Other data + product.isInWishlist = data.userWishlist.findIndex(p => p.productId === cartProduct.productId) > -1 + product.qty = cartProduct.qty + product.shippingDate = randomDate(nextDay, nextWeek) + product.offers = getRandomInt(1, 4) + product.discountPercentage = getRandomInt(3, 20) + + return product + }) + + return [200, { products }] +}) + +// ------------------------------------------------ +// POST: Add Item in user Cart +// ------------------------------------------------ +mock.onPost('/apps/ecommerce/cart').reply(config => { + // Get product from post data + const { productId } = JSON.parse(config.data) + + const { length } = data.userCart + let lastId = 0 + if (length) lastId = data.userCart[length - 1].i + + data.userCart.push({ + id: lastId + 1, + productId, + qty: 1 + }) + + return [201] +}) + +// ------------------------------------------------ +// DELETE: Remove Item from user Cart +// ------------------------------------------------ +mock.onDelete(/\/apps\/ecommerce\/cart\/\d+/).reply(config => { + // Get product id from URL + let productId = config.url.substring(config.url.lastIndexOf('/') + 1) + + // Convert Id to number + productId = Number(productId) + + const productIndex = data.userCart.findIndex(i => i.productId === productId) + if (productIndex > -1) data.userCart.splice(productIndex, 1) + + return [200] +}) + +// ------------------------------------------------ +// POST: Add Item in user Wishlist +// ------------------------------------------------ +mock.onPost('/apps/ecommerce/wishlist').reply(config => { + // Get product from post data + const { productId } = JSON.parse(config.data) + + const { length } = data.userWishlist + let lastId = 0 + if (length) lastId = data.userWishlist[length - 1].i + + data.userWishlist.push({ + id: lastId + 1, + productId: Number(productId) + }) + + return [201] +}) + +// ------------------------------------------------ +// DELETE: Remove Item from user Wishlist +// ------------------------------------------------ +mock.onDelete(/\/apps\/ecommerce\/wishlist\/\d+/).reply(config => { + // Get product id from URL + let productId = config.url.substring(config.url.lastIndexOf('/') + 1) + + // Convert Id to number + productId = Number(productId) + + const productIndex = data.userWishlist.findIndex(i => i.productId === productId) + if (productIndex > -1) data.userWishlist.splice(productIndex, 1) + + return [200] +}) diff --git a/src/@fake-db/apps/email.js b/src/@fake-db/apps/email.js new file mode 100644 index 0000000..a71af30 --- /dev/null +++ b/src/@fake-db/apps/email.js @@ -0,0 +1,852 @@ +import mock from '../mock' + +/* eslint-disable */ +const data = { + emails: [ + { + id: 1, + from: { + email: 'tommys@mail.com', + name: 'Tommy Sicilia', + avatar: require('@src/assets/images/avatars/1.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@mail.com' + } + ], + subject: 'Theme Update', + cc: [], + bcc: [], + message: + '

    Hi John,

    Biscuit lemon drops marshmallow. Cotton candy marshmallow bear claw. Dragée tiramisu cookie cotton candy. Carrot cake sweet roll I love macaroon wafer jelly soufflé I love dragée. Jujubes jelly I love carrot cake topping I love. Sweet candy I love chupa chups dragée. Tart I love gummies. Chocolate bar carrot cake candy wafer candy canes oat cake I love. Sesame snaps icing pudding sweet roll marshmallow. Cupcake brownie sweet roll chocolate bar I love gummies. Biscuit biscuit macaroon sesame snaps macaroon icing I love soufflé caramels. Apple pie candy jelly. I love icing gummi bears jelly-o pie muffin apple pie.

    Marshmallow halvah brownie cake marzipan ice cream marshmallow. I love lollipop toffee croissant liquorice wafer muffin. Lollipop jelly beans caramels lollipop tootsie roll pudding pie macaroon tootsie roll. Oat cake jujubes gummies cake cake powder cupcake soufflé muffin. Chocolate caramels muffin tart. Jelly beans caramels dessert cotton candy liquorice chocolate cake. Chupa chups muffin bear claw I love. Biscuit jujubes soufflé tart caramels pie sugar plum. Croissant jelly beans cake. Ice cream chocolate liquorice dessert cookie chocolate cake. Powder tart sweet roll macaroon croissant. Sweet tootsie roll macaroon gummi bears macaroon. Gingerbread cake tart.

    Regrads,

    Kristeen Sicilia

    ', + attachments: [ + { + fileName: 'log.txt', + thumbnail: require('@src/assets/images/icons/txt.png').default, + url: '', + size: '5mb' + }, + { + fileName: 'performance.xls', + thumbnail: require('@src/assets/images/icons/xls.png').default, + url: '', + size: '10mb' + } + ], + isStarred: false, + labels: ['private'], + time: 'Mon Dec 10 2018 07:46:00 GMT+0000 (GMT)', + replies: [], + folder: 'inbox', + isRead: true + }, + { + id: 2, + from: { + email: 'tressag@mail.com', + name: 'Tressa Gass', + avatar: require('@src/assets/images/avatars/2.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@mail.com' + } + ], + subject: 'Company Report', + cc: ['vrushankbrahmshatriya@mail.com'], + bcc: ['menka@mail.com'], + message: + '

    Hello John,

    Chocolate bar chupa chups sweet roll chocolate muffin macaroon liquorice tart. Carrot cake topping jelly-o cupcake sweet apple pie jelly I love. Chocolate cake I love dessert carrot cake tootsie roll chocolate I love. Tootsie roll pie marzipan sesame snaps. Lemon drops cake I love chocolate I love. Cheesecake croissant croissant cheesecake tootsie roll chocolate cake caramels. I love I love cake jelly. Pastry jelly beans I love I love. I love tootsie roll gummies toffee I love cookie cookie. Brownie tart croissant.

    I love jelly pie. Croissant jelly beans lemon drops oat cake. Cupcake carrot cake ice cream cake cookie jelly-o fruitcake jelly macaroon. Biscuit muffin cupcake chocolate bar lollipop danish.

    Ice cream I love I love lemon drops cotton candy macaroon. Jujubes soufflé oat cake sweet roll bear claw cotton candy cookie toffee tootsie roll. Danish sesame snaps sesame snaps cookie jelly danish chocolate bar.

    Fruitcake pastry bear claw chocolate cookie. Biscuit icing bear claw. Sweet roll liquorice jelly-o muffin toffee I love wafer. Candy pastry halvah. Pie pastry candy canes tart. Fruitcake I love liquorice icing sweet roll macaroon. I love ice cream jelly-o biscuit brownie marzipan topping pudding sesame snaps. Chupa chups brownie brownie cotton candy sugar plum toffee. Tiramisu tootsie roll gingerbread biscuit I love ice cream brownie sesame snaps. I love croissant I love I love brownie pie marshmallow.

    Regrads

    Tressa Gass

    ', + attachments: [], + isStarred: true, + labels: ['company', 'private'], + time: 'Mon Dec 10 2018 07:55:00 GMT+0000 (GMT)', + replies: [], + folder: 'inbox', + isRead: true + }, + { + id: 3, + from: { + email: 'hettiem@mail.com', + name: 'Hettie Mcerlean', + avatar: require('@src/assets/images/avatars/3.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@mail.com' + }, + { + name: 'Pixinvent', + email: 'hello@pixinvent.net' + } + ], + subject: 'Order Delivered', + cc: [], + bcc: [], + message: + '

    Hello John,

    Chocolate bar chupa chups sweet roll chocolate muffin macaroon liquorice tart. Carrot cake topping jelly-o cupcake sweet apple pie jelly I love. Chocolate cake I love dessert carrot cake tootsie roll chocolate I love. Tootsie roll pie marzipan sesame snaps. Lemon drops cake I love chocolate I love. Cheesecake croissant croissant cheesecake tootsie roll chocolate cake caramels. I love I love cake jelly. Pastry jelly beans I love I love. I love tootsie roll gummies toffee I love cookie cookie. Brownie tart croissant.

    I love jelly pie. Croissant jelly beans lemon drops oat cake. Cupcake carrot cake ice cream cake cookie jelly-o fruitcake jelly macaroon. Biscuit muffin cupcake chocolate bar lollipop danish.

    Ice cream I love I love lemon drops cotton candy macaroon. Jujubes soufflé oat cake sweet roll bear claw cotton candy cookie toffee tootsie roll. Danish sesame snaps sesame snaps cookie jelly danish chocolate bar.

    Fruitcake pastry bear claw chocolate cookie. Biscuit icing bear claw. Sweet roll liquorice jelly-o muffin toffee I love wafer. Candy pastry halvah. Pie pastry candy canes tart. Fruitcake I love liquorice icing sweet roll macaroon. I love ice cream jelly-o biscuit brownie marzipan topping pudding sesame snaps. Chupa chups brownie brownie cotton candy sugar plum toffee. Tiramisu tootsie roll gingerbread biscuit I love ice cream brownie sesame snaps. I love croissant I love I love brownie pie marshmallow.

    Regrads

    Hettie Mcerlean

    ', + attachments: [], + isStarred: false, + labels: ['company'], + time: 'Mon Dec 10 2018 08:35:00 GMT+0000 (GMT)', + replies: [], + folder: 'spam', + isRead: true + }, + { + id: 4, + from: { + email: 'louettae@mail.com', + name: 'Louetta Esses', + avatar: require('@src/assets/images/avatars/4.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@mail.com' + } + ], + subject: 'Waterfall Model Update', + cc: [], + bcc: [], + message: + '

    Hi John,

    Biscuit lemon drops marshmallow. Cotton candy marshmallow bear claw. Dragée tiramisu cookie cotton candy. Carrot cake sweet roll I love macaroon wafer jelly soufflé I love dragée. Jujubes jelly I love carrot cake topping I love. Sweet candy I love chupa chups dragée. Tart I love gummies. Chocolate bar carrot cake candy wafer candy canes oat cake I love. Sesame snaps icing pudding sweet roll marshmallow. Cupcake brownie sweet roll chocolate bar I love gummies. Biscuit biscuit macaroon sesame snaps macaroon icing I love soufflé caramels. Apple pie candy jelly. I love icing gummi bears jelly-o pie muffin apple pie.

    Marshmallow halvah brownie cake marzipan ice cream marshmallow. I love lollipop toffee croissant liquorice wafer muffin. Lollipop jelly beans caramels lollipop tootsie roll pudding pie macaroon tootsie roll. Oat cake jujubes gummies cake cake powder cupcake soufflé muffin. Chocolate caramels muffin tart. Jelly beans caramels dessert cotton candy liquorice chocolate cake. Chupa chups muffin bear claw I love. Biscuit jujubes soufflé tart caramels pie sugar plum. Croissant jelly beans cake. Ice cream chocolate liquorice dessert cookie chocolate cake. Powder tart sweet roll macaroon croissant. Sweet tootsie roll macaroon gummi bears macaroon. Gingerbread cake tart.

    Regrads,

    Kristeen Sicilia

    ', + attachments: [ + { + fileName: 'report.doc', + thumbnail: require('@src/assets/images/icons/doc.png').default, + url: '', + size: '32mb' + } + ], + isStarred: false, + labels: ['important'], + time: 'Mon Dec 11 2018 09:04:10 GMT+0000 (GMT)', + replies: [], + folder: 'inbox', + isRead: true + }, + { + id: 5, + from: { + email: 'bposvner0@zdnet.com', + name: 'Bobbie Posvner', + avatar: require('@src/assets/images/avatars/11.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@dot.gov' + } + ], + subject: 'Re-contextualized zero administration toolset', + cc: [], + bcc: [], + message: + '

    Hello John,

    Epiboly henbill hemichorea composedness resequent hearthpenny racialization freeboard Reboulia Albuginaceae Violales Trisagion resinlike plumlet insalubrious Urocoptis Orthoceratidae ogmic plateaux reinsist preconsumption rattener venipuncture Rhadamanthine

    perversely corpusculated theophoric uncemented weiring myolipoma gudesire dramatics trichomaphyte adventitious video polychaete glossorrhaphy bestially zoospore nonnotional sawbones unprejudiciable wali collaborative coppled shammish manless predisorder

    ', + attachments: [], + isStarred: true, + labels: ['private'], + time: 'Tue Dec 12 2018 11:55:00 GMT+0000 (GMT)', + replies: [], + folder: 'spam', + isRead: true + }, + { + id: 6, + from: { + email: 'rgilder1@illinois.edu', + name: 'Rebecca Gilder', + avatar: require('@src/assets/images/avatars/6.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@google.co.uk' + } + ], + subject: 'Integrated bi-directional help-desk', + cc: [], + bcc: [], + message: + '

    Hello John,

    irretraceably indestructibility sisi fiddle pyretic Gerbera vocable hoped Chartreux thinglet whister fetiferous Guhayna overloud yuca suggestibly atmiatrics serioludicrous prehaustorium androgenic betulin chiropterite sprittail atrochal

    stopper acinaceous bandcutter unprostituted undependableness Saffarid parasympathetic dishonorer embryogeny overscrupulous deicidal Tapuya roupily devotee alfet sophiologic hydrobromide onlook preverb Dottore primitial frostlike overbig Monocyclica

    ', + attachments: [], + isStarred: false, + labels: ['personal'], + time: 'Thu Dec 13 2018 08:25:00 GMT+0000 (GMT)', + replies: [], + folder: 'trash', + isRead: true + }, + { + id: 7, + from: { + email: 'swilby2@yandex.ru', + name: 'Shawn Wilby', + avatar: require('@src/assets/images/avatars/1.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@altervista.org' + } + ], + subject: 'Devolved regional product', + cc: [], + bcc: [], + message: + '

    Hello John,

    scalpellum unisometrical emend esotrope gether separatical passionwise cringe flawful annotinous jiboa thrombotic essoinment successional backrope oligohemia gitaligenin formulaic bradycinesia paralgesic eumycetic receptoral eyrie yearly

    atomistical semischolastic clour discardment pseudelytron cheson path Bennet Herat pinchem Tho extravagantly shaking procidence flocker amidoketone gyric Moi petrolific clink immunization estrepement spalder poitrail

    ', + attachments: [], + isStarred: false, + labels: ['company'], + time: 'Fri Dec 14 2018 04:49:23 GMT+0000 (GMT)', + replies: [], + folder: 'draft', + isRead: true + }, + { + id: 8, + from: { + email: 'wmannering3@mozilla.org', + name: 'Waldemar Mannering', + avatar: require('@src/assets/images/avatars/11.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@sciencedaily.com' + } + ], + subject: 'Quality-focused methodical flexibility', + cc: [], + bcc: [], + message: + '

    Hi John,

    wartproof ketoheptose incomplicate hyomental organal supermaterial monogene sophister nizamate rightle multifilament phloroglucic overvehement boatloading derelictly probudgeting archantiquary unknighted pallograph Volcanalia Jacobitiana ethyl neth Jugatae

    noumenalize irredential energeia phlebotomist galp dactylitis unparticipated solepiece demure metarhyolite toboggan unpleased perilaryngeal binoxalate rabbitry atomic duali dihexahedron Pseudogryphus boomboat obelisk undreaded unadmired podometer

    ', + attachments: [], + isStarred: false, + labels: ['private'], + time: 'Tue Dec 15 2018 11:02:28 GMT+0000 (GMT)', + replies: [], + folder: 'inbox', + isRead: false + }, + { + id: 9, + from: { + email: 'hfrostdyke4@scientificamerican.com', + name: 'Heath Frostdyke', + avatar: require('@src/assets/images/avatars/9.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@weibo.com' + } + ], + subject: 'Secured optimal algorithm', + cc: [], + bcc: [], + message: + '

    Hello John,

    prefertility volumetrical subdivision Alpinist hypostomous foreyard lede knuckling Agade viking protometallic unsting palaeobiologist trierarchic bigheartedness Slartibartfast tabitude popadam idioplasm fabulous arsenite cingle backhandedness denizenship

    argo trickish dependingly unhouseled aegeriid ophthalmophlebotomy crazy freedwoman unspinsterlike clinical epistemologically hermodactyl humbugger misogynist plunder Sabbathly tabule feckless cerite porringer benumb duograph propatagian pressman

    ', + attachments: [], + isStarred: true, + labels: ['personal'], + time: 'Tue Jan 01 2018 18:31:19 GMT+0000 (GMT)', + replies: [], + folder: 'trash', + isRead: false + }, + { + id: 10, + from: { + email: 'pjentzsch5@tamu.edu', + name: 'Paulita Jentzsch', + avatar: require('@src/assets/images/avatars/7.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@skype.com' + } + ], + subject: 'Profound user-facing frame', + cc: [], + bcc: [], + message: + '

    Hello John,

    unstintedly septifarious prevalid implicative esere Kedarite Nekkar encampment Issedones Saururus Turkize Tshi misengrave lamnid benzamine rigidulous octonion hydrophilous coxalgic nasturtium epileptogenic biporose undenominationalism widu

    melioration pager infiltrate plouky tribesmanship transudate heinous exhibitionistic klendusic lienocele tractate unemotioned castigate selenate appealable Palladianism chloracetate penna moellon detector halcyon amidofluorid damascene hollaite

    ', + attachments: [ + { + fileName: 'UtNulla.xls', + thumbnail: require('@src/assets/images/icons/xls.png').default, + url: '', + size: '1mb' + } + ], + isStarred: true, + labels: ['important'], + time: 'Tue Jan 03 2018 08:05:33 GMT+0000 (GMT)', + replies: [], + folder: 'draft', + isRead: false + }, + { + id: 11, + from: { + email: 'lminghetti6@yale.edu', + name: 'Lowell Minghetti', + avatar: require('@src/assets/images/avatars/4.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@fda.gov' + } + ], + subject: 'Reactive full-range encryption', + cc: [], + bcc: [], + message: + '

    Hi John,

    Jaime stadimeter reshearer adfix exaristate herby chrysomonad ostentous Abrahamic Marsipobranchii skil linguodental relaster restbalk enhorror glycerizine foremelt difficultness Ostreidae Euphues panduriform howler Finmark primordality

    semicurvilinear skeet sociogenetic dicephalism ghalva ethnicon katagenesis tasklike triachenium abuser henbane strubbly streetway Ramaism besetting saccos enzymically wickiup inopulent poetship Miranda hemianesthesia sphericle oariopathy

    ', + attachments: [ + { + fileName: 'ElementumLigula.js', + thumbnail: require('@src/assets/images/icons/js.png').default, + url: '', + size: '29mb' + } + ], + isStarred: false, + labels: ['company'], + time: 'Tue Jan 03 2018 01:05:20 GMT+0000 (GMT)', + replies: [], + folder: 'trash', + isRead: true + }, + { + id: 12, + from: { + email: 'efinessy7@sbwire.com', + name: 'Eugenie Finessy', + avatar: require('@src/assets/images/avatars/2.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@odnoklassniki.ru' + } + ], + subject: 'Polarised holistic protocol', + cc: [], + bcc: [], + message: + '

    Hello John,

    nonmotile generale punctated humanify escharine unlatch alrighty unshepherding standstill upcrane unilobular prefrontal primate fluviatic premundane tritocone compaternity dolina phonautographic cobby corse neurohypnotic cyrtopia wreathy

    slanderousness Lemosi myxochondroma haemogram electrothermostat piperonyl spital reappeal pyopneumothorax Yunca eyoty forecourse extensive kickout germanization vigilant Criophoros muss aortostenosis Berchta phonophotoscopic precorrespondence rigidist castling

    ', + attachments: [], + isStarred: false, + labels: ['personal'], + time: 'Tue Jan 04 2018 21:26:54 GMT+0000 (GMT)', + replies: [], + folder: 'sent', + isRead: true + }, + { + id: 13, + from: { + email: 'tmckeurton8@163.com', + name: 'Tadio McKeurton', + avatar: require('@src/assets/images/avatars/10.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@nifty.com' + } + ], + subject: 'Down-sized transitional intranet', + cc: [], + bcc: [], + message: + '

    Hey John,

    calcimine gramineal nonfreezable interradial setula undertakable Abranchiata ultrasystematic spectroelectric Astarte Abraham bedsite enantiopathia exlex precoincident thiocarbamic mesenteriform daturism thioantimoniate tripudiate unsultry predynastic benzidino doxasticon

    overstale confessory glossed jane smoodger modernization Dehkan progymnospermic gangliectomy volumenometry Paulinistically tippy Gelfomino hive preredemption coccygine horrendous unintrusted plainer interrelatedly tearer arrojadite incircumspectly yokemating

    ', + attachments: [], + isStarred: false, + labels: ['important'], + time: 'Tue Jan 05 2018 19:00:00 GMT+0000 (GMT)', + replies: [], + folder: 'draft', + isRead: true + }, + { + id: 14, + from: { + email: 'ebegg9@wikia.com', + name: 'Eb Begg', + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default + }, + to: [ + { + name: 'me', + email: 'johndoe@51.la' + } + ], + subject: 'Organized value-added model', + cc: [], + bcc: [], + message: + '

    Hello Sir,

    Lituola restrengthen bathofloric manciple decaffeinize Debby aciliated eatage proscribe prejurisdiction buttle quacky hyposecretion indemonstrableness schelling lymphopathy consumptivity nonappointment filminess spumiform erotogenicity equestrianize boneflower interlardation

    allocate ponzite cote guilder tuff strind blamefully cocaine monstrously apocalyptically sublanate cherubimical oligoplasmia Miltonian hydrazyl unbeset statured Unami Cordeau strouthiocamelian geitjie larigo sociometry align

    ', + attachments: [], + isStarred: false, + labels: ['company'], + time: 'Tue Jan 06 2018 23:12:13 GMT+0000 (GMT)', + replies: [], + folder: 'inbox', + isRead: true + }, + { + id: 15, + from: { + email: 'mspata@sina.com.cn', + name: 'Modestine Spat', + avatar: require('@src/assets/images/avatars/9.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@oracle.com' + } + ], + subject: 'Profound systemic alliance 🎉 🎊', + cc: [], + bcc: [], + message: + '

    Hey John,

    Parthenopean logeion chipwood tonsilitic cockleshell substance Stilbum dismayed tape Alderamin Phororhacos bridewain zoonomia lujaurite printline extraction weanedness charterless splitmouth bindoree unfit philological Pythonissa scintillescent

    cinchonism sabbaton thyrocricoid dissuasively schematograph immerse pristane stimulability unreligion uncomplemental uteritis nef bavenite Hachiman teleutosorus anterolateral infirmate Nahani Hyla barile farthing crea venesector Cirrostomi

    ', + attachments: [], + isStarred: false, + labels: ['company'], + time: 'Tue Jan 07 2018 12:25:03 GMT+0000 (GMT)', + replies: [], + folder: 'inbox', + isRead: false + }, + { + id: 16, + from: { + email: 'cprandob@rambler.ru', + name: 'Chase Prando', + avatar: require('@src/assets/images/avatars/2.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@vistaprint.com' + } + ], + subject: 'Centralized intermediate instruction set', + cc: [], + bcc: [], + message: + '

    Respected Sir,

    drainman merman pleurosteal slatted serenader Tantalus slodder cachalot guerdon flannelflower digestibility priggish loa monocarbide endive rented kelep pangamous gummata siris stockproof butlerism polycrystalline begetter

    rack unpaining beglue astucious yardstick laniflorous tetrachloride avidious Biblicistic clival myosinogen antilobium unamiability unperforate Elaphurus wrapping deformity revocative kovil unwainscoted councilmanic saccharobiose federalize procellous

    ', + attachments: [], + isStarred: false, + labels: ['company'], + time: 'Tue Jan 08 2018 00:36:40 GMT+0000 (GMT)', + replies: [], + folder: 'sent', + isRead: true + }, + { + id: 17, + from: { + email: 'nbartlesc@merriam-webster.com', + name: 'Normand Bartles', + avatar: require('@src/assets/images/avatars/9.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@si.edu' + } + ], + subject: 'Re-contextualized leading edge projection', + cc: [], + bcc: [], + message: + '

    Hello John,

    orpine anidiomatic protoreptilian lacklusterness macromastia obstetricate Phaneroglossa tripleness laxatively hypophloeous ocellate sinoauricular porch lignitic miche strinkle hyperthyreosis tugui Alascan unrailroaded Cypriote vesuvian gradative hardener

    forthink Locarno wattlework Nordicist formoxime demipriest medrick Lomentaria lucible Canossa Manatus anaplasty Spirochaete bonus overgown Amurru Skupshtina opisthorchiasis preworthy Brodie shortchange Nikko Gaviae crosscut

    ', + attachments: [], + isStarred: false, + labels: ['personal'], + time: 'Tue Jan 09 2018 22:06:50 GMT+0000 (GMT)', + replies: [], + folder: 'spam', + isRead: true + }, + { + id: 18, + from: { + email: 'rgennd@dedecms.com', + name: 'Robin Genn', + avatar: require('@src/assets/images/avatars/6.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@about.com' + } + ], + subject: 'Team-oriented system-worthy intranet', + cc: [], + bcc: [], + message: + '

    Hi John,

    balsamation teachableness enarthrodia dentilation superguarantee Yuapin schedulize antarctically biocoenotic unspottedly stinter admonitorily uncollatedness umquhile grayhead dephase stopgap evenglow photogenically desmacyte rink osiered specking ratwa

    hospitize epithymetical montage rhapsodical Ninja superdramatist westerner clubionid haustellate Saltator rodding ophthalmomalacia concupiscibleness tingle hyperuresis Trigoniidae rearousal sanctimonial Munychia counterpaned exhibitable communer triadism Janiform

    ', + attachments: [], + isStarred: true, + labels: ['personal'], + time: 'Tue Jan 10 2018 01:51:24 GMT+0000 (GMT)', + replies: [], + folder: 'spam', + isRead: true + }, + { + id: 19, + from: { + email: 'eramelote@webeden.co.uk', + name: 'Emmalynn Ramelot', + avatar: require('@src/assets/images/avatars/8.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@tinypic.com' + } + ], + subject: 'Phased eco-centric architecture', + cc: [], + bcc: [], + message: + '

    Hey John,

    hightoby Maja vindicatorship unglobe poduran bronchodilatation uncontorted underwarden cyclometric orgiacs tigerhearted upscale curatize Scylliorhinidae slick unisolated nanocephalous cuirassier heartwise Venusian titanitic requirement antirestoration toluido

    Trematosaurus procreant ethos pessimistic antiselene pisk Amphipneusta anconad Corchorus unswabbed sizable Balanites sardonical shovelbill trammeler carpetwork rhexis remade myelinated right bounteous unsin retroduction Montanist

    ', + attachments: [], + isStarred: true, + labels: ['personal'], + time: 'Tue Jan 11 2018 14:25:46 GMT+0000 (GMT)', + replies: [], + folder: 'spam', + isRead: false + }, + { + id: 20, + from: { + email: 'pcuzenf@mediafire.com', + name: 'Penni Cuzen', + avatar: require('@src/assets/images/avatars/9.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@google.es' + } + ], + subject: 'Future-proofed motivating support', + cc: [], + bcc: [], + message: + '

    Hello John,

    yonder secessionalist astringer Ovangangela overcumber supracaecal scutulate Aglaonema Pakawan citril unsubducted cavernal multivalve ladify Cichorium supplication flexion cricothyroidean picaro locally etiogenic timeously scalpeen sapropel

    agglutinative hyperideation Flamandize antipragmatic wincer brachyphalangia forenotion Angloman ornamentation merch revulsed windingly tristate orgic sateless orseilline Anchietea pilferer aroid counselor forevermore kulmet maladventure haruspice

    ', + attachments: [ + { + fileName: 'Augue.js', + thumbnail: require('@src/assets/images/icons/js.png').default, + url: '', + size: '4mb' + } + ], + isStarred: false, + labels: ['private'], + time: 'Tue Jan 12 2018 04:16:10 GMT+0000 (GMT)', + replies: [], + folder: 'spam', + isRead: false + }, + { + id: 21, + from: { + email: 'abaldersong@utexas.edu', + name: 'Ardis Balderson', + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default + }, + to: [ + { + name: 'me', + email: 'johndoe@ow.ly' + } + ], + subject: 'Focused impactful open system 📷 😃', + cc: [], + bcc: [], + message: + '

    Hey John,

    bah kivu decrete epanorthotic unnotched Argyroneta nonius veratrine preimaginary saunders demidolmen Chaldaic allusiveness lorriker unworshipping ribaldish tableman hendiadys outwrest unendeavored fulfillment scientifical Pianokoto Chelonia

    Freudian sperate unchary hyperneurotic phlogiston duodecahedron unflown Paguridea catena disrelishable Stygian paleopsychology cantoris phosphoritic disconcord fruited inblow somewhatly ilioperoneal forrard palfrey Satyrinae outfreeman melebiose

    ', + attachments: [], + isStarred: true, + labels: ['company'], + time: new Date(new Date().getTime() - 7 * 60 * 60 * 1000), + replies: [], + folder: 'inbox', + isRead: false + }, + { + id: 22, + from: { + email: 'dmallallh@ask.com', + name: 'Dagmar Mallall', + avatar: require('@src/assets/images/avatars/8.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@furl.net' + } + ], + subject: 'Function-based local productivity 💻', + cc: [], + bcc: [], + message: + '

    Dear Consumer,

    gibbed preconceptual passionwort Goanese confluence ungnaw aubepine coadjacency Romipetal isochronic convener overinsistently psammophyte colpenchyma unlogic instinctivist motorcab wellhole receptacle sinistrocular avifaunal decagram paramountness samhita

    sphincterismus Aunjetitz vagabondage parallelotropism unreceipted io wheretoever semivolcanic Chlamydomonadidae spittlestaff spermatogenic Sephardi berrigan lowly grotesquerie Pentameridae unsuccessive archlexicographer Stephanian reimpatriate untossed beth ventriloquial dedicational

    ', + attachments: [], + isStarred: false, + labels: ['company'], + time: new Date(new Date().getTime() - 5 * 20 * 60 * 1000), + replies: [], + folder: 'draft', + isRead: false + }, + { + id: 23, + from: { + email: 'nmacgaughyi@aol.com', + name: 'Nada MacGaughy', + avatar: require('@src/assets/images/avatars/3.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@cnet.com' + } + ], + subject: 'Compatible object-oriented policy ', + cc: [], + bcc: [], + message: + '

    Hello John,

    miraculous pirijiri meekheartedness superoxygenation Elric paries epideictical Prajapati reassign stridlins spoach overreadily abusion sailmaking illiterately septangularness retinene Hler exceptionary ferberite possessionalist piperide Oschophoria beau

    abnormalize yearnfulness Janiculum sixhaend abstemiousness uterogestation orchestrina gallotannin muckment melanoblast supercivilization inclusionist electroosmotically immatchable stomatoplastic satinity hydrogen unexorable quinamidine milksopism fascinating ratsbane endocline Zolaist

    ', + attachments: [ + { + fileName: 'Leo.xls', + thumbnail: require('@src/assets/images/icons/xls.png').default, + url: '', + size: '33mb' + } + ], + isStarred: false, + labels: ['private'], + time: new Date(new Date().getTime() - 2 * 60 * 60 * 1000), + replies: [], + folder: 'trash', + isRead: false + }, + { + id: 24, + from: { + email: 'douldcottj@yellowpages.com', + name: 'Dalila Ouldcott', + avatar: require('@src/assets/images/avatars/1.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@github.io' + } + ], + subject: 'User-friendly value-added application 😊', + cc: [], + bcc: [], + message: + '

    Hey John,

    wellish laminable ineunt popshop catalyte prismatize campimetrical lentisk excluding portlet coccinellid impestation Bangash Lollardist perameloid procerebrum presume cashmerette washbasin nainsook Odontolcae Alea holcodont welted

    cibarious terrifical uploop naphthaleneacetic containable nonsailor Zwinglian blighty benchful guar porch fallectomy building coinvolve eidolism warmth unclericalize seismographic recongeal ethanethial clog regicidal regainment legific

    ', + attachments: [ + { + fileName: 'example.doc', + thumbnail: require('@src/assets/images/icons/doc.png').default, + url: '', + size: '21mb' + } + ], + isStarred: false, + labels: ['personal'], + time: new Date(new Date().getTime() - 1 * 30 * 60 * 1000), + replies: [ + { + id: 25, + from: { + email: 'johndoe@mail.com', + name: 'John Doe', + avatar: require('@src/assets/images/avatars/11.png').default + }, + to: [ + { + name: 'me', + email: 'hettiem@mail.com' + } + ], + subject: '🎯 Focused impactful open system', + cc: [], + bcc: [], + message: + '

    Hello Hettie,

    Marshmallow cookie jelly liquorice. Powder macaroon cake pastry biscuit. Cotton candy cotton candy jelly chocolate bar. Sesame snaps candy gummi bears cake cookie jujubes. Sweet I love sweet roll. Sesame snaps I love marzipan. Jelly powder tootsie roll. Marshmallow pudding cookie fruitcake liquorice powder. I love I love cookie chupa chups fruitcake ice cream I love biscuit I love. Tiramisu apple pie candy canes cookie gummies. Donut toffee bear claw topping jelly-o. Cupcake icing muffin. Cookie brownie wafer pie sweet. Icing sesame snaps halvah toffee marshmallow lemon drops jelly.

    Tiramisu candy canes powder. Powder chocolate bar halvah liquorice cake I love danish. Cake wafer apple pie. Bear claw fruitcake I love marzipan dessert marzipan lollipop. Halvah gingerbread jelly chupa chups tiramisu I love wafer gummi bears. Candy powder caramels candy gummies. Tart tart cupcake brownie. Bear claw gummies toffee. Tiramisu donut cake chocolate bar. Halvah chocolate bar donut jelly-o. Icing candy brownie chocolate. Pastry bear claw halvah gummies chocolate bar chocolate. Apple pie danish wafer I love biscuit.

    Regrads,

    John Doe

    ', + attachments: [], + isStarred: false, + labels: [], + time: 'Mon Dec 10 2018 10:56:00 GMT+0000 (GMT)', + replies: [], + folder: 'inbox', + isRead: false + }, + { + id: 26, + from: { + email: 'hettiem@mail.com', + name: 'Hettie Mcerlean', + avatar: require('@src/assets/images/avatars/3.png').default + }, + to: [ + { + name: 'me', + email: 'johndoe@mail.com' + } + ], + subject: 'Profound systemic alliance 🎉 🎊', + cc: [], + bcc: [], + message: + '

    Oat cake tart danish jelly beans brownie I love. Liquorice I love lollipop chocolate cake carrot cake toffee. Tart muffin candy canes croissant sugar plum lollipop. Macaroon cheesecake marshmallow powder sweet roll bonbon candy apple pie candy canes.

    Regrads,

    Hettie Mcerlean

    ', + attachments: [], + isStarred: false, + labels: [], + time: 'Mon Dec 10 2018 11:25:00 GMT+0000 (GMT)', + replies: [], + folder: 'inbox', + isRead: false + } + ], + folder: 'inbox', + isRead: true + } + ] +} + +// ------------------------------------------------ +// GET: Return Emails +// ------------------------------------------------ +mock.onGet('/apps/email/emails').reply(config => { + const { q = '', folder = 'inbox', label } = config.params + + const queryLowered = q.toLowerCase() + + function isInFolder(email) { + if (folder === 'trash') return email.folder === 'trash' + if (folder === 'starred') return email.isStarred && email.folder !== 'trash' + return email.folder === (folder || email.folder) && email.folder !== 'trash' + } + + const filteredData = data.emails.filter( + email => + /* eslint-disable operator-linebreak, implicit-arrow-linebreak */ + email.subject.toLowerCase().includes(queryLowered) && + isInFolder(email) && + (label ? email.labels.includes(label) : true) + ) + /* eslint-enable */ + + // ------------------------------------------------ + // Email Meta + // ------------------------------------------------ + const emailsMeta = { + inbox: data.emails.filter(email => !email.isDeleted && !email.isRead && email.folder === 'inbox').length, + draft: data.emails.filter(email => email.folder === 'draft').length, + spam: data.emails.filter(email => !email.isDeleted && !email.isRead && email.folder === 'spam').length + } + + return [ + 200, + { + emails: filteredData.reverse(), + emailsMeta + } + ] +}) + +// ------------------------------------------------ +// POST: Update Email +// ------------------------------------------------ +mock.onPost('/apps/email/update-emails').reply(config => { + const { emailIds, dataToUpdate } = JSON.parse(config.data) + function updateMailData(email) { + Object.assign(email, dataToUpdate) + } + + data.emails.forEach(email => { + if (emailIds.includes(email.id)) updateMailData(email) + }) + + return [200] +}) + +// ------------------------------------------------ +// POST: Update Emails Label +// ------------------------------------------------ +mock.onPost('/apps/email/update-emails-label').reply(config => { + const { emailIds, label } = JSON.parse(config.data) + + function updateMailLabels(email) { + const labelIndex = email.labels.indexOf(label) + + if (labelIndex === -1) email.labels.push(label) + else email.labels.splice(labelIndex, 1) + } + + data.emails.forEach(email => { + if (emailIds.includes(email.id)) updateMailLabels(email) + }) + + return [200] +}) + +// ------------------------------------------------ +// GET: GET Single Email +// ------------------------------------------------ +mock.onGet('/apps/email/get-email').reply(config => { + const { id } = config + + const emailId = Number(id) + + const mail = data.emails.find(i => i.id === emailId) + const mailIndex = data.emails.findIndex(i => i.id === mail.id) + mailIndex === 0 ? (mail.hasPreviousMail = true) : (mail.hasPreviousMail = false) + mailIndex === data.emails.length - 1 ? (mail.hasNextMail = true) : (mail.hasNextMail = false) + + return mail ? [200, mail] : [404] +}) + +// ------------------------------------------------ +// GET: Paginate Existing Email +// ------------------------------------------------ +mock.onGet('/apps/email/paginate-email').reply(config => { + const { dir, emailId } = config.params + + const currentEmailIndex = data.emails.findIndex(e => e.id === emailId) + + const newEmailIndex = dir === 'previous' ? currentEmailIndex - 1 : currentEmailIndex + 1 + + const newEmail = data.emails[newEmailIndex] + + return newEmail ? [200, newEmail] : [404] +}) +/* eslint-enable */ diff --git a/src/@fake-db/apps/invoice.js b/src/@fake-db/apps/invoice.js new file mode 100644 index 0000000..5e0b2ec --- /dev/null +++ b/src/@fake-db/apps/invoice.js @@ -0,0 +1,983 @@ +import mock from '../mock' +import { paginateArray, sortCompare } from '../utils' + +const data = { + invoices: [ + { + id: 4987, + issuedDate: '13 Dec 2019', + client: { + address: '7777 Mendez Plains', + company: 'Hall-Robbins PLC', + companyEmail: 'don85@johnson.com', + country: 'USA', + contact: '(616) 865-4180', + name: 'Jordan Stevenson' + }, + service: 'Software Development', + total: 3428, + avatar: '', + invoiceStatus: 'Paid', + balance: '$724', + dueDate: '23 Apr 2019' + }, + { + id: 4988, + issuedDate: '17 Jul 2019', + client: { + address: '04033 Wesley Wall Apt. 961', + company: 'Mccann LLC and Sons', + companyEmail: 'brenda49@taylor.info', + country: 'Haiti', + contact: '(226) 204-8287', + name: 'Stephanie Burns' + }, + service: 'UI/UX Design & Development', + total: 5219, + avatar: require('@src/assets/images/avatars/10-small.png').default, + invoiceStatus: 'Downloaded', + balance: 0, + dueDate: '15 Dec 2019' + }, + { + id: 4989, + issuedDate: '19 Oct 2019', + client: { + address: '5345 Robert Squares', + company: 'Leonard-Garcia and Sons', + companyEmail: 'smithtiffany@powers.com', + country: 'Denmark', + contact: '(955) 676-1076', + name: 'Tony Herrera' + }, + service: 'Unlimited Extended License', + total: 3719, + avatar: require('@src/assets/images/avatars/1-small.png').default, + invoiceStatus: 'Paid', + balance: 0, + dueDate: '03 Nov 2019' + }, + { + id: 4990, + issuedDate: '06 Mar 2020', + client: { + address: '19022 Clark Parks Suite 149', + company: 'Smith, Miller and Henry LLC', + companyEmail: 'mejiageorge@lee-perez.com', + country: 'Cambodia', + contact: '(832) 323-6914', + name: 'Kevin Patton' + }, + service: 'Software Development', + total: 4749, + avatar: require('@src/assets/images/avatars/9-small.png').default, + invoiceStatus: 'Sent', + balance: 0, + dueDate: '11 Feb 2020' + }, + { + id: 4991, + issuedDate: '08 Feb 2020', + client: { + address: '8534 Saunders Hill Apt. 583', + company: 'Garcia-Cameron and Sons', + companyEmail: 'brandon07@pierce.com', + country: 'Martinique', + contact: '(970) 982-3353', + name: 'Mrs. Julie Donovan MD' + }, + service: 'UI/UX Design & Development', + total: 4056, + avatar: require('@src/assets/images/avatars/10-small.png').default, + invoiceStatus: 'Draft', + balance: '$815', + dueDate: '30 Jun 2019' + }, + { + id: 4992, + issuedDate: '26 Aug 2019', + client: { + address: '661 Perez Run Apt. 778', + company: 'Burnett-Young PLC', + companyEmail: 'guerrerobrandy@beasley-harper.com', + country: 'Botswana', + contact: '(511) 938-9617', + name: 'Amanda Phillips' + }, + service: 'UI/UX Design & Development', + total: 2771, + avatar: '', + invoiceStatus: 'Paid', + balance: 0, + dueDate: '24 Jun 2019' + }, + { + id: 4993, + issuedDate: '17 Sep 2019', + client: { + address: '074 Long Union', + company: 'Wilson-Lee LLC', + companyEmail: 'williamshenry@moon-smith.com', + country: 'Montserrat', + contact: '(504) 859-2893', + name: 'Christina Collier' + }, + service: 'UI/UX Design & Development', + total: 2713, + avatar: '', + invoiceStatus: 'Draft', + balance: '$407', + dueDate: '22 Nov 2019' + }, + { + id: 4994, + issuedDate: '11 Feb 2020', + client: { + address: '5225 Ford Cape Apt. 840', + company: 'Schwartz, Henry and Rhodes Group', + companyEmail: 'margaretharvey@russell-murray.com', + country: 'Oman', + contact: '(758) 403-7718', + name: 'David Flores' + }, + service: 'Template Customization', + total: 4309, + avatar: require('@src/assets/images/avatars/9-small.png').default, + invoiceStatus: 'Paid', + balance: '-$205', + dueDate: '10 Feb 2020' + }, + { + id: 4995, + issuedDate: '26 Jan 2020', + client: { + address: '23717 James Club Suite 277', + company: 'Henderson-Holder PLC', + companyEmail: 'dianarodriguez@villegas.com', + country: 'Cambodia', + contact: '(292) 873-8254', + name: 'Valerie Perez' + }, + service: 'Software Development', + total: 3367, + avatar: require('@src/assets/images/avatars/2-small.png').default, + invoiceStatus: 'Downloaded', + balance: 0, + dueDate: '24 Dec 2019' + }, + { + id: 4996, + issuedDate: '15 Jan 2020', + client: { + address: '4528 Myers Gateway', + company: 'Page-Wise PLC', + companyEmail: 'bwilson@norris-brock.com', + country: 'Guam', + contact: '(956) 803-2008', + name: 'Susan Dickerson' + }, + service: 'Software Development', + total: 4776, + avatar: require('@src/assets/images/avatars/9-small.png').default, + invoiceStatus: 'Downloaded', + balance: '$305', + dueDate: '02 Jun 2019' + }, + { + id: 4997, + issuedDate: '27 Sep 2019', + client: { + address: '4234 Mills Club Suite 107', + company: 'Turner PLC Inc', + companyEmail: 'markcampbell@bell.info', + country: 'United States Virgin Islands', + contact: '(716) 962-8635', + name: 'Kelly Smith' + }, + service: 'Unlimited Extended License', + total: 3789, + avatar: require('@src/assets/images/avatars/4-small.png').default, + invoiceStatus: 'Partial Payment', + balance: '$666', + dueDate: '18 Mar 2020' + }, + { + id: 4998, + issuedDate: '31 Jul 2019', + client: { + address: '476 Keith Meadow', + company: 'Levine-Dorsey PLC', + companyEmail: 'mary61@rosario.com', + country: 'Syrian Arab Republic', + contact: '(523) 449-0782', + name: 'Jamie Jones' + }, + service: 'Unlimited Extended License', + total: 5200, + avatar: require('@src/assets/images/avatars/5-small.png').default, + invoiceStatus: 'Partial Payment', + balance: 0, + dueDate: '17 Jan 2020' + }, + { + id: 4999, + issuedDate: '14 Feb 2020', + client: { + address: '56381 Ashley Village Apt. 332', + company: 'Hall, Thompson and Ramirez LLC', + companyEmail: 'sean22@cook.com', + country: 'Ukraine', + contact: '(583) 470-8356', + name: 'Ruben Garcia' + }, + service: 'Software Development', + total: 4558, + avatar: require('@src/assets/images/avatars/7-small.png').default, + invoiceStatus: 'Paid', + balance: 0, + dueDate: '01 Oct 2019' + }, + { + id: 5000, + issuedDate: '21 May 2019', + client: { + address: '6946 Gregory Plaza Apt. 310', + company: 'Lambert-Thomas Group', + companyEmail: 'mccoymatthew@lopez-jenkins.net', + country: 'Vanuatu', + contact: '(366) 906-6467', + name: 'Ryan Meyer' + }, + service: 'Template Customization', + total: 3503, + avatar: require('@src/assets/images/avatars/9-small.png').default, + invoiceStatus: 'Paid', + balance: 0, + dueDate: '22 May 2019' + }, + { + id: 5001, + issuedDate: '30 Jun 2019', + client: { + address: '64351 Andrew Lights', + company: 'Gregory-Haynes PLC', + companyEmail: 'novakshannon@mccarty-murillo.com', + country: 'Romania', + contact: '(320) 616-3915', + name: 'Valerie Valdez' + }, + service: 'Unlimited Extended License', + total: 5285, + avatar: require('@src/assets/images/avatars/2-small.png').default, + invoiceStatus: 'Partial Payment', + balance: '-$202', + dueDate: '02 Aug 2019' + }, + { + id: 5002, + issuedDate: '21 Jun 2019', + client: { + address: '5702 Sarah Heights', + company: 'Wright-Schmidt LLC', + companyEmail: 'smithrachel@davis-rose.net', + country: 'Costa Rica', + contact: '(435) 899-1963', + name: 'Melissa Wheeler' + }, + service: 'UI/UX Design & Development', + total: 3668, + avatar: require('@src/assets/images/avatars/6-small.png').default, + invoiceStatus: 'Downloaded', + balance: '$731', + dueDate: '15 Dec 2019' + }, + { + id: 5003, + issuedDate: '30 Dec 2019', + client: { + address: '668 Robert Flats', + company: 'Russell-Abbott Ltd', + companyEmail: 'scott96@mejia.net', + country: 'Congo', + contact: '(254) 399-4728', + name: 'Alan Jimenez' + }, + service: 'Unlimited Extended License', + total: 4372, + avatar: '', + invoiceStatus: 'Sent', + balance: '-$344', + dueDate: '17 Sep 2019' + }, + { + id: 5004, + issuedDate: '27 May 2019', + client: { + address: '55642 Chang Extensions Suite 373', + company: 'Williams LLC Inc', + companyEmail: 'cramirez@ross-bass.biz', + country: 'Saint Pierre and Miquelon', + contact: '(648) 500-4338', + name: 'Jennifer Morris' + }, + service: 'Template Customization', + total: 3198, + avatar: require('@src/assets/images/avatars/7-small.png').default, + invoiceStatus: 'Partial Payment', + balance: '-$253', + dueDate: '16 Aug 2019' + }, + { + id: 5005, + issuedDate: '30 Jul 2019', + client: { + address: '56694 Eric Orchard', + company: 'Hudson, Bell and Phillips PLC', + companyEmail: 'arielberg@wolfe-smith.com', + country: 'Uruguay', + contact: '(896) 544-3796', + name: 'Timothy Stevenson' + }, + service: 'Unlimited Extended License', + total: 5293, + avatar: '', + invoiceStatus: 'Past Due', + balance: 0, + dueDate: '01 Aug 2019' + }, + { + id: 5006, + issuedDate: '10 Jun 2019', + client: { + address: '3727 Emma Island Suite 879', + company: 'Berry, Gonzalez and Heath Inc', + companyEmail: 'yrobinson@nichols.com', + country: 'Israel', + contact: '(236) 784-5142', + name: 'Erik Hayden' + }, + service: 'Template Customization', + total: 5612, + avatar: require('@src/assets/images/avatars/6-small.png').default, + invoiceStatus: 'Downloaded', + balance: '$883', + dueDate: '12 Apr 2019' + }, + { + id: 5007, + issuedDate: '01 Feb 2020', + client: { + address: '953 Miller Common Suite 580', + company: 'Martinez, Fuller and Chavez and Sons', + companyEmail: 'tatejennifer@allen.net', + country: 'Cook Islands', + contact: '(436) 717-2419', + name: 'Katherine Kennedy' + }, + service: 'Software Development', + total: 2230, + avatar: require('@src/assets/images/avatars/1-small.png').default, + invoiceStatus: 'Sent', + balance: 0, + dueDate: '19 Nov 2019' + }, + { + id: 5008, + issuedDate: '22 Mar 2020', + client: { + address: '808 Sullivan Street Apt. 135', + company: 'Wilson and Sons LLC', + companyEmail: 'gdurham@lee.com', + country: 'Nepal', + contact: '(489) 946-3041', + name: 'Monica Fuller' + }, + service: 'Unlimited Extended License', + total: 2032, + avatar: require('@src/assets/images/avatars/8-small.png').default, + invoiceStatus: 'Partial Payment', + balance: 0, + dueDate: '30 Nov 2019' + }, + { + id: 5009, + issuedDate: '30 Nov 2019', + client: { + address: '25135 Christopher Creek', + company: 'Hawkins, Johnston and Mcguire PLC', + companyEmail: 'jenny96@lawrence-thompson.com', + country: 'Kiribati', + contact: '(274) 246-3725', + name: 'Stacey Carter' + }, + service: 'UI/UX Design & Development', + total: 3128, + avatar: require('@src/assets/images/avatars/3-small.png').default, + invoiceStatus: 'Paid', + balance: 0, + dueDate: '10 Sep 2019' + }, + { + id: 5010, + issuedDate: '06 Jan 2020', + client: { + address: '81285 Rebecca Estates Suite 046', + company: 'Huynh-Mills and Sons', + companyEmail: 'jgutierrez@jackson.com', + country: 'Swaziland', + contact: '(258) 211-5970', + name: 'Chad Davis' + }, + service: 'Software Development', + total: 2060, + avatar: require('@src/assets/images/avatars/2-small.png').default, + invoiceStatus: 'Downloaded', + balance: 0, + dueDate: '08 Dec 2019' + }, + { + id: 5011, + issuedDate: '01 Jun 2019', + client: { + address: '3102 Briggs Dale Suite 118', + company: 'Jones-Cooley and Sons', + companyEmail: 'hunter14@jones.com', + country: 'Congo', + contact: '(593) 965-4100', + name: 'Chris Reyes' + }, + service: 'UI/UX Design & Development', + total: 4077, + avatar: '', + invoiceStatus: 'Draft', + balance: 0, + dueDate: '01 Feb 2020' + }, + { + id: 5012, + issuedDate: '30 Oct 2019', + client: { + address: '811 Jill Skyway', + company: 'Jones PLC Ltd', + companyEmail: 'pricetodd@johnson-jenkins.com', + country: 'Brazil', + contact: '(585) 829-2603', + name: 'Laurie Summers' + }, + service: 'Template Customization', + total: 2872, + avatar: require('@src/assets/images/avatars/4-small.png').default, + invoiceStatus: 'Partial Payment', + balance: 0, + dueDate: '18 Oct 2019' + }, + { + id: 5013, + issuedDate: '05 Feb 2020', + client: { + address: '2223 Brandon Inlet Suite 597', + company: 'Jordan, Gomez and Ross Group', + companyEmail: 'perrydavid@chapman-rogers.com', + country: 'Congo', + contact: '(527) 351-5517', + name: 'Lindsay Wilson' + }, + service: 'Software Development', + total: 3740, + avatar: require('@src/assets/images/avatars/10-small.png').default, + invoiceStatus: 'Draft', + balance: 0, + dueDate: '01 Nov 2019' + }, + { + id: 5014, + issuedDate: '01 Dec 2019', + client: { + address: '08724 Barry Causeway', + company: 'Gonzalez, Moody and Glover LLC', + companyEmail: 'leahgriffin@carpenter.com', + country: 'Equatorial Guinea', + contact: '(628) 903-0132', + name: 'Jenna Castro' + }, + service: 'Unlimited Extended License', + total: 3623, + avatar: '', + invoiceStatus: 'Downloaded', + balance: 0, + dueDate: '23 Sep 2019' + }, + { + id: 5015, + issuedDate: '16 Apr 2019', + client: { + address: '073 Holt Ramp Apt. 755', + company: 'Ashley-Pacheco Ltd', + companyEmail: 'esparzadaniel@allen.com', + country: 'Seychelles', + contact: '(847) 396-9904', + name: 'Wendy Weber' + }, + service: 'Software Development', + total: 2477, + avatar: require('@src/assets/images/avatars/7-small.png').default, + invoiceStatus: 'Draft', + balance: 0, + dueDate: '01 Apr 2019' + }, + { + id: 5016, + issuedDate: '24 Jan 2020', + client: { + address: '984 Sherry Trail Apt. 953', + company: 'Berry PLC Group', + companyEmail: 'todd34@owens-morgan.com', + country: 'Ireland', + contact: '(852) 249-4539', + name: 'April Yates' + }, + service: 'Unlimited Extended License', + total: 3904, + avatar: '', + invoiceStatus: 'Paid', + balance: '$951', + dueDate: '30 Sep 2019' + }, + { + id: 5017, + issuedDate: '24 Feb 2020', + client: { + address: '093 Jonathan Camp Suite 953', + company: 'Allen Group Ltd', + companyEmail: 'roydavid@bailey.com', + country: 'Netherlands', + contact: '(917) 984-2232', + name: 'Daniel Marshall PhD' + }, + service: 'UI/UX Design & Development', + total: 3102, + avatar: require('@src/assets/images/avatars/1-small.png').default, + invoiceStatus: 'Partial Payment', + balance: '-$153', + dueDate: '25 Aug 2019' + }, + { + id: 5018, + issuedDate: '29 Feb 2020', + client: { + address: '4735 Kristie Islands Apt. 259', + company: 'Chapman-Schneider LLC', + companyEmail: 'baldwinjoel@washington.com', + country: 'Cocos (Keeling) Islands', + contact: '(670) 409-3703', + name: 'Randy Rich' + }, + service: 'UI/UX Design & Development', + total: 2483, + avatar: require('@src/assets/images/avatars/5-small.png').default, + invoiceStatus: 'Draft', + balance: 0, + dueDate: '10 Jul 2019' + }, + { + id: 5019, + issuedDate: '07 Aug 2019', + client: { + address: '92218 Andrew Radial', + company: 'Mcclure, Hernandez and Simon Ltd', + companyEmail: 'psmith@morris.info', + country: 'Macao', + contact: '(646) 263-0257', + name: 'Mrs. Jodi Chapman' + }, + service: 'Unlimited Extended License', + total: 2825, + avatar: require('@src/assets/images/avatars/8-small.png').default, + invoiceStatus: 'Partial Payment', + balance: '-$459', + dueDate: '14 Oct 2019' + }, + { + id: 5020, + issuedDate: '10 May 2019', + client: { + address: '2342 Michelle Valley', + company: 'Hamilton PLC and Sons', + companyEmail: 'lori06@morse.com', + country: 'Somalia', + contact: '(751) 213-4288', + name: 'Steven Myers' + }, + service: 'Unlimited Extended License', + total: 2029, + avatar: require('@src/assets/images/avatars/4-small.png').default, + invoiceStatus: 'Past Due', + balance: 0, + dueDate: '28 Mar 2019' + }, + { + id: 5021, + issuedDate: '02 Apr 2019', + client: { + address: '16039 Brittany Terrace Apt. 128', + company: 'Silva-Reeves LLC', + companyEmail: 'zpearson@miller.com', + country: 'Slovakia (Slovak Republic)', + contact: '(655) 649-7872', + name: 'Charles Alexander' + }, + service: 'Software Development', + total: 3208, + avatar: '', + invoiceStatus: 'Sent', + balance: 0, + dueDate: '06 Sep 2019' + }, + { + id: 5022, + issuedDate: '02 May 2019', + client: { + address: '37856 Olsen Lakes Apt. 852', + company: 'Solis LLC Ltd', + companyEmail: 'strongpenny@young.net', + country: 'Brazil', + contact: '(402) 935-0735', + name: 'Elizabeth Jones' + }, + service: 'Software Development', + total: 3077, + avatar: '', + invoiceStatus: 'Sent', + balance: 0, + dueDate: '09 May 2019' + }, + { + id: 5023, + issuedDate: '23 Mar 2020', + client: { + address: '11489 Griffin Plaza Apt. 927', + company: 'Munoz-Peters and Sons', + companyEmail: 'carrietorres@acosta.com', + country: 'Argentina', + contact: '(915) 448-6271', + name: 'Heidi Walton' + }, + service: 'Software Development', + total: 5578, + avatar: require('@src/assets/images/avatars/9-small.png').default, + invoiceStatus: 'Draft', + balance: 0, + dueDate: '23 Jul 2019' + }, + { + id: 5024, + issuedDate: '28 Sep 2019', + client: { + address: '276 Michael Gardens Apt. 004', + company: 'Shea, Velez and Garcia LLC', + companyEmail: 'zjohnson@nichols-powers.com', + country: 'Philippines', + contact: '(817) 700-2984', + name: 'Christopher Allen' + }, + service: 'Software Development', + total: 2787, + avatar: require('@src/assets/images/avatars/1-small.png').default, + invoiceStatus: 'Partial Payment', + balance: 0, + dueDate: '25 Sep 2019' + }, + { + id: 5025, + issuedDate: '21 Feb 2020', + client: { + address: '633 Bell Well Apt. 057', + company: 'Adams, Simmons and Brown Group', + companyEmail: 'kayla09@thomas.com', + country: 'Martinique', + contact: '(266) 611-9482', + name: 'Joseph Oliver' + }, + service: 'UI/UX Design & Development', + total: 5591, + avatar: '', + invoiceStatus: 'Downloaded', + balance: 0, + dueDate: '07 Jun 2019' + }, + { + id: 5026, + issuedDate: '24 May 2019', + client: { + address: '1068 Lopez Fall', + company: 'Williams-Lawrence and Sons', + companyEmail: 'melvindavis@allen.info', + country: 'Mexico', + contact: '(739) 745-9728', + name: 'Megan Roberts' + }, + service: 'Template Customization', + total: 2783, + avatar: require('@src/assets/images/avatars/6-small.png').default, + invoiceStatus: 'Draft', + balance: 0, + dueDate: '22 Oct 2019' + }, + { + id: 5027, + issuedDate: '13 Jan 2020', + client: { + address: '86691 Mackenzie Light Suite 568', + company: 'Deleon Inc LLC', + companyEmail: 'gjordan@fernandez-coleman.com', + country: 'Costa Rica', + contact: '(682) 804-6506', + name: 'Mary Garcia' + }, + service: 'Template Customization', + total: 2719, + avatar: '', + invoiceStatus: 'Sent', + balance: 0, + dueDate: '04 Feb 2020' + }, + { + id: 5028, + issuedDate: '18 May 2019', + client: { + address: '86580 Sarah Bridge', + company: 'Farmer, Johnson and Anderson Group', + companyEmail: 'robertscott@garcia.com', + country: 'Cameroon', + contact: '(775) 366-0411', + name: 'Crystal Mays' + }, + service: 'Template Customization', + total: 3325, + avatar: '', + invoiceStatus: 'Paid', + balance: '$361', + dueDate: '02 Mar 2020' + }, + { + id: 5029, + issuedDate: '29 Oct 2019', + client: { + address: '49709 Edwin Ports Apt. 353', + company: 'Sherman-Johnson PLC', + companyEmail: 'desiree61@kelly.com', + country: 'Macedonia', + contact: '(510) 536-6029', + name: 'Nicholas Tanner' + }, + service: 'Template Customization', + total: 3851, + avatar: '', + invoiceStatus: 'Paid', + balance: 0, + dueDate: '25 Aug 2019' + }, + { + id: 5030, + issuedDate: '07 Apr 2019', + client: { + address: '3856 Mathis Squares Apt. 584', + company: 'Byrd LLC PLC', + companyEmail: 'jeffrey25@martinez-hodge.com', + country: 'Congo', + contact: '(253) 230-4657', + name: 'Mr. Justin Richardson' + }, + service: 'Template Customization', + total: 5565, + avatar: '', + invoiceStatus: 'Draft', + balance: 0, + dueDate: '06 Mar 2020' + }, + { + id: 5031, + issuedDate: '21 Aug 2019', + client: { + address: '141 Adrian Ridge Suite 550', + company: 'Stone-Zimmerman Group', + companyEmail: 'john77@anderson.net', + country: 'Falkland Islands (Malvinas)', + contact: '(612) 546-3485', + name: 'Jennifer Summers' + }, + service: 'Template Customization', + total: 3313, + avatar: require('@src/assets/images/avatars/3-small.png').default, + invoiceStatus: 'Partial Payment', + balance: 0, + dueDate: '09 Jun 2019' + }, + { + id: 5032, + issuedDate: '31 May 2019', + client: { + address: '01871 Kristy Square', + company: 'Yang, Hansen and Hart PLC', + companyEmail: 'ywagner@jones.com', + country: 'Germany', + contact: '(203) 601-8603', + name: 'Richard Payne' + }, + service: 'Template Customization', + total: 5181, + avatar: '', + invoiceStatus: 'Past Due', + balance: 0, + dueDate: '22 Oct 2019' + }, + { + id: 5033, + issuedDate: '12 Jul 2019', + client: { + address: '075 Smith Views', + company: 'Jenkins-Rosales Inc', + companyEmail: 'calvin07@joseph-edwards.org', + country: 'Colombia', + contact: '(895) 401-4255', + name: 'Lori Wells' + }, + service: 'Template Customization', + total: 2869, + avatar: require('@src/assets/images/avatars/1-small.png').default, + invoiceStatus: 'Partial Payment', + balance: 0, + dueDate: '22 Mar 2020' + }, + { + id: 5034, + issuedDate: '10 Jul 2019', + client: { + address: '2577 Pearson Overpass Apt. 314', + company: 'Mason-Reed PLC', + companyEmail: 'eric47@george-castillo.com', + country: 'Paraguay', + contact: '(602) 336-9806', + name: 'Tammy Sanchez' + }, + service: 'Unlimited Extended License', + total: 4836, + avatar: '', + invoiceStatus: 'Paid', + balance: 0, + dueDate: '22 Oct 2019' + }, + { + id: 5035, + issuedDate: '20 Jul 2019', + client: { + address: '1770 Sandra Mountains Suite 636', + company: 'Foster-Pham PLC', + companyEmail: 'jamesjoel@chapman.net', + country: 'Western Sahara', + contact: '(936) 550-1638', + name: 'Dana Carey' + }, + service: 'UI/UX Design & Development', + total: 4263, + avatar: '', + invoiceStatus: 'Draft', + balance: '$762', + dueDate: '12 Jun 2019' + }, + { + id: 5036, + issuedDate: '19 Apr 2019', + client: { + address: '78083 Laura Pines', + company: 'Richardson and Sons LLC', + companyEmail: 'pwillis@cross.org', + country: 'Bhutan', + contact: '(687) 660-2473', + name: 'Andrew Burns' + }, + service: 'Unlimited Extended License', + total: 3171, + avatar: require('@src/assets/images/avatars/9-small.png').default, + invoiceStatus: 'Paid', + balance: '-$205', + dueDate: '25 Sep 2019' + } + ] +} + +// ------------------------------------------------ +// GET: Return Invoice List +// ------------------------------------------------ +mock.onGet('/apps/invoice/invoices').reply(config => { + // eslint-disable-next-line object-curly-newline + const { q = '', perPage = 10, page = 1, status = null } = config + /* eslint-enable */ + + const queryLowered = q.toLowerCase() + const filteredData = data.invoices + .filter( + invoice => + /* eslint-disable operator-linebreak, implicit-arrow-linebreak */ + (invoice.client.companyEmail.toLowerCase().includes(queryLowered) || + invoice.client.name.toLowerCase().includes(queryLowered)) && + invoice.invoiceStatus.toLowerCase() === (status.toLowerCase() || invoice.invoiceStatus.toLowerCase()) + ) + .sort(sortCompare('id')) + .reverse() + /* eslint-enable */ + + return [ + 200, + { + allData: data.invoices, + invoices: paginateArray(filteredData, perPage, page), + total: filteredData.length + } + ] +}) + +// ------------------------------------------------ +// GET: Return Single Invoice +// ------------------------------------------------ +mock.onGet(/\/api\/invoice\/invoices\/\d+/).reply(config => { + // // Get event id from URL + const invoiceId = Number(config.url.substring(config.url.lastIndexOf('/') + 1)) + + const invoiceIndex = data.invoices.findIndex(e => e.id === invoiceId) + const responseData = { + invoice: data.invoices[invoiceIndex], + paymentDetails: { + totalDue: '$12,110.55', + bankName: 'American Bank', + country: 'United States', + iban: 'ETD95476213874685', + swiftCode: 'BR91905' + } + } + return [200, responseData] +}) + +// ------------------------------------------------ +// DELETE: Deletes Invoice +// ------------------------------------------------ +mock.onDelete('/apps/invoice/delete').reply(config => { + // Get invoice id from URL + let invoiceId = config.id + + // Convert Id to number + invoiceId = Number(invoiceId) + + const invoiceIndex = data.invoices.findIndex(t => t.id === invoiceId) + data.invoices.splice(invoiceIndex, 1) + + return [200] +}) + +// ------------------------------------------------ +// GET: Return Clients +// ------------------------------------------------ +mock.onGet('/api/invoice/clients').reply(() => { + const clients = data.invoices.map(invoice => invoice.client) + return [200, clients.slice(0, 5)] +}) diff --git a/src/@fake-db/apps/todo.js b/src/@fake-db/apps/todo.js new file mode 100644 index 0000000..3014c03 --- /dev/null +++ b/src/@fake-db/apps/todo.js @@ -0,0 +1,417 @@ +import mock from '../mock' + +const data = { + tasks: [ + { + id: 1, + title: 'Entire change break our wife wide it daughter mention member.', + dueDate: '2020-11-25', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Jacob Ramirez', + avatar: require('@src/assets/images/avatars/12.png').default + }, + tags: ['update'], + isCompleted: false, + isDeleted: false, + isImportant: false + }, + { + id: 2, + title: 'Citizen stand administration step agency century.', + dueDate: '2020-12-14', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Andrew Anderson', + avatar: '' + }, + tags: ['team', 'medium'], + isCompleted: true, + isDeleted: false, + isImportant: false + }, + { + id: 3, + title: 'Meet Jane and ask for coffee ❤️', + dueDate: '2020-11-25', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Benjamin Jacobs', + avatar: '' + }, + tags: ['high'], + isCompleted: false, + isDeleted: false, + isImportant: false + }, + { + id: 4, + title: 'Answer the support tickets and close completed tickets. ', + dueDate: '2020-11-20', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Curtis Schmidt', + avatar: require('@src/assets/images/avatars/9.png').default + }, + tags: ['medium'], + isCompleted: false, + isDeleted: false, + isImportant: true + }, + { + id: 5, + title: 'Test functionality of apps developed by dev team for enhancements. ', + dueDate: '2020-12-06', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Katherine Perkins', + avatar: require('@src/assets/images/avatars/9.png').default + }, + tags: ['medium'], + isCompleted: true, + isDeleted: false, + isImportant: true + }, + { + id: 6, + title: 'Conduct a mini awareness meeting regarding health care. ', + dueDate: '2020-12-06', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'David Murphy', + avatar: '' + }, + tags: ['high', 'medium'], + isCompleted: true, + isDeleted: true, + isImportant: false + }, + { + id: 7, + title: 'Plan new dashboard design with design team for Google app store. ', + dueDate: '2020-12-05', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Karina Miller', + avatar: require('@src/assets/images/avatars/1.png').default + }, + tags: ['medium'], + isCompleted: false, + isDeleted: false, + isImportant: true + }, + { + id: 8, + title: 'Pick up Nats from her school and drop at dance class😁 ', + dueDate: '2020-12-08', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Thomas Moses', + avatar: require('@src/assets/images/avatars/7.png').default + }, + tags: ['low', 'medium'], + isCompleted: false, + isDeleted: false, + isImportant: false + }, + { + id: 9, + title: 'Finish documentation and make it live', + dueDate: '2020-11-25', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Angel Morrow', + avatar: '' + }, + tags: ['high', 'update'], + isCompleted: false, + isDeleted: true, + isImportant: false + }, + { + id: 10, + title: 'List out all the SEO resources and send it to new SEO team. ', + dueDate: '2020-12-09', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Karen Carrillo', + avatar: '' + }, + tags: ['low'], + isCompleted: true, + isDeleted: false, + isImportant: false + }, + { + id: 11, + title: 'Refactor Code and fix the bugs and test it on server ', + dueDate: '2020-12-01', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Timothy Brewer', + avatar: require('@src/assets/images/avatars/1.png').default + }, + tags: ['low'], + isCompleted: true, + isDeleted: false, + isImportant: true + }, + { + id: 12, + title: 'Reminder to mail clients for holidays', + dueDate: '2020-12-09', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Brian Barry', + avatar: '' + }, + tags: ['team'], + isCompleted: false, + isDeleted: false, + isImportant: false + }, + { + id: 13, + title: "Submit quotation for Abid's ecommerce website and admin project", + dueDate: '2020-12-01', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Joshua Golden', + avatar: require('@src/assets/images/avatars/5.png').default + }, + tags: ['team'], + isCompleted: false, + isDeleted: false, + isImportant: false + }, + { + id: 14, + title: 'Send PPT with real-time reports', + dueDate: '2020-11-29', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Paula Hammond', + avatar: require('@src/assets/images/avatars/5.png').default + }, + tags: ['medium'], + isCompleted: true, + isDeleted: false, + isImportant: true + }, + { + id: 15, + title: 'Skype Tommy for project status & report', + dueDate: '2020-11-29', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Tyler Garcia', + avatar: '' + }, + tags: ['medium'], + isCompleted: false, + isDeleted: false, + isImportant: false + }, + { + id: 16, + title: 'Hire 5 new Fresher or Experienced, frontend and backend developers ', + dueDate: '2020-12-12', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Darlene Shields', + avatar: require('@src/assets/images/avatars/1.png').default + }, + tags: ['low'], + isCompleted: true, + isDeleted: false, + isImportant: false + }, + { + id: 17, + title: 'Plan a party for development team 🎁', + dueDate: '2020-12-04', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Destiny Michael', + avatar: '' + }, + tags: ['medium', 'low'], + isCompleted: false, + isDeleted: false, + isImportant: false + }, + { + id: 18, + title: 'Fix Responsiveness for new structure 💻', + dueDate: '2020-11-18', + description: + 'Chocolate cake topping bonbon jujubes donut sweet wafer. Marzipan gingerbread powder brownie bear claw. Chocolate bonbon sesame snaps jelly caramels oat cake.', + assignee: { + fullName: 'Danielle Anderson', + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default + }, + tags: ['low'], + isCompleted: false, + isDeleted: false, + isImportant: true + } + ] +} + +// ------------------------------------------------ +// GET: Return Tasks +// ------------------------------------------------ +mock.onGet('/apps/todo/tasks').reply(config => { + // eslint-disable-next-line object-curly-newline + const { q = '', filter, tag, sortBy: sortByParam = 'latest' } = config.params + /* eslint-enable */ + // ------------------------------------------------ + // Get Sort by and Sort Direction + // ------------------------------------------------ + let sortDesc = true + + const sortBy = (() => { + if (sortByParam === 'title-asc') { + sortDesc = false + return 'title' + } + if (sortByParam === 'title-desc') return 'title' + if (sortByParam === 'assignee') { + sortDesc = false + return 'assignee' + } + if (sortByParam === 'due-date') { + sortDesc = false + return 'dueDate' + } + return 'id' + })() + + // ------------------------------------------------ + // Filtering + // ------------------------------------------------ + const queryLowered = q.toLowerCase() + + const hasFilter = task => { + if (filter === 'important') return task.isImportant && !task.isDeleted + if (filter === 'completed') return task.isCompleted && !task.isDeleted + if (filter === 'deleted') return task.isDeleted + return !task.isDeleted + } + /* eslint-disable */ + const filteredData = data.tasks.filter(task => { + return task.title.toLowerCase().includes(queryLowered) && hasFilter(task) && (tag ? task.tags.includes(tag) : true) + }) + /* eslint-enable */ + + // ------------------------------------------------ + // Perform sorting + // ------------------------------------------------ + const sortTasks = key => (a, b) => { + let fieldA + let fieldB + + // If sorting is by dueDate => Convert data to date + if (key === 'dueDate') { + fieldA = new Date(a[key]) + fieldB = new Date(b[key]) + // eslint-disable-next-line brace-style + } + + // If sorting is by assignee => Use `fullName` of assignee + else if (key === 'assignee') { + fieldA = a.assignee ? a.assignee.fullName : null + fieldB = b.assignee ? b.assignee.fullName : null + } else { + fieldA = a[key] + fieldB = b[key] + } + + let comparison = 0 + + if (fieldA === fieldB) { + comparison = 0 + } else if (fieldA === null) { + comparison = 1 + } else if (fieldB === null) { + comparison = -1 + } else if (fieldA > fieldB) { + comparison = 1 + } else if (fieldA < fieldB) { + comparison = -1 + } + + return comparison + } + + // Sort Data + const sortedData = filteredData.sort(sortTasks(sortBy)) + if (sortDesc) sortedData.reverse() + return [200, sortedData] +}) + +// ------------------------------------------------ +// POST: Add new task +// ------------------------------------------------ +mock.onPost('/apps/todo/add-tasks').reply(config => { + // Get event from post data + const { task } = JSON.parse(config.data) + + const { length } = data.tasks + let lastIndex = 0 + if (length) { + lastIndex = data.tasks[length - 1].id + } + task.id = lastIndex + 1 + + data.tasks.push(task) + + return [201, { task }] +}) + +// ------------------------------------------------ +// POST: Update Task +// ------------------------------------------------ +mock.onPost('/apps/todo/update-task').reply(config => { + const taskData = JSON.parse(config.data).task + + // Convert Id to number + taskData.id = Number(taskData.id) + + const task = data.tasks.find(e => e.id === Number(taskData.id)) + Object.assign(task, taskData) + + return [200, { task }] +}) + +// ------------------------------------------------ +// DELETE: Remove Task +// ------------------------------------------------ +mock.onDelete('/apps/todo/delete-task').reply(config => { + // Get task id from URL + let taskId = config.taskId + + // Convert Id to number + taskId = Number(taskId) + + const task = data.tasks.find(t => t.id === taskId) + Object.assign(task, { isDeleted: true }) + return [200] +}) diff --git a/src/@fake-db/apps/userList.js b/src/@fake-db/apps/userList.js new file mode 100644 index 0000000..0ff077d --- /dev/null +++ b/src/@fake-db/apps/userList.js @@ -0,0 +1,722 @@ +import mock from '../mock' +import { paginateArray } from '../utils' + +const data = { + users: [ + { + id: 1, + fullName: 'Galen Slixby', + company: 'Yotz PVT LTD', + role: 'editor', + username: 'gslixby0', + country: 'El Salvador', + contact: '(479) 232-9151', + email: 'gslixby0@abc.net.au', + currentPlan: 'enterprise', + status: 'inactive', + avatar: '' + }, + { + id: 2, + fullName: 'Halsey Redmore', + company: 'Skinder PVT LTD', + role: 'author', + username: 'hredmore1', + country: 'Albania', + contact: '(472) 607-9137', + email: 'hredmore1@imgur.com', + currentPlan: 'team', + status: 'pending', + avatar: require('@src/assets/images/avatars/10.png').default + }, + { + id: 3, + fullName: 'Marjory Sicely', + company: 'Oozz PVT LTD', + role: 'maintainer', + username: 'msicely2', + country: 'Russia', + contact: '(321) 264-4599', + email: 'msicely2@who.int', + currentPlan: 'enterprise', + status: 'active', + avatar: require('@src/assets/images/avatars/1.png').default + }, + { + id: 4, + fullName: 'Cyrill Risby', + company: 'Oozz PVT LTD', + role: 'maintainer', + username: 'crisby3', + country: 'China', + contact: '(923) 690-6806', + email: 'crisby3@wordpress.com', + currentPlan: 'team', + status: 'inactive', + avatar: require('@src/assets/images/avatars/9.png').default + }, + { + id: 5, + fullName: 'Maggy Hurran', + company: 'Aimbo PVT LTD', + role: 'subscriber', + username: 'mhurran4', + country: 'Pakistan', + contact: '(669) 914-1078', + email: 'mhurran4@yahoo.co.jp', + currentPlan: 'enterprise', + status: 'pending', + avatar: require('@src/assets/images/avatars/10.png').default + }, + { + id: 6, + fullName: 'Silvain Halstead', + company: 'Jaxbean PVT LTD', + role: 'author', + username: 'shalstead5', + country: 'China', + contact: '(958) 973-3093', + email: 'shalstead5@shinystat.com', + currentPlan: 'company', + status: 'active', + avatar: '' + }, + { + id: 7, + fullName: 'Breena Gallemore', + company: 'Jazzy PVT LTD', + role: 'subscriber', + username: 'bgallemore6', + country: 'Canada', + contact: '(825) 977-8152', + email: 'bgallemore6@boston.com', + currentPlan: 'company', + status: 'pending', + avatar: '' + }, + { + id: 8, + fullName: 'Kathryne Liger', + company: 'Pixoboo PVT LTD', + role: 'author', + username: 'kliger7', + country: 'France', + contact: '(187) 440-0934', + email: 'kliger7@vinaora.com', + currentPlan: 'enterprise', + status: 'pending', + avatar: require('@src/assets/images/avatars/9.png').default + }, + { + id: 9, + fullName: 'Franz Scotfurth', + company: 'Tekfly PVT LTD', + role: 'subscriber', + username: 'fscotfurth8', + country: 'China', + contact: '(978) 146-5443', + email: 'fscotfurth8@dailymotion.com', + currentPlan: 'team', + status: 'pending', + avatar: require('@src/assets/images/avatars/2.png').default + }, + { + id: 10, + fullName: 'Jillene Bellany', + company: 'Gigashots PVT LTD', + role: 'maintainer', + username: 'jbellany9', + country: 'Jamaica', + contact: '(589) 284-6732', + email: 'jbellany9@kickstarter.com', + currentPlan: 'company', + status: 'inactive', + avatar: require('@src/assets/images/avatars/9.png').default + }, + { + id: 11, + fullName: 'Jonah Wharlton', + company: 'Eare PVT LTD', + role: 'subscriber', + username: 'jwharltona', + country: 'United States', + contact: '(176) 532-6824', + email: 'jwharltona@oakley.com', + currentPlan: 'team', + status: 'inactive', + avatar: require('@src/assets/images/avatars/4.png').default + }, + { + id: 12, + fullName: 'Seth Hallam', + company: 'Yakitri PVT LTD', + role: 'subscriber', + username: 'shallamb', + country: 'Peru', + contact: '(234) 464-0600', + email: 'shallamb@hugedomains.com', + currentPlan: 'team', + status: 'pending', + avatar: require('@src/assets/images/avatars/5.png').default + }, + { + id: 13, + fullName: 'Yoko Pottie', + company: 'Leenti PVT LTD', + role: 'subscriber', + username: 'ypottiec', + country: 'Philippines', + contact: '(907) 284-5083', + email: 'ypottiec@privacy.gov.au', + currentPlan: 'basic', + status: 'inactive', + avatar: require('@src/assets/images/avatars/7.png').default + }, + { + id: 14, + fullName: 'Maximilianus Krause', + company: 'Digitube PVT LTD', + role: 'author', + username: 'mkraused', + country: 'Democratic Republic of the Congo', + contact: '(167) 135-7392', + email: 'mkraused@stanford.edu', + currentPlan: 'team', + status: 'active', + avatar: require('@src/assets/images/avatars/9.png').default + }, + { + id: 15, + fullName: 'Zsazsa McCleverty', + company: 'Kaymbo PVT LTD', + role: 'maintainer', + username: 'zmcclevertye', + country: 'France', + contact: '(317) 409-6565', + email: 'zmcclevertye@soundcloud.com', + currentPlan: 'enterprise', + status: 'active', + avatar: require('@src/assets/images/avatars/2.png').default + }, + { + id: 16, + fullName: 'Bentlee Emblin', + company: 'Yambee PVT LTD', + role: 'author', + username: 'bemblinf', + country: 'Spain', + contact: '(590) 606-1056', + email: 'bemblinf@wired.com', + currentPlan: 'company', + status: 'active', + avatar: require('@src/assets/images/avatars/6.png').default + }, + { + id: 17, + fullName: 'Brockie Myles', + company: 'Wikivu PVT LTD', + role: 'maintainer', + username: 'bmylesg', + country: 'Poland', + contact: '(553) 225-9905', + email: 'bmylesg@amazon.com', + currentPlan: 'basic', + status: 'active', + avatar: '' + }, + { + id: 18, + fullName: 'Bertha Biner', + company: 'Twinte PVT LTD', + role: 'editor', + username: 'bbinerh', + country: 'Yemen', + contact: '(901) 916-9287', + email: 'bbinerh@mozilla.com', + currentPlan: 'team', + status: 'active', + avatar: require('@src/assets/images/avatars/7.png').default + }, + { + id: 19, + fullName: 'Travus Bruntjen', + company: 'Cogidoo PVT LTD', + role: 'admin', + username: 'tbruntjeni', + country: 'France', + contact: '(524) 586-6057', + email: 'tbruntjeni@sitemeter.com', + currentPlan: 'enterprise', + status: 'active', + avatar: '' + }, + { + id: 20, + fullName: 'Wesley Burland', + company: 'Bubblemix PVT LTD', + role: 'editor', + username: 'wburlandj', + country: 'Honduras', + contact: '(569) 683-1292', + email: 'wburlandj@uiuc.edu', + currentPlan: 'team', + status: 'inactive', + avatar: require('@src/assets/images/avatars/6.png').default + }, + { + id: 21, + fullName: 'Selina Kyle', + company: 'Wayne Enterprises', + role: 'admin', + username: 'catwomen1940', + country: 'USA', + contact: '(829) 537-0057', + email: 'irena.dubrovna@wayne.com', + currentPlan: 'team', + status: 'active', + avatar: require('@src/assets/images/avatars/1.png').default + }, + { + id: 22, + fullName: 'Jameson Lyster', + company: 'Quaxo PVT LTD', + role: 'editor', + username: 'jlysterl', + country: 'Ukraine', + contact: '(593) 624-0222', + email: 'jlysterl@guardian.co.uk', + currentPlan: 'company', + status: 'inactive', + avatar: require('@src/assets/images/avatars/8.png').default + }, + { + id: 23, + fullName: 'Kare Skitterel', + company: 'Ainyx PVT LTD', + role: 'maintainer', + username: 'kskitterelm', + country: 'Poland', + contact: '(254) 845-4107', + email: 'kskitterelm@washingtonpost.com', + currentPlan: 'basic', + status: 'pending', + avatar: require('@src/assets/images/avatars/3.png').default + }, + { + id: 24, + fullName: 'Cleavland Hatherleigh', + company: 'Flipopia PVT LTD', + role: 'admin', + username: 'chatherleighn', + country: 'Brazil', + contact: '(700) 783-7498', + email: 'chatherleighn@washington.edu', + currentPlan: 'team', + status: 'pending', + avatar: require('@src/assets/images/avatars/2.png').default + }, + { + id: 25, + fullName: 'Adeline Micco', + company: 'Topicware PVT LTD', + role: 'admin', + username: 'amiccoo', + country: 'France', + contact: '(227) 598-1841', + email: 'amiccoo@whitehouse.gov', + currentPlan: 'enterprise', + status: 'pending', + avatar: '' + }, + { + id: 26, + fullName: 'Hugh Hasson', + company: 'Skinix PVT LTD', + role: 'admin', + username: 'hhassonp', + country: 'China', + contact: '(582) 516-1324', + email: 'hhassonp@bizjournals.com', + currentPlan: 'basic', + status: 'inactive', + avatar: require('@src/assets/images/avatars/4.png').default + }, + { + id: 27, + fullName: 'Germain Jacombs', + company: 'Youopia PVT LTD', + role: 'editor', + username: 'gjacombsq', + country: 'Zambia', + contact: '(137) 467-5393', + email: 'gjacombsq@jigsy.com', + currentPlan: 'enterprise', + status: 'active', + avatar: require('@src/assets/images/avatars/10.png').default + }, + { + id: 28, + fullName: 'Bree Kilday', + company: 'Jetpulse PVT LTD', + role: 'maintainer', + username: 'bkildayr', + country: 'Portugal', + contact: '(412) 476-0854', + email: 'bkildayr@mashable.com', + currentPlan: 'team', + status: 'active', + avatar: '' + }, + { + id: 29, + fullName: 'Candice Pinyon', + company: 'Kare PVT LTD', + role: 'maintainer', + username: 'cpinyons', + country: 'Sweden', + contact: '(170) 683-1520', + email: 'cpinyons@behance.net', + currentPlan: 'team', + status: 'active', + avatar: require('@src/assets/images/avatars/7.png').default + }, + { + id: 30, + fullName: 'Isabel Mallindine', + company: 'Voomm PVT LTD', + role: 'subscriber', + username: 'imallindinet', + country: 'Slovenia', + contact: '(332) 803-1983', + email: 'imallindinet@shinystat.com', + currentPlan: 'team', + status: 'pending', + avatar: '' + }, + { + id: 31, + fullName: 'Gwendolyn Meineken', + company: 'Oyondu PVT LTD', + role: 'admin', + username: 'gmeinekenu', + country: 'Moldova', + contact: '(551) 379-7460', + email: 'gmeinekenu@hc360.com', + currentPlan: 'basic', + status: 'pending', + avatar: require('@src/assets/images/avatars/1.png').default + }, + { + id: 32, + fullName: 'Rafaellle Snowball', + company: 'Fivespan PVT LTD', + role: 'editor', + username: 'rsnowballv', + country: 'Philippines', + contact: '(974) 829-0911', + email: 'rsnowballv@indiegogo.com', + currentPlan: 'basic', + status: 'pending', + avatar: require('@src/assets/images/avatars/5.png').default + }, + { + id: 33, + fullName: 'Rochette Emer', + company: 'Thoughtworks PVT LTD', + role: 'admin', + username: 'remerw', + country: 'North Korea', + contact: '(841) 889-3339', + email: 'remerw@blogtalkradio.com', + currentPlan: 'basic', + status: 'active', + avatar: require('@src/assets/images/avatars/8.png').default + }, + { + id: 34, + fullName: 'Ophelie Fibbens', + company: 'Jaxbean PVT LTD', + role: 'subscriber', + username: 'ofibbensx', + country: 'Indonesia', + contact: '(764) 885-7351', + email: 'ofibbensx@booking.com', + currentPlan: 'company', + status: 'active', + avatar: require('@src/assets/images/avatars/4.png').default + }, + { + id: 35, + fullName: 'Stephen MacGilfoyle', + company: 'Browseblab PVT LTD', + role: 'maintainer', + username: 'smacgilfoyley', + country: 'Japan', + contact: '(350) 589-8520', + email: 'smacgilfoyley@bigcartel.com', + currentPlan: 'company', + status: 'pending', + avatar: '' + }, + { + id: 36, + fullName: 'Bradan Rosebotham', + company: 'Agivu PVT LTD', + role: 'subscriber', + username: 'brosebothamz', + country: 'Belarus', + contact: '(882) 933-2180', + email: 'brosebothamz@tripadvisor.com', + currentPlan: 'team', + status: 'inactive', + avatar: '' + }, + { + id: 37, + fullName: 'Skip Hebblethwaite', + company: 'Katz PVT LTD', + role: 'admin', + username: 'shebblethwaite10', + country: 'Canada', + contact: '(610) 343-1024', + email: 'shebblethwaite10@arizona.edu', + currentPlan: 'company', + status: 'inactive', + avatar: require('@src/assets/images/avatars/9.png').default + }, + { + id: 38, + fullName: 'Moritz Piccard', + company: 'Twitternation PVT LTD', + role: 'maintainer', + username: 'mpiccard11', + country: 'Croatia', + contact: '(365) 277-2986', + email: 'mpiccard11@vimeo.com', + currentPlan: 'enterprise', + status: 'inactive', + avatar: require('@src/assets/images/avatars/1.png').default + }, + { + id: 39, + fullName: 'Tyne Widmore', + company: 'Yombu PVT LTD', + role: 'subscriber', + username: 'twidmore12', + country: 'Finland', + contact: '(531) 731-0928', + email: 'twidmore12@bravesites.com', + currentPlan: 'team', + status: 'pending', + avatar: '' + }, + { + id: 40, + fullName: 'Florenza Desporte', + company: 'Kamba PVT LTD', + role: 'author', + username: 'fdesporte13', + country: 'Ukraine', + contact: '(312) 104-2638', + email: 'fdesporte13@omniture.com', + currentPlan: 'company', + status: 'active', + avatar: require('@src/assets/images/avatars/6.png').default + }, + { + id: 41, + fullName: 'Edwina Baldetti', + company: 'Dazzlesphere PVT LTD', + role: 'maintainer', + username: 'ebaldetti14', + country: 'Haiti', + contact: '(315) 329-3578', + email: 'ebaldetti14@theguardian.com', + currentPlan: 'team', + status: 'pending', + avatar: '' + }, + { + id: 42, + fullName: 'Benedetto Rossiter', + company: 'Mybuzz PVT LTD', + role: 'editor', + username: 'brossiter15', + country: 'Indonesia', + contact: '(323) 175-6741', + email: 'brossiter15@craigslist.org', + currentPlan: 'team', + status: 'inactive', + avatar: '' + }, + { + id: 43, + fullName: 'Micaela McNirlan', + company: 'Tambee PVT LTD', + role: 'admin', + username: 'mmcnirlan16', + country: 'Indonesia', + contact: '(242) 952-0916', + email: 'mmcnirlan16@hc360.com', + currentPlan: 'basic', + status: 'inactive', + avatar: '' + }, + { + id: 44, + fullName: 'Vladamir Koschek', + company: 'Centimia PVT LTD', + role: 'author', + username: 'vkoschek17', + country: 'Guatemala', + contact: '(531) 758-8335', + email: 'vkoschek17@abc.net.au', + currentPlan: 'team', + status: 'active', + avatar: '' + }, + { + id: 45, + fullName: 'Corrie Perot', + company: 'Flipopia PVT LTD', + role: 'subscriber', + username: 'cperot18', + country: 'China', + contact: '(659) 385-6808', + email: 'cperot18@goo.ne.jp', + currentPlan: 'team', + status: 'pending', + avatar: require('@src/assets/images/avatars/3.png').default + }, + { + id: 46, + fullName: 'Saunder Offner', + company: 'Skalith PVT LTD', + role: 'maintainer', + username: 'soffner19', + country: 'Poland', + contact: '(200) 586-2264', + email: 'soffner19@mac.com', + currentPlan: 'enterprise', + status: 'pending', + avatar: '' + }, + { + id: 47, + fullName: 'Karena Courtliff', + company: 'Feedfire PVT LTD', + role: 'admin', + username: 'kcourtliff1a', + country: 'China', + contact: '(478) 199-0020', + email: 'kcourtliff1a@bbc.co.uk', + currentPlan: 'basic', + status: 'active', + avatar: require('@src/assets/images/avatars/1.png').default + }, + { + id: 48, + fullName: 'Onfre Wind', + company: 'Thoughtmix PVT LTD', + role: 'admin', + username: 'owind1b', + country: 'Ukraine', + contact: '(344) 262-7270', + email: 'owind1b@yandex.ru', + currentPlan: 'basic', + status: 'pending', + avatar: '' + }, + { + id: 49, + fullName: 'Paulie Durber', + company: 'Babbleblab PVT LTD', + role: 'subscriber', + username: 'pdurber1c', + country: 'Sweden', + contact: '(694) 676-1275', + email: 'pdurber1c@gov.uk', + currentPlan: 'team', + status: 'inactive', + avatar: '' + }, + { + id: 50, + fullName: 'Beverlie Krabbe', + company: 'Kaymbo PVT LTD', + role: 'editor', + username: 'bkrabbe1d', + country: 'China', + contact: '(397) 294-5153', + email: 'bkrabbe1d@home.pl', + currentPlan: 'company', + status: 'active', + avatar: require('@src/assets/images/avatars/9.png').default + } + ] +} + +// GET ALL DATA +mock.onGet('/api/users/list/all-data').reply(200, data.users) + +// POST: Add new user +mock.onPost('/apps/users/add-user').reply(config => { + // Get event from post data + const user = JSON.parse(config.data) + + const { length } = data.users + let lastIndex = 0 + if (length) { + lastIndex = data.users[length - 1].id + } + user.id = lastIndex + 1 + + data.users.unshift(user) + + return [201, { user }] +}) + +// GET Updated DATA +mock.onGet('/api/users/list/data').reply(config => { + const { q = '', perPage = 10, page = 1, role = null, currentPlan = null, status = null } = config + + /* eslint-disable */ + const queryLowered = q.toLowerCase() + const filteredData = data.users.filter( + user => + (user.username.toLowerCase().includes(queryLowered) || user.fullName.toLowerCase().includes(queryLowered)) && + user.role === (role || user.role) && + user.currentPlan === (currentPlan || user.currentPlan) && + user.status === (status || user.status) + ) + /* eslint-enable */ + + return [ + 200, + { + users: paginateArray(filteredData, perPage, page), + total: filteredData.length + } + ] +}) + +// GET USER +mock.onGet('/api/users/user').reply(config => { + const { id } = config + const user = data.users.find(i => i.id === id) + return [200, { user }] +}) + +// DELETE: Deletes User +mock.onDelete('/apps/users/delete').reply(config => { + // Get user id from URL + let userId = config.id + + // Convert Id to number + userId = Number(userId) + + const userIndex = data.users.findIndex(t => t.id === userId) + data.users.splice(userIndex, 1) + + return [200] +}) diff --git a/src/@fake-db/autoComplete/autoComplete.js b/src/@fake-db/autoComplete/autoComplete.js new file mode 100644 index 0000000..375e968 --- /dev/null +++ b/src/@fake-db/autoComplete/autoComplete.js @@ -0,0 +1,508 @@ +import mock from '../mock' + +const autoComplete = [ + { + title: 'The Shawshank Redemption', + rank: '1', + id: 'tt0111161' + }, + { + title: 'The Godfather', + rank: '2', + id: 'tt0068646' + }, + { + title: 'The Godfather: Part II', + rank: '3', + id: 'tt0071562' + }, + { + title: 'Pulp Fiction', + rank: '4', + id: 'tt0110912' + }, + { + title: 'The Good, the Bad and the Ugly', + rank: '5', + id: 'tt0060196' + }, + { + title: 'The Dark Knight', + rank: '6', + id: 'tt0468569' + }, + { + title: '12 Angry Men', + rank: '7', + id: 'tt0050083' + }, + { + title: 'Schindler\'s List', + rank: '8', + id: 'tt0108052' + }, + { + title: 'The Lord of the Rings: The Return of the King', + rank: '9', + id: 'tt0167260' + }, + { + title: 'Fight Club', + rank: '10', + id: 'tt0137523' + }, + { + title: 'Star Wars: Episode V - The Empire Strikes Back', + rank: '11', + id: 'tt0080684' + }, + { + title: 'The Lord of the Rings: The Fellowship of the Ring', + rank: '12', + id: 'tt0120737' + }, + { + title: 'One Flew Over the Cuckoo\'s Nest', + rank: '13', + id: 'tt0073486' + }, + { + title: 'Inception', + rank: '14', + id: 'tt1375666' + }, + { + title: 'Goodfellas', + rank: '15', + id: 'tt0099685' + }, + { + title: 'Star Wars', + rank: '16', + id: 'tt0076759' + }, + { + title: 'Seven Samurai', + rank: '17', + id: 'tt0047478' + }, + { + title: 'Forrest Gump', + rank: '18', + id: 'tt0109830' + }, + { + title: 'The Matrix', + rank: '19', + id: 'tt0133093' + }, + { + title: 'The Lord of the Rings: The Two Towers', + rank: '20', + id: 'tt0167261' + }, + { + title: 'City of God', + rank: '21', + id: 'tt0317248' + }, + { + title: 'Se7en', + rank: '22', + id: 'tt0114369' + }, + { + title: 'The Silence of the Lambs', + rank: '23', + id: 'tt0102926' + }, + { + title: 'Once Upon a Time in the West', + rank: '24', + id: 'tt0064116' + }, + { + title: 'Casablanca', + rank: '25', + id: 'tt0034583' + }, + { + title: 'The Usual Suspects', + rank: '26', + id: 'tt0114814' + }, + { + title: 'Raiders of the Lost Ark', + rank: '27', + id: 'tt0082971' + }, + { + title: 'Rear Window', + rank: '28', + id: 'tt0047396' + }, + { + title: 'It\'s a Wonderful Life', + rank: '29', + id: 'tt0038650' + }, + { + title: 'Psycho', + rank: '30', + id: 'tt0054215' + }, + { + title: 'Léon: The Professional', + rank: '31', + id: 'tt0110413' + }, + { + title: 'Sunset Blvd.', + rank: '32', + id: 'tt0043014' + }, + { + title: 'American History X', + rank: '33', + id: 'tt0120586' + }, + { + title: 'Apocalypse Now', + rank: '34', + id: 'tt0078788' + }, + { + title: 'Terminator 2: Judgment Day', + rank: '35', + id: 'tt0103064' + }, + { + title: 'Saving Private Ryan', + rank: '36', + id: 'tt0120815' + }, + { + title: 'Memento', + rank: '37', + id: 'tt0209144' + }, + { + title: 'City Lights', + rank: '38', + id: 'tt0021749' + }, + { + title: 'Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb', + rank: '39', + id: 'tt0057012' + }, + { + title: 'Alien', + rank: '40', + id: 'tt0078748' + }, + { + title: 'Modern Times', + rank: '41', + id: 'tt0027977' + }, + { + title: 'Spirited Away', + rank: '42', + id: 'tt0245429' + }, + { + title: 'North by Northwest', + rank: '43', + id: 'tt0053125' + }, + { + title: 'Back to the Future', + rank: '44', + id: 'tt0088763' + }, + { + title: 'Life Is Beautiful', + rank: '45', + id: 'tt0118799' + }, + { + title: 'The Shining', + rank: '46', + id: 'tt0081505' + }, + { + title: 'The Pianist', + rank: '47', + id: 'tt0253474' + }, + { + title: 'Citizen Kane', + rank: '48', + id: 'tt0033467' + }, + { + title: 'The Departed', + rank: '49', + id: 'tt0407887' + }, + { + title: 'M', + rank: '50', + id: 'tt0022100' + }, + { + title: 'Paths of Glory', + rank: '51', + id: 'tt0050825' + }, + { + title: 'Vertigo', + rank: '52', + id: 'tt0052357' + }, + { + title: 'Django Unchained', + rank: '53', + id: 'tt1853728' + }, + { + title: 'Double Indemnity', + rank: '54', + id: 'tt0036775' + }, + { + title: 'The Dark Knight Rises', + rank: '55', + id: 'tt1345836' + }, + { + title: 'Aliens', + rank: '56', + id: 'tt0090605' + }, + { + title: 'Taxi Driver', + rank: '57', + id: 'tt0075314' + }, + { + title: 'American Beauty', + rank: '58', + id: 'tt0169547' + }, + { + title: 'The Green Mile', + rank: '59', + id: 'tt0120689' + }, + { + title: 'Gladiator', + rank: '60', + id: 'tt0172495' + }, + { + title: 'The Intouchables', + rank: '61', + id: 'tt1675434' + }, + { + title: 'WALL·E', + rank: '62', + id: 'tt0910970' + }, + { + title: 'The Lives of Others', + rank: '63', + id: 'tt0405094' + }, + { + title: 'Toy Story 3', + rank: '64', + id: 'tt0435761' + }, + { + title: 'The Great Dictator', + rank: '65', + id: 'tt0032553' + }, + { + title: 'The Prestige', + rank: '66', + id: 'tt0482571' + }, + { + title: 'A Clockwork Orange', + rank: '67', + id: 'tt0066921' + }, + { + title: 'Lawrence of Arabia', + rank: '68', + id: 'tt0056172' + }, + { + title: 'Amélie', + rank: '69', + id: 'tt0211915' + }, + { + title: 'To Kill a Mockingbird', + rank: '70', + id: 'tt0056592' + }, + { + title: 'Reservoir Dogs', + rank: '71', + id: 'tt0105236' + }, + { + title: 'Das Boot', + rank: '72', + id: 'tt0082096' + }, + { + title: 'The Lion King', + rank: '73', + id: 'tt0110357' + }, + { + title: 'Cinema Paradiso', + rank: '74', + id: 'tt0095765' + }, + { + title: 'Star Wars: Episode VI - Return of the Jedi', + rank: '75', + id: 'tt0086190' + }, + { + title: 'The Treasure of the Sierra Madre', + rank: '76', + id: 'tt0040897' + }, + { + title: 'The Third Man', + rank: '77', + id: 'tt0041959' + }, + { + title: 'Once Upon a Time in America', + rank: '78', + id: 'tt0087843' + }, + { + title: 'Requiem for a Dream', + rank: '79', + id: 'tt0180093' + }, + { + title: 'Eternal Sunshine of the Spotless Mind', + rank: '80', + id: 'tt0338013' + }, + { + title: 'Full Metal Jacket', + rank: '81', + id: 'tt0093058' + }, + { + title: 'Oldboy', + rank: '82', + id: 'tt0364569' + }, + { + title: 'Braveheart', + rank: '83', + id: 'tt0112573' + }, + { + title: 'L.A. Confidential', + rank: '84', + id: 'tt0119488' + }, + { + title: 'Bicycle Thieves', + rank: '85', + id: 'tt0040522' + }, + { + title: 'Chinatown', + rank: '86', + id: 'tt0071315' + }, + { + title: 'Singin\' in the Rain', + rank: '87', + id: 'tt0045152' + }, + { + title: 'Princess Mononoke', + rank: '88', + id: 'tt0119698' + }, + { + title: 'Monty Python and the Holy Grail', + rank: '89', + id: 'tt0071853' + }, + { + title: 'Metropolis', + rank: '90', + id: 'tt0017136' + }, + { + title: 'Rashomon', + rank: '91', + id: 'tt0042876' + }, + { + title: 'Some Like It Hot', + rank: '92', + id: 'tt0053291' + }, + { + title: 'Amadeus', + rank: '93', + id: 'tt0086879' + }, + { + title: '2001: A Space Odyssey', + rank: '94', + id: 'tt0062622' + }, + { + title: 'All About Eve', + rank: '95', + id: 'tt0042192' + }, + { + title: 'Witness for the Prosecution', + rank: '96', + id: 'tt0051201' + }, + { + title: 'The Sting', + rank: '97', + id: 'tt0070735' + }, + { + title: 'The Apartment', + rank: '98', + id: 'tt0053604' + }, + { + title: 'Grave of the Fireflies', + rank: '99', + id: 'tt0095327' + }, + { + title: 'Indiana Jones and the Last Crusade', + rank: '100', + id: 'tt0097576' + } +] + +mock.onGet('/api/autocomplete/data').reply(200, { + autoComplete +}) diff --git a/src/@fake-db/cards/card-analytics.js b/src/@fake-db/cards/card-analytics.js new file mode 100644 index 0000000..af76160 --- /dev/null +++ b/src/@fake-db/cards/card-analytics.js @@ -0,0 +1,96 @@ +import mock from '../mock' + +const data = { + support_tracker: { + title: 'Support Tracker', + last_days: ['Last 28 Days', 'Last Month', 'Last Year'], + totalTicket: 163, + newTicket: 29, + openTicket: 63, + responseTime: 1 + }, + avg_sessions: { + sessions: 2700, + last_days: ['Last 28 Days', 'Last Month', 'Last Year'], + growth: '+5.2%', + goal: 100000, + users: 100000, + retention: 90, + duration: 1 + }, + revenue_report: { + years: ['2020', '2019', '2018'], + price: '25,852', + budget: '56,800' + }, + goal_overview: { + completed: '786,617', + inProgress: '13,561' + }, + revenue: { + thisMonth: '86,589', + lastMonth: '73,683' + }, + product_orders: { + last_days: ['Last 28 Days', 'Last Month', 'Last Year'], + chart_info: { finished: 23043, pending: 14658, rejected: 4758 } + }, + sessions_device: { + last_days: ['Last 28 Days', 'Last Month', 'Last Year'], + chart_info: [ + { + icon: 'Monitor', + name: 'Desktop', + iconColor: 'text-primary', + usage: 58.6, + upDown: 2 + }, + { + icon: 'Tablet', + name: 'Mobile', + iconColor: 'text-warning', + usage: 34.9, + upDown: 8 + }, + { + icon: 'Tablet', + name: 'Tablet', + iconColor: 'text-danger', + usage: 6.5, + upDown: -5 + } + ] + }, + customers: { + last_days: ['Last 28 Days', 'Last Month', 'Last Year'], + listData: [ + { + icon: 'Circle', + iconColor: 'text-primary', + text: 'New', + result: 690 + }, + { + icon: 'Circle', + iconColor: 'text-warning', + text: 'Returning', + result: 258 + }, + { + icon: 'Circle', + iconColor: 'text-danger', + text: 'Referrals', + result: 149 + } + ] + } +} + +mock.onGet('/card/card-analytics/support-tracker').reply(() => [200, data.support_tracker]) +mock.onGet('/card/card-analytics/avg-sessions').reply(() => [200, data.avg_sessions]) +mock.onGet('/card/card-analytics/revenue-report').reply(() => [200, data.revenue_report]) +mock.onGet('/card/card-analytics/goal-overview').reply(() => [200, data.goal_overview]) +mock.onGet('/card/card-analytics/revenue').reply(() => [200, data.revenue]) +mock.onGet('/card/card-analytics/product-orders').reply(() => [200, data.product_orders]) +mock.onGet('/card/card-analytics/sessions-device').reply(() => [200, data.sessions_device]) +mock.onGet('/card/card-analytics/customers').reply(() => [200, data.customers]) diff --git a/src/@fake-db/cards/card-statistics.js b/src/@fake-db/cards/card-statistics.js new file mode 100644 index 0000000..d6d3144 --- /dev/null +++ b/src/@fake-db/cards/card-statistics.js @@ -0,0 +1,109 @@ +import mock from '../mock' + +const data = { + orders_bar_chart: { + title: 'Orders', + statistics: '2,76k', + series: [ + { + name: '2020', + data: [45, 85, 65, 45, 65] + } + ] + }, + profit_line_chart: { + title: 'Profit', + statistics: '6,24k', + series: [ + { + data: [0, 20, 5, 30, 15, 45] + } + ] + }, + subscribers_gained: { + series: [ + { + name: 'Subscribers', + data: [28, 40, 36, 52, 38, 60, 55] + } + ], + analyticsData: { + subscribers: 92600 + } + }, + revenueGenerated: { + series: [ + { + name: 'Revenue', + data: [350, 275, 400, 300, 350, 300, 450] + } + ], + analyticsData: { + revenue: 97500 + } + }, + quarterlySales: { + series: [ + { + name: 'Sales', + data: [10, 15, 7, 12, 3, 16] + } + ], + analyticsData: { + sales: '36%' + } + }, + ordersRecevied: { + series: [ + { + name: 'Orders', + data: [10, 15, 8, 15, 7, 12, 8] + } + ], + analyticsData: { + orders: 97500 + } + }, + siteTraffic: { + series: [ + { + name: 'Traffic Rate', + data: [150, 200, 125, 225, 200, 250] + } + ] + }, + activeUsers: { + series: [ + { + name: 'Active Users', + data: [750, 1000, 900, 1250, 1000, 1200, 1100] + } + ] + }, + newsletter: { + series: [ + { + name: 'Newsletter', + data: [365, 390, 365, 400, 375, 400] + } + ] + } +} + +mock.onGet('/card/card-statistics/orders-bar-chart').reply(() => [200, data.orders_bar_chart]) + +mock.onGet('/card/card-statistics/profit-line-chart').reply(() => [200, data.profit_line_chart]) + +mock.onGet('/card/card-statistics/subscribers').reply(() => [200, data.subscribers_gained]) + +mock.onGet('/card/card-statistics/revenue').reply(() => [200, data.revenueGenerated]) + +mock.onGet('/card/card-statistics/sales').reply(() => [200, data.quarterlySales]) + +mock.onGet('/card/card-statistics/orders').reply(() => [200, data.ordersRecevied]) + +mock.onGet('/card/card-statistics/site-traffic').reply(() => [200, data.siteTraffic]) + +mock.onGet('/card/card-statistics/active-users').reply(() => [200, data.activeUsers]) + +mock.onGet('/card/card-statistics/newsletter').reply(() => [200, data.newsletter]) diff --git a/src/@fake-db/index.js b/src/@fake-db/index.js new file mode 100644 index 0000000..10e5e7e --- /dev/null +++ b/src/@fake-db/index.js @@ -0,0 +1,22 @@ +import mock from './mock' +import './tables/datatables' +import './autoComplete/autoComplete' +import './navbar/navbarSearch' +import './apps/email' +import './apps/chat' +import './apps/todo' +import './apps/calendar' +import './apps/userList' +import './apps/invoice' +import './apps/eCommerce' +import './pages/account-settings' +import './pages/profile' +import './pages/faq' +import './pages/knowledge-base' +import './pages/pricing-data' +import './pages/blog-data' +import './cards/card-analytics' +import './cards/card-statistics' +import './jwt' + +mock.onAny().passThrough() diff --git a/src/@fake-db/jwt/index.js b/src/@fake-db/jwt/index.js new file mode 100644 index 0000000..e11672e --- /dev/null +++ b/src/@fake-db/jwt/index.js @@ -0,0 +1,170 @@ +import mock from '../mock' +import jwt from 'jsonwebtoken' + +const data = { + users: [ + { + id: 1, + fullName: 'John Doe', + username: 'johndoe', + password: 'admin', + avatar: require('@src/assets/images/portrait/small/avatar-s-11.jpg').default, + email: 'admin@demo.com', + role: 'admin', + ability: [ + { + action: 'manage', + subject: 'all' + } + ], + extras: { + eCommerceCartItemsCount: 5 + } + }, + { + id: 2, + fullName: 'Jane Doe', + username: 'janedoe', + password: 'client', + avatar: require('@src/assets/images/avatars/1-small.png').default, + email: 'client@demo.com', + role: 'client', + ability: [ + { + action: 'read', + subject: 'ACL' + }, + { + action: 'read', + subject: 'Auth' + } + ], + extras: { + eCommerceCartItemsCount: 5 + } + } + ] +} + +// ! These two secrets shall be in .env file and not in any other file +const jwtConfig = { + secret: 'dd5f3089-40c3-403d-af14-d0c228b05cb4', + refreshTokenSecret: '7c4c1c50-3230-45bf-9eae-c9b2e401c767', + expireTime: '10m', + refreshTokenExpireTime: '10m' +} + +mock.onPost('/jwt/login').reply(request => { + const { email, password } = JSON.parse(request.data) + + let error = { + email: ['Something went wrong'] + } + + const user = data.users.find(u => u.email === email && u.password === password) + + if (user) { + try { + const accessToken = jwt.sign({ id: user.id }, jwtConfig.secret, { expiresIn: jwtConfig.expireTime }) + const refreshToken = jwt.sign({ id: user.id }, jwtConfig.refreshTokenSecret, { + expiresIn: jwtConfig.refreshTokenExpireTime + }) + + const userData = { ...user } + + delete userData.password + + const response = { + userData, + accessToken, + refreshToken + } + + return [200, response] + } catch (e) { + error = e + } + } else { + error = { + email: ['Email or Password is Invalid'] + } + } + + return [400, { error }] +}) + +mock.onPost('/jwt/register').reply(request => { + if (request.data.length > 0) { + const { email, password, username } = JSON.parse(request.data) + const isEmailAlreadyInUse = data.users.find(user => user.email === email) + const isUsernameAlreadyInUse = data.users.find(user => user.username === username) + const error = { + email: isEmailAlreadyInUse ? 'This email is already in use.' : null, + username: isUsernameAlreadyInUse ? 'This username is already in use.' : null + } + + if (!error.username && !error.email) { + const userData = { + email, + password, + username, + fullName: '', + avatar: null, + role: 'admin', + ability: [ + { + action: 'manage', + subject: 'all' + } + ] + } + + // Add user id + const length = data.users.length + let lastIndex = 0 + if (length) { + lastIndex = data.users[length - 1].id + } + userData.id = lastIndex + 1 + + data.users.push(userData) + + const accessToken = jwt.sign({ id: userData.id }, jwtConfig.secret, { expiresIn: jwtConfig.expireTime }) + + const user = Object.assign({}, userData) + delete user['password'] + const response = { user, accessToken } + + return [200, response] + } else { + return [200, { error }] + } + } +}) + +mock.onPost('/jwt/refresh-token').reply(request => { + const { refreshToken } = JSON.parse(request.data) + + try { + const { id } = jwt.verify(refreshToken, jwtConfig.refreshTokenSecret) + + const userData = { ...data.users.find(user => user.id === id) } + + const newAccessToken = jwt.sign({ id: userData.id }, jwtConfig.secret, { expiresIn: jwtConfig.expiresIn }) + const newRefreshToken = jwt.sign({ id: userData.id }, jwtConfig.refreshTokenSecret, { + expiresIn: jwtConfig.refreshTokenExpireTime + }) + + delete userData.password + const response = { + userData, + accessToken: newAccessToken, + refreshToken: newRefreshToken + } + + return [200, response] + } catch (e) { + const error = 'Invalid refresh token' + return [401, { error }] + } +}) diff --git a/src/@fake-db/mock.js b/src/@fake-db/mock.js new file mode 100644 index 0000000..e9538d0 --- /dev/null +++ b/src/@fake-db/mock.js @@ -0,0 +1,6 @@ +import MockAdapter from 'axios-mock-adapter' +import axios from 'axios' + +const mock = new MockAdapter(axios) + +export default mock diff --git a/src/@fake-db/navbar/navbarSearch.js b/src/@fake-db/navbar/navbarSearch.js new file mode 100644 index 0000000..4fd342c --- /dev/null +++ b/src/@fake-db/navbar/navbarSearch.js @@ -0,0 +1,1018 @@ +import mock from '../mock' + +export const searchArr = [ + { + groupTitle: 'Pages', + searchLimit: 4, + data: [ + { + id: 1, + target: 'analyticsDash', + isBookmarked: false, + title: 'Analytics Dashboard', + icon: 'Home', + link: '/dashboard/analytics' + }, + { + id: 2, + target: 'eCommerceDash', + isBookmarked: false, + title: 'eCommerce Dashboard', + icon: 'Home', + link: '/' + }, + { + id: 3, + target: 'email', + isBookmarked: true, + title: 'Email', + icon: 'Mail', + link: '/apps/email' + }, + { + id: 4, + target: 'chat', + isBookmarked: true, + title: 'Chat', + icon: 'MessageSquare', + link: '/apps/chat' + }, + { + id: 5, + target: 'todo', + isBookmarked: true, + title: 'Todo', + icon: 'CheckSquare', + link: '/apps/todo' + }, + { + id: 6, + target: 'calendar', + isBookmarked: true, + title: 'Calendar', + icon: 'Calendar', + link: '/apps/calendar' + }, + { + id: 7, + target: 'invoiceList', + isBookmarked: false, + title: 'Invoice List', + icon: 'List', + link: '/apps/invoice/list' + }, + { + id: 8, + target: 'invoicePreview', + isBookmarked: false, + title: 'Invoice Preview', + icon: 'FileText', + link: '/apps/invoice/preview' + }, + { + id: 9, + target: 'invoiceEdit', + isBookmarked: false, + title: 'Invoice Edit', + icon: 'Edit', + link: '/apps/invoice/edit' + }, + { + id: 10, + target: 'invoiceAdd', + isBookmarked: false, + title: 'Invoice Add', + icon: 'Plus', + link: '/apps/invoice/add' + }, + { + id: 11, + target: 'shop', + isBookmarked: false, + title: 'Shop Ecommerce', + icon: 'ShoppingCart', + link: '/apps/ecommerce/shop' + }, + { + id: 12, + target: 'detail', + isBookmarked: false, + title: 'Product Detail', + icon: 'Circle', + link: '/apps/ecommerce/product-detail' + }, + { + id: 13, + target: 'wishList', + isBookmarked: false, + title: 'Wish List', + icon: 'Heart', + link: '/apps/ecommerce/wishlist' + }, + { + id: 14, + target: 'checkout', + isBookmarked: false, + title: 'Checkout', + icon: 'CreditCard', + link: '/apps/ecommerce/checkout' + }, + { + id: 15, + target: 'userList', + isBookmarked: false, + title: 'User List', + icon: 'User', + link: '/apps/user/list' + }, + { + id: 16, + target: 'userView', + isBookmarked: false, + title: 'User View', + icon: 'User', + link: '/apps/user/view' + }, + { + id: 17, + target: 'userEdit', + isBookmarked: false, + title: 'User Edit', + icon: 'User', + link: '/apps/user/edit' + }, + { + id: 18, + target: 'login-v1', + isBookmarked: false, + title: 'Login v1 Page', + icon: 'LogIn', + link: '/pages/login-v1' + }, + { + id: 19, + target: 'login-v2', + isBookmarked: false, + title: 'Login v2 Page', + icon: 'LogIn', + link: '/pages/login-v2' + }, + { + id: 20, + target: 'register-v1', + isBookmarked: false, + title: 'Register v1 Page', + icon: 'UserPlus', + link: '/pages/register-v1' + }, + { + id: 21, + target: 'register-v2', + isBookmarked: false, + title: 'Register v2 Page', + icon: 'UserPlus', + link: '/pages/register-v2' + }, + { + id: 22, + target: 'forgotPassword-v1', + isBookmarked: false, + title: 'Forgot Password v1 Page', + icon: 'Crosshair', + link: '/pages/forgot-password-v1' + }, + { + id: 23, + target: 'forgotPassword-v2', + isBookmarked: false, + title: 'Forgot Password v2 Page', + icon: 'Crosshair', + link: '/pages/forgot-password-v2' + }, + { + id: 24, + target: 'resetPassword-v1', + isBookmarked: false, + title: 'Reset Password v1 Page', + icon: 'TrendingUp', + link: '/pages/reset-password-v1' + }, + { + id: 25, + target: 'resetPassword-v2', + isBookmarked: false, + title: 'Reset Password v2 Page', + icon: 'TrendingUp', + link: '/pages/reset-password-v2' + }, + { + id: 26, + target: 'accountSettings', + isBookmarked: false, + title: 'Account Settings', + icon: 'Settings', + link: '/pages/account-settings' + }, + { + id: 27, + target: 'profile', + isBookmarked: false, + title: 'Profile Page', + icon: 'Users', + link: '/pages/profile', + collapsed: true + }, + { + id: 28, + target: 'faq', + isBookmarked: false, + title: 'FAQ Page', + icon: 'Zap', + link: '/pages/faq' + }, + { + id: 29, + target: 'knowledgeBase', + isBookmarked: false, + title: 'Knowledge Base Page', + icon: 'AlignLeft', + link: '/pages/knowledge-base' + }, + + { + id: 30, + target: 'pricing', + isBookmarked: false, + title: 'Pricing', + icon: 'DollarSign', + link: '/pages/pricing' + }, + + { + id: 31, + target: 'blogList', + isBookmarked: false, + title: 'Blog List', + icon: 'List', + link: '/pages/blog/list' + }, + { + id: 32, + target: 'blogDetail', + isBookmarked: false, + title: 'Blog Details', + icon: 'FileText', + link: '/pages/blog/detail' + }, + { + id: 33, + target: 'blogEdit', + isBookmarked: false, + title: 'Blog Edit', + icon: 'Edit', + link: '/pages/blog/edit' + }, + + { + id: 34, + target: 'comingSoon', + isBookmarked: false, + title: 'Coming Soon Page', + icon: 'Watch', + link: '/misc/coming-soon' + }, + + { + id: 35, + target: 'notAuthorized', + isBookmarked: false, + title: 'Not Authorized Page', + icon: 'UserX', + link: '/misc/not-authorized' + }, + { + id: 36, + target: 'maintenance', + isBookmarked: false, + title: 'Maintenance Page', + icon: 'Aperture', + link: '/misc/maintenance' + }, + { + id: 37, + target: 'error', + isBookmarked: false, + title: 'Error', + icon: 'AlertTriangle', + link: '/misc/error' + }, + { + id: 38, + target: 'typography', + isBookmarked: false, + title: 'Typography', + icon: 'Type', + link: '/ui-element/typography' + }, + { + id: 39, + target: 'colors', + isBookmarked: false, + title: 'Colors', + icon: 'Feather', + link: '/colors/colors' + }, + { + id: 40, + target: 'feather', + isBookmarked: false, + title: 'Feather Icons', + icon: 'Feather', + link: '/icons/reactfeather' + }, + { + id: 41, + target: 'basic', + isBookmarked: false, + title: 'Card Basic', + icon: 'Square', + link: '/cards/basic' + }, + { + id: 42, + target: 'cardAdvance', + isBookmarked: false, + title: 'Card Advance', + icon: 'Tablet', + link: '/cards/advance' + }, + { + id: 43, + target: 'cardStatistics', + isBookmarked: false, + title: 'Card Statistics', + icon: 'Smartphone', + link: '/cards/statistics' + }, + { + id: 44, + target: 'CardAnalytics', + isBookmarked: false, + title: 'Card Analytics', + icon: 'BarChart2', + link: '/cards/analytics' + }, + { + id: 45, + target: 'cardActions', + isBookmarked: false, + title: 'Card Actions', + icon: 'Airplay', + link: '/cards/action' + }, + { + id: 46, + target: 'alerts', + isBookmarked: false, + title: 'Alerts', + icon: 'Info', + link: '/components/alerts' + }, + { + id: 47, + target: 'autoComplete', + isBookmarked: false, + title: 'Auto Complete', + icon: 'Search', + link: '/components/auto-complete' + }, + { + id: 48, + target: 'avatar', + isBookmarked: false, + title: 'Avatar', + icon: 'User', + link: '/components/avatar' + }, + { + id: 49, + target: 'badges', + isBookmarked: false, + title: 'Badges', + icon: 'Circle', + link: '/components/badges' + }, + { + id: 50, + target: 'breadCrumbs', + isBookmarked: false, + title: 'Breadcrumbs', + icon: 'MoreHorizontal', + link: '/components/breadcrumbs' + }, + { + id: 51, + target: 'buttons', + isBookmarked: false, + title: 'Buttons', + icon: 'Inbox', + link: '/components/buttons' + }, + { + id: 52, + target: 'carousel', + isBookmarked: false, + title: 'Carousel', + icon: 'Map', + link: '/components/carousel' + }, + { + id: 53, + target: 'collapse', + isBookmarked: false, + title: 'Collapse', + icon: 'Minimize', + link: '/components/collapse' + }, + { + id: 54, + target: 'divider', + isBookmarked: false, + title: 'Divider', + icon: 'Minus', + link: '/components/divider' + }, + { + id: 55, + target: 'dropDowns', + isBookmarked: false, + title: 'Dropdowns', + icon: 'Inbox', + link: '/components/dropdowns' + }, + { + id: 56, + target: 'listGroup', + isBookmarked: false, + title: 'List Group', + icon: 'Layers', + link: '/components/list-group' + }, + { + id: 57, + target: 'mediaObjects', + isBookmarked: false, + title: 'Media Objects', + icon: 'Image', + link: '/components/media-objects' + }, + { + id: 58, + target: 'modals', + isBookmarked: false, + title: 'Modals', + icon: 'Maximize2', + link: '/components/modals' + }, + { + id: 59, + target: 'navsComponent', + isBookmarked: false, + title: 'Navs Component', + icon: 'MoreVertical', + link: '/components/nav-component' + }, + { + id: 60, + target: 'pagination', + isBookmarked: false, + title: 'Pagination', + icon: 'ChevronsRight', + link: '/components/pagination' + }, + { + id: 61, + target: 'pillBadges', + isBookmarked: false, + title: 'Pill Badges', + icon: 'Circle', + link: '/components/pill-badges' + }, + { + id: 62, + target: 'pillsComponent', + isBookmarked: false, + title: 'Pills Component', + icon: 'ToggleRight', + link: '/components/pills-component' + }, + { + id: 63, + target: 'popovers', + isBookmarked: false, + title: 'Popovers', + icon: 'MessageCircle', + link: '/components/popovers' + }, + { + id: 64, + target: 'progress', + isBookmarked: false, + title: 'Progress', + icon: 'Server', + link: '/components/progress' + }, + { + id: 65, + target: 'spinners', + isBookmarked: false, + title: 'Spinners', + icon: 'Sun', + link: '/components/spinners' + }, + { + id: 66, + target: 'tabsComponent', + isBookmarked: false, + title: 'Tabs Component', + icon: 'Server', + link: '/components/tabs-component' + }, + { + id: 67, + target: 'timeline', + isBookmarked: false, + title: 'Timeline', + icon: 'MoreVertical', + link: '/components/timeline' + }, + { + id: 68, + target: 'toasts', + isBookmarked: false, + title: 'Toasts', + icon: 'Triangle', + link: '/components/toasts' + }, + { + id: 69, + target: 'tooltips', + isBookmarked: false, + title: 'Tooltips', + icon: 'MessageCircle', + link: '/components/tooltips' + }, + { + id: 70, + target: 'sweetAlert', + isBookmarked: false, + title: 'Sweet Alerts', + icon: 'AlertTriangle', + link: '/extensions/sweet-alert' + }, + { + id: 71, + target: 'blockui', + isBookmarked: false, + title: 'BlockUI', + icon: 'Loader', + link: '/components/blockui' + }, + { + id: 72, + target: 'toastr', + isBookmarked: false, + title: 'Toastr', + icon: 'CreditCard', + link: '/extensions/toastr' + }, + { + id: 73, + target: 'slider', + isBookmarked: false, + title: 'Slider', + icon: 'Sliders', + link: '/extensions/slider' + }, + { + id: 74, + target: 'drag_&_drop', + isBookmarked: false, + title: 'Drag & Drop', + icon: 'Move', + link: '/extensions/drag-and-drop' + }, + { + id: 75, + target: 'tour', + isBookmarked: false, + title: 'Tour', + icon: 'Airplay', + link: '/extensions/tour' + }, + { + id: 76, + target: 'clipBoard', + isBookmarked: false, + title: 'Clipboard', + icon: 'Clipboard', + link: '/extensions/clipboard' + }, + { + id: 77, + target: 'mediaPlayer', + isBookmarked: false, + title: 'React Player', + icon: 'Film', + link: '/extensions/react-player' + }, + { + id: 78, + target: 'contentMenu', + isBookmarked: false, + title: 'Context Menu', + icon: 'Menu', + link: '/extensions/context-menu' + }, + { + id: 79, + target: 'swiper', + isBookmarked: false, + title: 'Swiper', + icon: 'Smartphone', + link: '/extensions/swiper' + }, + { + id: 81, + target: 'ratings', + isBookmarked: false, + title: 'Ratings', + icon: 'Star', + link: '/extensions/ratings' + }, + { + id: 82, + target: 'i18n', + isBookmarked: false, + title: 'I18n', + icon: 'Globe', + link: '/extensions/i18n' + }, + { + id: 83, + target: 'access-control', + isBookmarked: false, + title: 'Access Control', + icon: 'Lock', + link: '/access-control' + }, + { + id: 84, + target: 'extPagination', + isBookmarked: false, + title: 'React Paginate', + icon: 'MoreHorizontal', + link: '/extensions/pagination' + }, + { + id: 85, + target: 'extImport', + isBookmarked: false, + title: 'Import', + icon: 'DownloadCloud', + link: '/extensions/import' + }, + { + id: 86, + target: 'extExport', + isBookmarked: false, + title: 'Export', + icon: 'UploadCloud', + link: '/extensions/export' + }, + { + id: 87, + target: 'extExportSelected', + isBookmarked: false, + title: 'Export Selected', + icon: 'CheckSquare', + link: '/extensions/export-selected' + }, + { + id: 88, + target: 'pageLayout-collapsedMenu', + isBookmarked: false, + title: 'Collapsed Menu Page Layout', + icon: 'Layout', + link: '/page-layout/collapse-menu' + }, + { + id: 89, + target: 'pageLayout-layoutBoxed', + isBookmarked: false, + title: 'Boxed Page Layout', + icon: 'Layout', + link: '/page-layout/layout-boxed' + }, + { + id: 90, + target: 'pageLayout-withoutMenu', + isBookmarked: false, + title: 'Without Menu Page Layout', + icon: 'Layout', + link: '/page-layout/without-menu' + }, + { + id: 91, + target: 'pageLayout-layoutEmpty', + isBookmarked: false, + title: 'Empty Page Layout', + icon: 'Layout', + link: '/page-layout/layout-empty' + }, + { + id: 92, + target: 'pageLayout-layoutBlank', + isBookmarked: false, + title: 'Blank Page Layout', + icon: 'Layout', + link: '/page-layout/layout-blank' + }, + { + id: 93, + target: 'input', + isBookmarked: false, + title: 'Input', + icon: 'Server', + link: '/forms/elements/input' + }, + { + id: 94, + target: 'inputGroup', + isBookmarked: false, + title: 'Input Group', + icon: 'Package', + link: '/forms/elements/input-group' + }, + { + id: 95, + target: 'inputMask', + isBookmarked: false, + title: 'Input Mask', + icon: 'Copy', + link: '/forms/elements/input-mask' + }, + { + id: 96, + target: 'textarea', + isBookmarked: false, + title: 'Textarea', + icon: 'Edit2', + link: '/forms/elements/textarea' + }, + { + id: 97, + target: 'checkbox', + isBookmarked: false, + title: 'Checkbox', + icon: 'CheckSquare', + link: '/forms/elements/checkbox' + }, + { + id: 98, + target: 'radio', + isBookmarked: false, + title: 'Radio', + icon: 'StopCircle', + link: '/forms/elements/radio' + }, + { + id: 99, + target: 'switch', + isBookmarked: false, + title: 'Switch', + icon: 'ToggleLeft', + link: '/forms/elements/switch' + }, + { + id: 100, + target: 'select', + isBookmarked: false, + title: 'Select', + icon: 'Server', + link: '/forms/elements/select' + }, + { + id: 101, + target: 'numberInput', + isBookmarked: false, + title: 'Number Input', + icon: 'Plus', + link: '/forms/elements/number-input' + }, + { + id: 102, + target: 'fileUploader', + isBookmarked: false, + title: 'File Uploader', + icon: 'Upload', + link: '/forms/elements/file-uploader' + }, + { + id: 103, + target: 'quillEditor', + isBookmarked: false, + title: 'Editor', + icon: 'Edit3', + link: '/forms/elements/editor' + }, + { + id: 104, + target: 'date_&_timePicker', + isBookmarked: false, + title: 'Date & Time Picker', + icon: 'Calendar', + link: '/forms/elements/pickers' + }, + { + id: 105, + target: 'formLayouts', + isBookmarked: false, + title: 'Form Layouts', + icon: 'Layout', + link: '/forms/layout/form-layout' + }, + { + id: 106, + target: 'wizard', + isBookmarked: false, + title: 'Form Wizard', + icon: 'Sliders', + link: '/forms/wizard' + }, + { + id: 107, + target: 'react-hook-form', + isBookmarked: false, + title: 'React Hook Form Validation', + icon: 'ThumbsUp', + link: '/forms/react-hook-form' + }, + { + id: 108, + target: 'reactstrapVal', + isBookmarked: false, + title: 'Reactstrap Validation', + icon: 'ThumbsUp', + link: '/forms/reactstrap-validation' + }, + { + id: 109, + target: 'formRepeater', + isBookmarked: false, + title: 'Form Repeater', + icon: 'RotateCw', + link: '/forms/form-repeater' + }, + { + id: 110, + target: 'tablesReactstrap', + isBookmarked: false, + title: 'Reactstrap Tables', + icon: 'Grid', + link: '/tables/reactstrap' + }, + { + id: 111, + target: 'dtBasic', + isBookmarked: false, + title: 'Datatables Basic', + icon: 'Grid', + link: '/datatables/basic' + }, + { + id: 112, + target: 'dtAdvance', + isBookmarked: false, + title: 'Datatables Advance', + icon: 'Grid', + link: '/datatables/advance' + }, + { + id: 114, + target: 'apex', + isBookmarked: false, + title: 'Apex Charts', + icon: 'BarChart', + link: '/charts/apex' + }, + { + id: 115, + target: 'chartJs', + isBookmarked: false, + title: 'ChartJS', + icon: 'Activity', + link: '/charts/chartjs' + }, + { + id: 116, + target: 'recharts', + isBookmarked: false, + title: 'Recharts', + icon: 'BarChart2', + link: '/charts/recharts' + }, + { + id: 117, + target: 'leafletMaps', + isBookmarked: false, + title: 'Leaflet Maps', + icon: 'MapPin', + link: '/maps/leaflet' + } + ] + }, + { + groupTitle: 'Files', + searchLimit: 4, + data: [ + { + title: 'Passport Image', + by: 'Oliver Queen', + size: '52kb', + file: require('@src/assets/images/icons/jpg.png').default + }, + { + title: 'Parenting Guide', + by: 'Alfred Pennyworth', + size: '2.3mb', + file: require('@src/assets/images/icons/doc.png').default + }, + { + title: 'Class Notes', + by: 'Barry Allen', + size: '30kb', + file: require('@src/assets/images/icons/doc.png').default + }, + { + title: 'Class Attendance', + by: 'Walter White', + size: '52mb', + file: require('@src/assets/images/icons/xls.png').default + } + ] + }, + { + groupTitle: 'Contacts', + searchLimit: 4, + data: [ + { + title: 'Mia Davis', + email: 'miadavis@teleworm.us', + img: require('@src/assets/images/portrait/small/avatar-s-8.jpg').default, + date: '01/03/2020' + }, + { + title: 'Norris Carrière', + email: 'NorrisCarriere@rhyta.com', + img: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + date: '07/03/2020' + }, + { + title: 'Charlotte Gordon', + email: 'CharlotteGordon@jourrapide.com', + img: require('@src/assets/images/portrait/small/avatar-s-26.jpg').default, + date: '14/03/2020' + }, + { + title: 'Robert Nash', + email: 'RobertNash@dayrep.com', + img: require('@src/assets/images/portrait/small/avatar-s-25.jpg').default, + date: '21/03/2020' + } + ] + } +] + +// GET Search Data +mock.onGet('/api/main-search/data').reply(config => { + return [200, { searchArr }] +}) + +// GET Search Data & Bookmarks +mock.onGet('/api/bookmarks/data').reply(config => { + const bookmarks = searchArr[0].data.filter(item => item.isBookmarked) + const suggestions = searchArr[0].data + return [200, { suggestions, bookmarks }] +}) + +// POST Update isBookmarked +mock.onPost('/api/bookmarks/update').reply(config => { + const { id } = JSON.parse(config.data) + + const obj = searchArr[0].data.find(item => item.id === id) + + Object.assign(obj, { isBookmarked: !obj.isBookmarked }) + + return [200] +}) diff --git a/src/@fake-db/pages/account-settings.js b/src/@fake-db/pages/account-settings.js new file mode 100644 index 0000000..ff501b9 --- /dev/null +++ b/src/@fake-db/pages/account-settings.js @@ -0,0 +1,51 @@ +import mock from '../mock' +const data = { + accountSetting: { + general: { + avatar: require('@src/assets/images/portrait/small/avatar-s-11.jpg').default, + username: 'johndoe', + fullName: 'John Doe', + email: 'granger007@hogward.com', + company: 'IBM Technology' + }, + info: { + bio: '', + dob: null, + country: 'USA', + website: '', + phone: 6562542568 + }, + social: { + socialLinks: { + twitter: 'https://www.twitter.com', + facebook: '', + google: '', + linkedIn: 'https://www.linkedin.com', + instagram: '', + quora: '' + }, + connections: { + twitter: { + profileImg: require('@src/assets/images/avatars/11-small.png').default, + id: 'johndoe' + }, + google: { + profileImg: require('@src/assets/images/avatars/3-small.png').default, + id: 'luraweber' + }, + facebook: {}, + github: {} + } + }, + notification: { + commentOnArticle: true, + answerOnForm: true, + followMe: false, + newAnnouncements: true, + productUpdates: true, + blogDigest: false + } + } +} + +mock.onGet('/account-setting/data').reply(() => [200, data.accountSetting]) diff --git a/src/@fake-db/pages/blog-data.js b/src/@fake-db/pages/blog-data.js new file mode 100644 index 0000000..bd9c41b --- /dev/null +++ b/src/@fake-db/pages/blog-data.js @@ -0,0 +1,157 @@ +import mock from '../mock' + +const data = { + // blog list + blogList: [ + { + img: require('@src/assets/images/slider/02.jpg').default, + title: 'The Best Features Coming to iOS and Web design', + id: 1, + avatar: require('@src/assets/images/portrait/small/avatar-s-7.jpg').default, + userFullName: 'Ghani Pradita', + blogPosted: 'Jan 10, 2020', + tags: ['Quote', 'Fashion'], + excerpt: 'Donut fruitcake soufflé apple pie candy canes jujubes croissant chocolate bar ice cream.', + comment: 76 + }, + { + img: require('@src/assets/images/slider/06.jpg').default, + title: 'Latest Quirky Opening Sentence or Paragraph', + id: 2, + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + userFullName: 'Jorge Griffin', + blogPosted: 'Jan 10, 2020', + tags: ['Gaming', 'Video'], + excerpt: 'Apple pie caramels lemon drops halvah liquorice carrot cake. Tiramisu brownie lemon drops.', + comment: 2100 + }, + { + img: require('@src/assets/images/slider/04.jpg').default, + title: 'Share an Amazing and Shocking Fact or Statistic', + id: 3, + avatar: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + userFullName: 'Claudia Neal', + blogPosted: 'Jan 10, 2020', + tags: ['Gaming', 'Food'], + excerpt: 'Tiramisu jelly-o chupa chups tootsie roll donut wafer marshmallow cheesecake topping.', + comment: 243 + }, + { + img: require('@src/assets/images/slider/03.jpg').default, + title: 'Withhold a Compelling Piece of Information', + id: 4, + avatar: require('@src/assets/images/portrait/small/avatar-s-14.jpg').default, + userFullName: 'Fred Boone', + blogPosted: 'Jan 10, 2020', + tags: ['Video'], + excerpt: 'Croissant apple pie lollipop gingerbread. Cookie jujubes chocolate cake icing cheesecake.', + comment: 10 + }, + { + img: require('@src/assets/images/slider/09.jpg').default, + title: 'Unadvertised Bonus Opening: Share a Quote', + id: 5, + avatar: require('@src/assets/images/portrait/small/avatar-s-13.jpg').default, + userFullName: 'Billy French', + blogPosted: 'Jan 10, 2020', + tags: ['Quote', 'Fashion'], + excerpt: 'Muffin liquorice candy soufflé bear claw apple pie icing halvah. Pie marshmallow jelly.', + comment: 319 + }, + { + img: require('@src/assets/images/slider/10.jpg').default, + title: 'Ships at a distance have Every Man’s Wish on Board', + id: 6, + avatar: require('@src/assets/images/portrait/small/avatar-s-13.jpg').default, + userFullName: 'Helena Hunt', + blogPosted: 'Jan 10, 2020', + tags: ['Fashion', 'Video'], + excerpt: 'A little personality goes a long way, especially on a business blog. So don’t be afraid to let loose.', + comment: 1500 + } + ], + + // sidebar + blogSidebar: { + recentPosts: [ + { + img: require('@src/assets/images/banner/banner-22.jpg').default, + title: 'Why Should Forget Facebook?', + id: 7, + createdTime: 'Jan 14 2020' + }, + { + img: require('@src/assets/images/banner/banner-27.jpg').default, + title: 'Publish your passions, your way', + id: 8, + createdTime: 'Mar 04 2020' + }, + { + img: require('@src/assets/images/banner/banner-39.jpg').default, + title: 'The Best Ways to Retain More', + id: 9, + createdTime: 'Feb 18 2020' + }, + { + img: require('@src/assets/images/banner/banner-35.jpg').default, + title: 'Share a Shocking Fact or Statistic', + id: 10, + createdTime: 'Oct 08 2020' + } + ], + categories: [ + { category: 'Fashion', icon: 'Watch' }, + { category: 'Food', icon: 'ShoppingCart' }, + { category: 'Gaming', icon: 'Command' }, + { category: 'Quote', icon: 'Hash' }, + { category: 'Video', icon: 'Video' } + ] + }, + + // detail + blogDetail: { + blog: { + img: require('@src/assets/images/banner/banner-12.jpg').default, + title: 'The Best Features Coming to iOS and Web design', + avatar: require('@src/assets/images/portrait/small/avatar-s-7.jpg').default, + userFullName: 'Ghani Pradita', + createdTime: 'Jan 10, 2020', + tags: ['Gaming', 'Video'], + content: + '

    Before you get into the nitty-gritty of coming up with a perfect title, start with a rough draft: your working title. What is that, exactly? A lot of people confuse working titles with topics. Let\'s clear that Topics are very general and could yield several different blog posts. Think "raising healthy kids," or "kitchen storage." A writer might look at either of those topics and choose to take them in very, very different directions.A working title, on the other hand, is very specific and guides the creation of a single blog post. For example, from the topic "raising healthy kids," you could derive the following working title See how different and specific each of those is? That\'s what makes them working titles, instead of overarching topics.

    Unprecedented Challenge

    • Preliminary thinking systems
    • Bandwidth efficient
    • Green space
    • Social impact
    • Thought partnership
    • Fully ethical life
    ', + comments: 19100, + bookmarked: 139 + }, + comments: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + userFullName: 'Chad Alexander', + commentedAt: 'May 24, 2020', + commentText: + 'A variation on the question technique above, the multiple-choice question great way to engage your reader.' + } + ] + }, + + // edit + blogEdit: { + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + userFullName: 'Chad Alexander', + createdTime: 'May 24, 2020', + blogTitle: 'The Best Features Coming to iOS and Web design', + blogCategories: [ + { value: 'fashion', label: 'Fashion' }, + { value: 'gaming', label: 'Gaming' } + ], + slug: 'the-best-features-coming-to-ios-and-web-design', + status: 'Published', + excerpt: + '

    Cupcake ipsum dolor sit. Amet dessert donut candy chocolate bar cotton dessert candy chocolate. Candy muffin danish. Macaroon brownie jelly beans marzipan cheesecake oat cake. Carrot cake macaroon chocolate cake. Jelly brownie jelly. Marzipan pie sweet roll.


    Liquorice dragée cake chupa chups pie cotton candy jujubes bear claw sesame snaps. Fruitcake chupa chups chocolate bonbon lemon drops croissant caramels lemon drops. Candy jelly cake marshmallow jelly beans dragée macaroon. Gummies sugar plum fruitcake. Candy canes candy cupcake caramels cotton candy jujubes fruitcake.

    ', + featuredImage: require('@src/assets/images/slider/03.jpg').default + } +} + +mock.onGet('/blog/list/data').reply(() => [200, data.blogList]) +mock.onGet('/blog/list/data/sidebar').reply(() => [200, data.blogSidebar]) +mock.onGet('/blog/list/data/detail').reply(() => [200, data.blogDetail]) +mock.onGet('/blog/list/data/edit').reply(() => [200, data.blogEdit]) diff --git a/src/@fake-db/pages/faq.js b/src/@fake-db/pages/faq.js new file mode 100644 index 0000000..3ec23c0 --- /dev/null +++ b/src/@fake-db/pages/faq.js @@ -0,0 +1,205 @@ +import mock from '../mock' +const data = { + faqData: { + // payment + payment: { + icon: 'CreditCard', + title: 'Payment', + subtitle: 'Which license do I need?', + qandA: [ + { + question: 'Does my subscription automatically renew?', + ans: + 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.' + }, + { + question: 'Can I store the item on an intranet so everyone has access?', + ans: + 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.' + }, + { + question: 'What does non-exclusive mean?', + ans: + 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.' + }, + { + question: 'Is the Regular License the same thing as an editorial license?', + ans: + 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.' + }, + { + question: 'Which license do I need for an end product that is only accessible to paying users?', + ans: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.' + }, + { + question: 'Which license do I need to use an item in a commercial?', + ans: + 'At tempor commodo ullamcorper a lacus vestibulum. Ultrices neque ornare aenean euismod. Dui vivamus arcu felis bibendum. Turpis in eu mi bibendum neque egestas congue. Nullam ac tortor vitae purus faucibus ornare suspendisse sed.' + }, + { + question: 'Can I re-distribute an item? What about under an Extended License?', + ans: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Euismod lacinia at quis risus sed vulputate odio ut enim. Dictum at tempor commodo ullamcorper a lacus vestibulum.' + } + ] + }, + // delivery + delivery: { + icon: 'ShoppingBag', + title: 'Delivery', + subtitle: 'Which license do I need?', + qandA: [ + { + question: 'Where has my order reached?', + ans: + 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.' + }, + { + question: + 'The shipment status shows that it has been returned/cancelled. What does it mean and who do I contact?', + ans: + 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.' + }, + { + question: 'What if my shipment is marked as lost?', + ans: + 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.' + }, + { + question: 'My shipment status shows that it’s out for delivery. By when will I receive it?', + ans: + 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.' + }, + { + question: 'What do I need to do to get the shipment delivered within a specific timeframe?', + ans: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.' + } + ] + }, + // cancellation and return + cancellationReturn: { + icon: 'RefreshCw', + title: 'Cancellation & Return', + subtitle: 'Which license do I need?', + qandA: [ + { + question: 'Can my security guard or neighbour receive my shipment if I am not available?', + ans: + 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.' + }, + { + question: 'How can I get the contact number of my delivery agent?', + ans: + 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.' + }, + { + question: 'How can I cancel my shipment?', + ans: + 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.' + }, + { + question: 'I have received a defective/damaged product. What do I do?', + ans: + 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.' + }, + { + question: 'How do I change my delivery address?', + ans: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.' + }, + { + question: 'What documents do I need to carry for self-collection of my shipment?', + ans: + 'At tempor commodo ullamcorper a lacus vestibulum. Ultrices neque ornare aenean euismod. Dui vivamus arcu felis bibendum. Turpis in eu mi bibendum neque egestas congue. Nullam ac tortor vitae purus faucibus ornare suspendisse sed. Commodo viverra maecenas accumsan lacus vel facilisis volutpat est velit. Tortor consequat id porta nibh. Id aliquet lectus proin nibh nisl condimentum id venenatis a. Faucibus nisl tincidunt eget nullam non nisi. Enim nunc faucibus a pellentesque. Pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus. Nec nam aliquam sem et tortor consequat id. Fringilla est ullamcorper eget nulla facilisi. Morbi tristique senectus et netus et.' + }, + { + question: 'What are the timings for self-collecting shipments from the Delhivery Branch?', + ans: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Euismod lacinia at quis risus sed vulputate odio ut enim. Dictum at tempor commodo ullamcorper a lacus vestibulum.' + } + ] + }, + // my orders + myOrders: { + icon: 'Package', + title: 'My Orders', + subtitle: 'Which license do I need?', + qandA: [ + { + question: 'Can I avail of an open delivery?', + ans: + 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.' + }, + { + question: 'I haven’t received the refund of my returned shipment. What do I do?', + ans: + 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.' + }, + { + question: 'How can I ship my order to an international location?', + ans: + 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.' + }, + { + question: 'I missed the delivery of my order today. What should I do?', + ans: + 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.' + }, + { + question: 'The delivery of my order is delayed. What should I do?', + ans: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.' + } + ] + }, + // product and services + productServices: { + icon: 'Settings', + title: 'Product & Services', + subtitle: 'Which license do I need?', + qandA: [ + { + question: 'How can I register a complaint against the courier executive who came to deliver my order?', + ans: + 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.' + }, + { + question: 'The status for my shipment shows as ‘not picked up’. What do I do?', + ans: + 'Sweet pie candy jelly. Sesame snaps biscuit sugar plum. Sweet roll topping fruitcake. Caramels liquorice biscuit ice cream fruitcake cotton candy tart. Donut caramels gingerbread jelly-o gingerbread pudding. Gummi bears pastry marshmallow candy canes pie. Pie apple pie carrot cake.' + }, + { + question: 'How can I get a proof of delivery for my shipment?', + ans: + 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan.' + }, + { + question: 'How can I avail your services?', + ans: + 'Cheesecake muffin cupcake dragée lemon drops tiramisu cake gummies chocolate cake. Marshmallow tart croissant. Tart dessert tiramisu marzipan lollipop lemon drops. Cake bonbon bonbon gummi bears topping jelly beans brownie jujubes muffin. Donut croissant jelly-o cake marzipan. Liquorice marzipan cookie wafer tootsie roll. Tootsie roll sweet cupcake.' + } + ] + } + } +} + +mock.onGet('/faq/data').reply(config => { + const { q = '' } = config.params + const queryLowered = q.toLowerCase() + + const filteredData = {} + + Object.entries(data.faqData).forEach(entry => { + const [categoryName, categoryObj] = entry + const filteredQAndAOfCategory = categoryObj.qandA.filter(qAndAObj => { + return qAndAObj.question.toLowerCase().includes(queryLowered) + }) + if (filteredQAndAOfCategory.length) { + filteredData[categoryName] = { ...categoryObj, qandA: filteredQAndAOfCategory } + } + }) + + return [200, filteredData] +}) diff --git a/src/@fake-db/pages/knowledge-base.js b/src/@fake-db/pages/knowledge-base.js new file mode 100644 index 0000000..4dc68d2 --- /dev/null +++ b/src/@fake-db/pages/knowledge-base.js @@ -0,0 +1,287 @@ +import mock from '../mock' + +const data = { + // knowledge base + knowledgeBase: [ + { + id: 1, + category: 'sales-automation', + img: require('@src/assets/images/illustration/sales.svg').default, + title: 'Sales Automation', + desc: 'There is perhaps no better demonstration of the folly of image of our tiny world.' + }, + { + id: 2, + category: 'marketing-automation', + img: require('@src/assets/images/illustration/marketing.svg').default, + title: 'Marketing Automation', + desc: 'Look again at that dot. That’s here. That’s home. That’s us. On it everyone you love.' + }, + { + id: 3, + category: 'api-questions', + img: require('@src/assets/images/illustration/api.svg').default, + title: 'API Questions', + desc: 'every hero and coward, every creator and destroyer of civilization.' + }, + { + id: 4, + category: 'personalization', + img: require('@src/assets/images/illustration/personalization.svg').default, + title: 'Personalization', + desc: 'It has been said that astronomy is a humbling and character experience.' + }, + { + id: 5, + category: 'email-marketing', + img: require('@src/assets/images/illustration/email.svg').default, + title: 'Email Marketing', + desc: 'There is perhaps no better demonstration of the folly of human conceits.' + }, + { + id: 6, + category: 'demand-generation', + img: require('@src/assets/images/illustration/demand.svg').default, + title: 'Demand Generation', + desc: 'Competent means we will never take anything for granted.' + } + ], + categoryData: [ + { + id: 0, + title: 'Account Settings', + icon: 'Settings', + iconColor: 'text-primary', + questions: [ + { + id: 0, + question: 'How Secure Is My Password?', + slug: 'how-secure-is-my-password' + }, + { + id: 1, + question: 'Can I Change My Username?', + slug: 'can-i-change-my-username' + }, + { + id: 2, + question: 'Where Can I Upload My Avatar?', + slug: 'where-can-i-upload-my-avatar' + }, + { + id: 3, + question: 'How Do I Change My Timezone?', + slug: 'how-do-i-change-my-timezone' + }, + { + id: 4, + question: 'How Do I Change My Password?', + slug: 'how-do-i-change-my-password' + } + ] + }, + { + id: 1, + title: 'API Questions', + icon: 'Link', + iconColor: 'text-success', + questions: [ + { + id: 0, + question: 'Dessert halvah carrot cake sweet?', + slug: 'dessert-halvah-carrot-cake-sweet' + }, + { + id: 1, + question: 'Jelly beans bonbon marshmallow?', + slug: 'jelly-beans-bonbon-marshmallow' + }, + { + id: 2, + question: 'Marzipan chocolate gummi bears bonbon powder?', + slug: 'marzipan-chocolate-gummi-bears-bonbon-powder' + }, + { + id: 3, + question: 'Chupa chups lemon drops caramels?', + slug: 'chupa-chups-lemon-drops-caramels' + } + ] + }, + { + id: 2, + title: 'Billing', + icon: 'FileText', + iconColor: 'text-danger', + questions: [ + { + id: 0, + question: 'Oat cake lemon drops sweet sweet?', + slug: 'oat-cake-lemon-drops-sweet-sweet' + }, + { + id: 1, + question: 'Cotton candy brownie ice cream wafer roll?', + slug: 'cotton-candy-brownie-ice-cream-wafer-roll' + }, + { + id: 2, + question: 'Chocolate bonbon cake sugar plum?', + slug: 'chocolate-bonbon-cake-sugar-plum' + }, + { + id: 3, + question: 'Cake fruitcake chupa chups?', + slug: 'cake-fruitcake-chupa-chups' + }, + { + id: 4, + question: 'Fruitcake bonbon dessert gingerbread powder?', + slug: 'fruitcake-bonbon-dessert-gingerbread-powder' + } + ] + }, + { + id: 3, + title: 'Copyright & Legal', + icon: 'Lock', + iconColor: 'text-warning', + questions: [ + { + id: 0, + question: 'Marshmallow jelly beans oat cake?', + slug: 'marshmallow-jelly-beans-oat-cake' + }, + { + id: 1, + question: 'Cake ice cream jujubes cookie?', + slug: 'cake-ice-cream-jujubes-cookie' + }, + { + id: 2, + question: 'Sesame snaps tart cake pie chocolate?', + slug: 'sesame-snaps-tart-cake-pie-chocolate' + }, + { + id: 3, + question: 'Chocolate cake chocolate tootsi?', + slug: 'chocolate-cake-chocolate-tootsi' + }, + { + id: 4, + question: 'Caramels lemon drops tiramisu cake?', + slug: 'caramels-lemon-drops-tiramisu-cake' + }, + { + id: 5, + question: 'Brownie dessert gummies. Tiramisu bear claw apple?', + slug: 'brownie-dessert-gummies-tiramisu-bear-claw-apple' + } + ] + }, + { + id: 4, + title: 'Mobile Apps', + icon: 'Smartphone', + iconColor: 'text-info', + questions: [ + { + id: 0, + question: 'Macaroon tootsie roll?', + slug: 'macaroon-tootsie-roll' + }, + { + id: 1, + question: 'Cheesecake sweet soufflé jelly tiramisu chocolate?', + slug: 'cheesecake-sweet-soufflé-jelly-tiramisu-chocolate' + }, + { + id: 2, + question: 'Carrot cake topping tiramisu oat?', + slug: 'carrot-cake-topping-tiramisu-oat' + }, + { + id: 3, + question: 'Ice cream soufflé marshmallow?', + slug: 'ice-cream-soufflé-marshmallow' + }, + { + id: 4, + question: 'Dragée liquorice dragée jelly beans?', + slug: 'dragée-liquorice-dragée-jelly-beans' + }, + { + id: 5, + question: 'Lemon drops gingerbread chupa chups tiramisu?', + slug: 'lemon-drops-gingerbread-chupa-chups-tiramisu' + } + ] + }, + { + id: 5, + title: 'Using KnowHow', + icon: 'HelpCircle', + iconColor: '', + questions: [ + { + id: 0, + question: 'Brownie dessert gummies?', + slug: 'brownie-dessert-gummies' + }, + { + id: 1, + question: 'Cookie tiramisu lollipop?', + slug: 'cookie-tiramisu-lollipop' + }, + { + id: 2, + question: 'Bonbon sugar plum jelly-o?', + slug: 'bonbon-sugar-plum-jelly-o' + }, + { + id: 3, + question: 'Halvah chupa chups chupa chups?', + slug: 'halvah-chupa-chups-chupa-chups' + } + ] + } + ], + questionData: { + title: 'Why Was My Developer Application Rejected?', + lastUpdated: '10 Dec 2018', + relatedQuestions: [ + { + id: 0, + question: 'Cake icing gummi bears?' + }, + { + id: 1, + question: 'Jelly soufflé apple pie?' + }, + { + id: 2, + question: 'Soufflé apple pie ice cream cotton?' + }, + { + id: 3, + question: 'Powder wafer brownie?' + }, + { + id: 4, + question: 'Toffee donut dragée cotton candy?' + }, + { + id: 5, + question: 'Soufflé chupa chups chocolate bar?' + } + ], + // ! Here we have used require for image source but in API it shall be URL of live image, this is just for demo purpose + content: `

    It has been said that astronomy is a humbling and character-building experience. There is perhaps no better demonstration of the folly of human conceits than this distant image of our tiny world. To me, it underscores our responsibility to deal more kindly with one another, and to preserve and cherish the pale blue dot, the only home we’ve ever known. The Earth is a very small stage in a vast cosmic arena. Think of the rivers of blood spilled by all those generals and emperors so that, in glory and triumph, they could become the momentary masters of a fraction of a dot. Think of the endless cruelties visited by the inhabitants of one corner of this pixel on the scarcely distinguishable inhabitants of some other corner, how frequent their misunderstandings, how eager they are to kill one another, how fervent their hatreds.

    Houston

    that may have seemed like a very long final phase. The auto targeting was taking us right into a … crater, with a large number of big boulders and rocks … and it required …flying manually over the rock field to find a reasonably good area.

    ` + } +} + +mock.onGet('/faq/data/knowledge_base').reply(() => [200, data.knowledgeBase]) +mock.onGet('/faq/data/category').reply(() => [200, data.categoryData]) +mock.onGet('/faq/data/question').reply(() => [200, data.questionData]) diff --git a/src/@fake-db/pages/pricing-data.js b/src/@fake-db/pages/pricing-data.js new file mode 100644 index 0000000..555a160 --- /dev/null +++ b/src/@fake-db/pages/pricing-data.js @@ -0,0 +1,79 @@ +import mock from '../mock' + +const data = { + pricing: { + basicPlan: { + title: 'Basic', + img: require('@src/assets/images/illustration/Pot1.svg').default, + subtitle: 'A simple start for everyone', + monthlyPrice: 0, + yearlyPlan: { + perMonth: 0, + totalAnnual: 0 + }, + planBenefits: [ + '100 responses a month', + 'Unlimited forms and surveys', + 'Unlimited fields', + 'Basic form creation tools', + 'Up to 2 subdomains' + ], + popular: false + }, + standardPlan: { + title: 'Standard', + img: require('@src/assets/images/illustration/Pot2.svg').default, + subtitle: 'For small to medium businesses', + monthlyPrice: 49, + yearlyPlan: { + perMonth: 40, + totalAnnual: 480 + }, + planBenefits: [ + 'Unlimited responses', + 'Unlimited forms and surveys', + 'Instagram profile page', + 'Google Docs integration', + 'Custom “Thank you” page' + ], + popular: true + }, + enterprisePlan: { + title: 'Enterprise', + img: require('@src/assets/images/illustration/Pot3.svg').default, + subtitle: 'Solution for big organizations', + monthlyPrice: 99, + yearlyPlan: { + perMonth: 80, + totalAnnual: 960 + }, + planBenefits: [ + 'PayPal payments', + 'Logic Jumps', + 'File upload with 5GB storage', + 'Custom domain support', + 'Stripe integration' + ], + popular: false + }, + qandA: [ + { + question: 'Does my subscription automatically renew?', + ans: + 'Pastry pudding cookie toffee bonbon jujubes jujubes powder topping. Jelly beans gummi bears sweet roll bonbon muffin liquorice. Wafer lollipop sesame snaps. Brownie macaroon cookie muffin cupcake candy caramels tiramisu. Oat cake chocolate cake sweet jelly-o brownie biscuit marzipan. Jujubes donut marzipan chocolate bar. Jujubes sugar plum jelly beans tiramisu icing cheesecake.' + }, + { + question: 'Can I store the item on an intranet so everyone has access?', + ans: + 'Tiramisu marshmallow dessert halvah bonbon cake gingerbread. Jelly beans chocolate pie powder. Dessert pudding chocolate cake bonbon bear claw cotton candy cheesecake. Biscuit fruitcake macaroon carrot cake. Chocolate cake bear claw muffin chupa chups pudding.' + }, + { + question: 'Am I allowed to modify the item that I purchased?', + ans: + 'Tart gummies dragée lollipop fruitcake pastry oat cake. Cookie jelly jelly macaroon icing jelly beans soufflé cake sweet. Macaroon sesame snaps cheesecake tart cake sugar plum. Dessert jelly-o sweet muffin chocolate candy pie tootsie roll marzipan. Carrot cake marshmallow pastry. Bonbon biscuit pastry topping toffee dessert gummies. Topping apple pie pie croissant cotton candy dessert tiramisu.' + } + ] + } +} + +mock.onGet('/pricing/data').reply(() => [200, data.pricing]) diff --git a/src/@fake-db/pages/profile.js b/src/@fake-db/pages/profile.js new file mode 100644 index 0000000..7ccce38 --- /dev/null +++ b/src/@fake-db/pages/profile.js @@ -0,0 +1,314 @@ +import mock from '../mock' +const data = { + profileData: { + header: { + avatar: require('@src/assets/images/portrait/small/avatar-s-2.jpg').default, + username: 'Kitty Allanson', + designation: 'UI/UX Designer', + coverImg: require('@src/assets/images/profile/user-uploads/timeline.jpg').default + }, + userAbout: { + about: 'Tart I love sugar plum I love oat cake. Sweet ⭐️ roll caramels I love jujubes. Topping cake wafer.', + joined: 'November 15, 2015', + lives: 'New York, USA', + email: 'bucketful@fiendhead.org', + website: 'www.pixinvent.com' + }, + suggestedPages: [ + { + avatar: require('@src/assets/images/avatars/12-small.png').default, + username: 'Peter Reed', + subtitle: 'Company', + favorite: false + }, + { + avatar: require('@src/assets/images/avatars/1-small.png').default, + username: 'Harriett Adkins', + subtitle: 'Company', + favorite: false + }, + { + avatar: require('@src/assets/images/avatars/10-small.png').default, + username: 'Juan Weaver', + subtitle: 'Company', + favorite: false + }, + { + avatar: require('@src/assets/images/avatars/3-small.png').default, + username: 'Claudia Chandler', + subtitle: 'Company', + favorite: false + }, + { + avatar: require('@src/assets/images/avatars/5-small.png').default, + username: 'Earl Briggs', + subtitle: 'Company', + favorite: true + }, + { + avatar: require('@src/assets/images/avatars/6-small.png').default, + username: 'Jonathan Lyons', + subtitle: 'Beauty Store', + favorite: false + } + ], + twitterFeeds: [ + { + imgUrl: require('@src/assets/images/avatars/5-small.png').default, + title: 'Gertrude Stevens', + id: 'tiana59 ', + tags: '#design #fasion', + desc: 'I love cookie chupa chups sweet tart apple pie ⭐️ chocolate bar.', + favorite: false + }, + { + imgUrl: require('@src/assets/images/avatars/12-small.png').default, + title: 'Lura Jones', + id: 'tiana59 ', + tags: '#vuejs #code #coffeez', + desc: 'Halvah I love powder jelly I love cheesecake cotton candy. 😍', + favorite: true + }, + { + imgUrl: require('@src/assets/images/avatars/1-small.png').default, + title: 'Norman Gross', + id: 'tiana59 ', + tags: '#sketch #uiux #figma', + desc: 'Candy jelly beans powder brownie biscuit. Jelly marzipan oat cake cake.', + favorite: false + } + ], + post: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-18.jpg').default, + username: 'Leeanna Alvord', + postTime: '12 Dec 2018 at 1:16 AM', + postText: + 'Wonderful Machine· A well-written bio allows viewers to get to know a photographer beyond the work. This can make the difference when presenting to clients who are looking for the perfect fit.', + postImg: require('@src/assets/images/profile/post-media/2.jpg').default, + likes: 1240, + youLiked: true, + comments: '1.25k', + share: '1.05k', + likedUsers: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-1.jpg').default, + username: 'Trine Lynes' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-2.jpg').default, + username: 'Lilian Nenes' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + username: 'Alberto Glotzbach' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-5.jpg').default, + username: 'George Nordic' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-4.jpg').default, + username: 'Vinnie Mostowy' + } + ], + likedCount: 140, + detailedComments: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-6.jpg').default, + username: 'Kitty Allanson', + comment: 'Easy & smart fuzzy search🕵🏻 functionality which enables users to search quickly.', + commentsLikes: 34, + youLiked: false + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-8.jpg').default, + username: 'Jackey Potter', + comment: 'Unlimited color🖌 options allows you to set your application color as per your branding 🤪.', + commentsLikes: 61, + youLiked: true + } + ] + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-22.jpg').default, + username: 'Rosa Walters', + postTime: '11 Dec 2019 at 1:16 AM', + postText: + 'Wonderful Machine· A well-written bio allows viewers to get to know a photographer beyond the work. This can make the difference when presenting to clients who are looking for the perfect fit.', + postImg: require('@src/assets/images/profile/post-media/25.jpg').default, + likes: 1240, + youLiked: true, + comments: '1.25k', + share: '1.25k', + likedUsers: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-1.jpg').default, + username: 'Kori Scargle' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-2.jpg').default, + username: 'Florinda Mollison' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + username: 'Beltran Endley' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-5.jpg').default, + username: 'Kara Gerred' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-4.jpg').default, + username: 'Sophey Bru' + } + ], + likedCount: 271, + detailedComments: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + username: 'Kitty Allanson', + comment: 'Easy & smart fuzzy search🕵🏻 functionality which enables users to search quickly.', + commentsLikes: 34, + youLiked: false + } + ] + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-15.jpg').default, + username: 'Charles Watson', + postTime: '12 Dec 2019 at 1:16 AM', + postText: + 'Wonderful Machine· A well-written bio allows viewers to get to know a photographer beyond the work. This can make the difference when presenting to clients who are looking for the perfect fit.', + postVid: 'https://www.youtube.com/embed/6stlCkUDG_s', + likes: 1240, + youLiked: true, + comments: '1.25k', + share: '1.25k', + likedUsers: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-1.jpg').default, + username: 'Dehlia Bolderson' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-2.jpg').default, + username: 'De Lamy' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + username: 'Vallie Kingsley' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-5.jpg').default, + username: 'Nadia Armell' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-4.jpg').default, + username: 'Romonda Aseef' + } + ], + likedCount: 264, + detailedComments: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-3.jpg').default, + username: 'Kitty Allanson', + comment: 'Easy & smart fuzzy search🕵🏻 functionality which enables users to search quickly.', + commentsLikes: 34, + youLiked: false + } + ] + } + ], + latestPhotos: [ + { img: require('@src/assets/images/profile/user-uploads/user-13.jpg').default }, + { img: require('@src/assets/images/profile/user-uploads/user-02.jpg').default }, + { img: require('@src/assets/images/profile/user-uploads/user-03.jpg').default }, + { img: require('@src/assets/images/profile/user-uploads/user-04.jpg').default }, + { img: require('@src/assets/images/profile/user-uploads/user-05.jpg').default }, + { img: require('@src/assets/images/profile/user-uploads/user-06.jpg').default }, + { img: require('@src/assets/images/profile/user-uploads/user-07.jpg').default }, + { img: require('@src/assets/images/profile/user-uploads/user-08.jpg').default }, + { img: require('@src/assets/images/profile/user-uploads/user-09.jpg').default } + ], + suggestions: [ + { + avatar: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + name: 'Peter Reed', + mutualFriend: '6 Mutual Friends' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-6.jpg').default, + name: 'Harriett Adkins', + mutualFriend: '3 Mutual Friends' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-7.jpg').default, + name: 'Juan Weaver', + mutualFriend: '1 Mutual Friends' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-8.jpg').default, + name: 'Claudia Chandler', + mutualFriend: '16 Mutual Friends' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-1.jpg').default, + name: 'Earl Briggs', + mutualFriend: '4 Mutual Friends' + }, + { + avatar: require('@src/assets/images/portrait/small/avatar-s-10.jpg').default, + name: 'Jonathan Lyons', + mutualFriend: '25 Mutual Friends' + } + ], + polls: [ + { + name: 'RDJ', + result: '82%', + votedUser: [ + { + img: require('@src/assets/images/portrait/small/avatar-s-12.jpg').default, + username: 'Tonia Seabold' + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-5.jpg').default, + username: 'Carissa Dolle' + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + username: 'Kelle Herrick' + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-10.jpg').default, + username: 'Len Bregantini' + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-11.jpg').default, + username: 'John Doe' + } + ] + }, + { + name: 'Chris Hemsworth', + result: '67%', + votedUser: [ + { + img: require('@src/assets/images/portrait/small/avatar-s-9.jpg').default, + username: 'Tonia Seabold' + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-1.jpg').default, + username: 'Carissa Dolle' + }, + { + img: require('@src/assets/images/portrait/small/avatar-s-8.jpg').default, + username: 'Jonathan Lyons' + } + ] + } + ] + } +} + +mock.onGet('/profile/data').reply(() => [200, data.profileData]) diff --git a/src/@fake-db/tables/datatables.js b/src/@fake-db/tables/datatables.js new file mode 100644 index 0000000..f129334 --- /dev/null +++ b/src/@fake-db/tables/datatables.js @@ -0,0 +1,1437 @@ +import mock from '../mock' +import { paginateArray } from '../utils' + +const data = [ + { + responsive_id: '', + id: 1, + avatar: '10.jpg', + full_name: "Korrie O'Crevy", + post: 'Nuclear Power Engineer', + email: 'kocrevy0@thetimes.co.uk', + city: 'Krasnosilka', + start_date: '09/23/2016', + salary: '$23896.35', + age: '61', + experience: '1 Year', + status: 2 + }, + { + responsive_id: '', + id: 2, + avatar: '1.jpg', + full_name: 'Bailie Coulman', + post: 'VP Quality Control', + email: 'bcoulman1@yolasite.com', + city: 'Hinigaran', + start_date: '05/20/2018', + salary: '$13633.69', + age: '63', + experience: '3 Years', + status: 2 + }, + { + responsive_id: '', + id: 3, + avatar: '9.jpg', + full_name: 'Stella Ganderton', + post: 'Operator', + email: 'sganderton2@tuttocitta.it', + city: 'Golcowa', + start_date: '03/24/2018', + salary: '$13076.28', + age: '66', + experience: '6 Years', + status: 5 + }, + { + responsive_id: '', + id: 4, + avatar: '10.jpg', + full_name: 'Dorolice Crossman', + post: 'Cost Accountant', + email: 'dcrossman3@google.co.jp', + city: 'Paquera', + start_date: '12/03/2017', + salary: '$12336.17', + age: '22', + experience: '2 Years', + status: 2 + }, + { + responsive_id: '', + id: 5, + avatar: '', + full_name: 'Harmonia Nisius', + post: 'Senior Cost Accountant', + email: 'hnisius4@gnu.org', + city: 'Lucan', + start_date: '08/25/2017', + salary: '$10909.52', + age: '33', + experience: '3 Years', + status: 2 + }, + { + responsive_id: '', + id: 6, + avatar: '', + full_name: 'Genevra Honeywood', + post: 'Geologist', + email: 'ghoneywood5@narod.ru', + city: 'Maofan', + start_date: '06/01/2017', + salary: '$17803.80', + age: '61', + experience: '1 Year', + status: 1 + }, + { + responsive_id: '', + id: 7, + avatar: '', + full_name: 'Eileen Diehn', + post: 'Environmental Specialist', + email: 'ediehn6@163.com', + city: 'Lampuyang', + start_date: '10/15/2017', + salary: '$18991.67', + age: '59', + experience: '9 Years', + status: 3 + }, + { + responsive_id: '', + id: 8, + avatar: '9.jpg', + full_name: 'Richardo Aldren', + post: 'Senior Sales Associate', + email: 'raldren7@mtv.com', + city: 'Skoghall', + start_date: '11/05/2016', + salary: '$19230.13', + age: '55', + experience: '5 Years', + status: 3 + }, + { + responsive_id: '', + id: 9, + avatar: '2.jpg', + full_name: 'Allyson Moakler', + post: 'Safety Technician', + email: 'amoakler8@shareasale.com', + city: 'Mogilany', + start_date: '12/29/2018', + salary: '$11677.32', + age: '39', + experience: '9 Years', + status: 5 + }, + { + responsive_id: '', + id: 10, + avatar: '9.jpg', + full_name: 'Merline Penhalewick', + post: 'Junior Executive', + email: 'mpenhalewick9@php.net', + city: 'Kanuma', + start_date: '04/19/2019', + salary: '$15939.52', + age: '23', + experience: '3 Years', + status: 2 + }, + { + responsive_id: '', + id: 11, + avatar: '', + full_name: 'De Falloon', + post: 'Sales Representative', + email: 'dfalloona@ifeng.com', + city: 'Colima', + start_date: '06/12/2018', + salary: '$19252.12', + age: '30', + experience: '0 Year', + status: 4 + }, + { + responsive_id: '', + id: 12, + avatar: '', + full_name: 'Cyrus Gornal', + post: 'Senior Sales Associate', + email: 'cgornalb@fda.gov', + city: 'Boro Utara', + start_date: '12/09/2017', + salary: '$16745.47', + age: '22', + experience: '2 Years', + status: 4 + }, + { + responsive_id: '', + id: 13, + avatar: '', + full_name: 'Tallou Balf', + post: 'Staff Accountant', + email: 'tbalfc@sina.com.cn', + city: 'Siliana', + start_date: '01/21/2016', + salary: '$15488.53', + age: '36', + experience: '6 Years', + status: 4 + }, + { + responsive_id: '', + id: 14, + avatar: '', + full_name: 'Othilia Extill', + post: 'Associate Professor', + email: 'oextilld@theatlantic.com', + city: 'Brzyska', + start_date: '02/01/2016', + salary: '$18442.34', + age: '43', + experience: '3 Years', + status: 2 + }, + { + responsive_id: '', + id: 15, + avatar: '', + full_name: 'Wilmar Bourton', + post: 'Administrative Assistant', + email: 'wbourtone@sakura.ne.jp', + city: 'Bích Động', + start_date: '04/25/2018', + salary: '$13304.45', + age: '19', + experience: '9 Years', + status: 5 + }, + { + responsive_id: '', + id: 16, + avatar: '4.jpg', + full_name: 'Robinson Brazenor', + post: 'General Manager', + email: 'rbrazenorf@symantec.com', + city: 'Gendiwu', + start_date: '12/23/2017', + salary: '$11953.08', + age: '66', + experience: '6 Years', + status: 5 + }, + { + responsive_id: '', + id: 17, + avatar: '', + full_name: 'Nadia Bettenson', + post: 'Environmental Tech', + email: 'nbettensong@joomla.org', + city: 'Chabařovice', + start_date: '07/11/2018', + salary: '$20484.44', + age: '64', + experience: '4 Years', + status: 1 + }, + { + responsive_id: '', + id: 18, + avatar: '', + full_name: 'Titus Hayne', + post: 'Web Designer', + email: 'thayneh@kickstarter.com', + city: 'Yangon', + start_date: '05/25/2019', + salary: '$16871.48', + age: '59', + experience: '9 Years', + status: 1 + }, + { + responsive_id: '', + id: 19, + avatar: '5.jpg', + full_name: 'Roxie Huck', + post: 'Administrative Assistant', + email: 'rhucki@ed.gov', + city: 'Polýkastro', + start_date: '04/04/2019', + salary: '$19653.56', + age: '41', + experience: '1 Year', + status: 4 + }, + { + responsive_id: '', + id: 20, + avatar: '7.jpg', + full_name: 'Latashia Lewtey', + post: 'Actuary', + email: 'llewteyj@sun.com', + city: 'Hougong', + start_date: '08/03/2017', + salary: '$18303.87', + age: '35', + experience: '5 Years', + status: 1 + }, + { + responsive_id: '', + id: 21, + avatar: '', + full_name: 'Natalina Tyne', + post: 'Software Engineer', + email: 'ntynek@merriam-webster.com', + city: 'Yanguan', + start_date: '03/16/2019', + salary: '$15256.40', + age: '30', + experience: '0 Year', + status: 2 + }, + { + responsive_id: '', + id: 22, + avatar: '', + full_name: 'Faun Josefsen', + post: 'Analog Circuit Design manager', + email: 'fjosefsenl@samsung.com', + city: 'Wengyang', + start_date: '07/08/2017', + salary: '$11209.16', + age: '40', + experience: '0 Year', + status: 3 + }, + { + responsive_id: '', + id: 23, + avatar: '9.jpg', + full_name: 'Rosmunda Steed', + post: 'Assistant Media Planner', + email: 'rsteedm@xing.com', + city: 'Manzanares', + start_date: '12/23/2017', + salary: '$13778.34', + age: '21', + experience: '1 Year', + status: 5 + }, + { + responsive_id: '', + id: 24, + avatar: '', + full_name: 'Scott Jiran', + post: 'Graphic Designer', + email: 'sjirann@simplemachines.org', + city: 'Pinglin', + start_date: '05/26/2016', + salary: '$23081.71', + age: '23', + experience: '3 Years', + status: 1 + }, + { + responsive_id: '', + id: 25, + avatar: '', + full_name: 'Carmita Medling', + post: 'Accountant', + email: 'cmedlingo@hp.com', + city: 'Bourges', + start_date: '07/31/2019', + salary: '$13602.24', + age: '47', + experience: '7 Years', + status: 3 + }, + { + responsive_id: '', + id: 26, + avatar: '2.jpg', + full_name: 'Morgen Benes', + post: 'Senior Sales Associate', + email: 'mbenesp@ted.com', + city: 'Cà Mau', + start_date: '04/10/2016', + salary: '$16969.63', + age: '42', + experience: '2 Years', + status: 4 + }, + { + responsive_id: '', + id: 27, + avatar: '', + full_name: 'Onfroi Doughton', + post: 'Civil Engineer', + email: 'odoughtonq@aboutads.info', + city: 'Utrecht (stad)', + start_date: '09/29/2018', + salary: '$23796.62', + age: '28', + experience: '8 Years', + status: 3 + }, + { + responsive_id: '', + id: 28, + avatar: '', + full_name: 'Kliment McGinney', + post: 'Chief Design Engineer', + email: 'kmcginneyr@paginegialle.it', + city: 'Xiaocheng', + start_date: '07/09/2018', + salary: '$24027.81', + age: '28', + experience: '8 Years', + status: 4 + }, + { + responsive_id: '', + id: 29, + avatar: '', + full_name: 'Devin Bridgland', + post: 'Tax Accountant', + email: 'dbridglands@odnoklassniki.ru', + city: 'Baoli', + start_date: '07/17/2016', + salary: '$13508.15', + age: '48', + experience: '8 Years', + status: 3 + }, + { + responsive_id: '', + id: 30, + avatar: '6.jpg', + full_name: 'Gilbert McFade', + post: 'Biostatistician', + email: 'gmcfadet@irs.gov', + city: 'Deje', + start_date: '08/28/2018', + salary: '$21632.30', + age: '20', + experience: '0 Year', + status: 2 + }, + { + responsive_id: '', + id: 31, + avatar: '', + full_name: 'Teressa Bleakman', + post: 'Senior Editor', + email: 'tbleakmanu@phpbb.com', + city: 'Žebrák', + start_date: '09/03/2016', + salary: '$24875.41', + age: '37', + experience: '7 Years', + status: 5 + }, + { + responsive_id: '', + id: 32, + avatar: '', + full_name: 'Marcelia Alleburton', + post: 'Safety Technician', + email: 'malleburtonv@amazon.com', + city: 'Basail', + start_date: '06/02/2016', + salary: '$23888.98', + age: '53', + experience: '3 Years', + status: 2 + }, + { + responsive_id: '', + id: 33, + avatar: '7.jpg', + full_name: 'Aili De Coursey', + post: 'Environmental Specialist', + email: 'adew@etsy.com', + city: 'Łazy', + start_date: '09/30/2016', + salary: '$14082.44', + age: '27', + experience: '7 Years', + status: 5 + }, + { + responsive_id: '', + id: 34, + avatar: '6.jpg', + full_name: 'Charlton Chatres', + post: 'Analyst Programmer', + email: 'cchatresx@goo.gl', + city: 'Reguengos de Monsaraz', + start_date: '04/07/2016', + salary: '$21386.52', + age: '22', + experience: '2 Years', + status: 3 + }, + { + responsive_id: '', + id: 35, + avatar: '1.jpg', + full_name: 'Nat Hugonnet', + post: 'Financial Advisor', + email: 'nhugonnety@wufoo.com', + city: 'Pimentel', + start_date: '09/11/2019', + salary: '$13835.97', + age: '46', + experience: '6 Years', + status: 4 + }, + { + responsive_id: '', + id: 36, + avatar: '', + full_name: 'Lorine Hearsum', + post: 'Payment Adjustment Coordinator', + email: 'lhearsumz@google.co.uk', + city: 'Shuiying', + start_date: '03/05/2019', + salary: '$22093.91', + age: '47', + experience: '7 Years', + status: 4 + }, + { + responsive_id: '', + id: 37, + avatar: '8.jpg', + full_name: 'Sheila-kathryn Haborn', + post: 'Environmental Specialist', + email: 'shaborn10@about.com', + city: 'Lewolang', + start_date: '11/10/2018', + salary: '$24624.23', + age: '51', + experience: '1 Year', + status: 3 + }, + { + responsive_id: '', + id: 38, + avatar: '3.jpg', + full_name: 'Alma Harvatt', + post: 'Administrative Assistant', + email: 'aharvatt11@addtoany.com', + city: 'Ulundi', + start_date: '11/04/2016', + salary: '$21782.82', + age: '41', + experience: '1 Year', + status: 1 + }, + { + responsive_id: '', + id: 39, + avatar: '2.jpg', + full_name: 'Beatrix Longland', + post: 'VP Quality Control', + email: 'blongland12@gizmodo.com', + city: 'Damu', + start_date: '07/18/2016', + salary: '$22794.60', + age: '62', + experience: '2 Years', + status: 2 + }, + { + responsive_id: '', + id: 40, + avatar: '4.jpg', + full_name: 'Hammad Condell', + post: 'Project Manager', + email: 'hcondell13@tiny.cc', + city: 'Bulung’ur', + start_date: '11/04/2018', + salary: '$10872.83', + age: '37', + experience: '7 Years', + status: 4 + }, + { + responsive_id: '', + id: 41, + avatar: '', + full_name: 'Parker Bice', + post: 'Technical Writer', + email: 'pbice14@ameblo.jp', + city: 'Shanlian', + start_date: '03/02/2016', + salary: '$17471.92', + age: '65', + experience: '5 Years', + status: 5 + }, + { + responsive_id: '', + id: 42, + avatar: '', + full_name: 'Lowrance Orsi', + post: 'Biostatistician', + email: 'lorsi15@wp.com', + city: 'Dengteke', + start_date: '12/10/2018', + salary: '$24719.51', + age: '64', + experience: '4 Years', + status: 1 + }, + { + responsive_id: '', + id: 43, + avatar: '10.jpg', + full_name: 'Ddene Chaplyn', + post: 'Environmental Tech', + email: 'dchaplyn16@nymag.com', + city: 'Lattes', + start_date: '01/23/2019', + salary: '$11958.33', + age: '38', + experience: '8 Years', + status: 2 + }, + { + responsive_id: '', + id: 44, + avatar: '', + full_name: 'Washington Bygraves', + post: 'Human Resources Manager', + email: 'wbygraves17@howstuffworks.com', + city: 'Zlaté Hory', + start_date: '09/07/2016', + salary: '$10552.43', + age: '37', + experience: '7 Years', + status: 1 + }, + { + responsive_id: '', + id: 45, + avatar: '7.jpg', + full_name: 'Meghann Bodechon', + post: 'Operator', + email: 'mbodechon18@1und1.de', + city: 'Itō', + start_date: '07/23/2018', + salary: '$23024.28', + age: '61', + experience: '1 Year', + status: 4 + }, + { + responsive_id: '', + id: 46, + avatar: '1.jpg', + full_name: 'Moshe De Ambrosis', + post: 'Recruiting Manager', + email: 'mde19@purevolume.com', + city: 'San Diego', + start_date: '02/10/2018', + salary: '$10409.90', + age: '47', + experience: '7 Years', + status: 5 + }, + { + responsive_id: '', + id: 47, + avatar: '5.jpg', + full_name: 'Had Chatelot', + post: 'Cost Accountant', + email: 'hchatelot1a@usatoday.com', + city: 'Mercedes', + start_date: '11/23/2016', + salary: '$11446.30', + age: '64', + experience: '4 Years', + status: 4 + }, + { + responsive_id: '', + id: 48, + avatar: '', + full_name: 'Georgia McCrum', + post: 'Registered Nurse', + email: 'gmccrum1b@icio.us', + city: 'Nggalak', + start_date: '04/19/2018', + salary: '$14002.31', + age: '63', + experience: '3 Years', + status: 1 + }, + { + responsive_id: '', + id: 49, + avatar: '8.jpg', + full_name: 'Krishnah Stilldale', + post: 'VP Accounting', + email: 'kstilldale1c@chronoengine.com', + city: 'Slavs’ke', + start_date: '03/18/2017', + salary: '$10704.29', + age: '56', + experience: '6 Years', + status: 1 + }, + { + responsive_id: '', + id: 50, + avatar: '4.jpg', + full_name: 'Mario Umbert', + post: 'Research Assistant', + email: 'mumbert1d@digg.com', + city: 'Chorotis', + start_date: '05/13/2019', + salary: '$21813.54', + age: '43', + experience: '3 Years', + status: 1 + }, + { + responsive_id: '', + id: 51, + avatar: '', + full_name: 'Edvard Dixsee', + post: 'Graphic Designer', + email: 'edixsee1e@unblog.fr', + city: 'Rancharia', + start_date: '04/23/2019', + salary: '$18053.11', + age: '46', + experience: '6 Years', + status: 3 + }, + { + responsive_id: '', + id: 52, + avatar: '9.jpg', + full_name: 'Tammie Davydoch', + post: 'VP Quality Control', + email: 'tdavydoch1f@examiner.com', + city: 'Mamedkala', + start_date: '04/19/2016', + salary: '$17617.08', + age: '47', + experience: '7 Years', + status: 3 + }, + { + responsive_id: '', + id: 53, + avatar: '', + full_name: 'Benito Rodolico', + post: 'Safety Technician', + email: 'brodolico1g@sciencedirect.com', + city: 'Wonosobo', + start_date: '10/06/2018', + salary: '$18866.55', + age: '21', + experience: '1 Year', + status: 5 + }, + { + responsive_id: '', + id: 54, + avatar: '', + full_name: 'Marco Pennings', + post: 'Compensation Analyst', + email: 'mpennings1h@bizjournals.com', + city: 'Umag', + start_date: '06/15/2017', + salary: '$13722.18', + age: '30', + experience: '0 Year', + status: 3 + }, + { + responsive_id: '', + id: 55, + avatar: '', + full_name: "Tommie O'Corr", + post: 'Quality Engineer', + email: 'tocorr1i@nyu.edu', + city: 'Olhos de Água', + start_date: '09/26/2018', + salary: '$15228.80', + age: '51', + experience: '1 Year', + status: 1 + }, + { + responsive_id: '', + id: 56, + avatar: '1.jpg', + full_name: 'Cybill Poyle', + post: 'Cost Accountant', + email: 'cpoyle1j@amazon.com', + city: 'Hamm', + start_date: '01/03/2016', + salary: '$13951.96', + age: '29', + experience: '9 Years', + status: 1 + }, + { + responsive_id: '', + id: 57, + avatar: '6.jpg', + full_name: 'Norry Stoller', + post: 'Human Resources Manager', + email: 'nstoller1k@noaa.gov', + city: 'Ruukki', + start_date: '02/04/2018', + salary: '$15100.00', + age: '27', + experience: '7 Years', + status: 4 + }, + { + responsive_id: '', + id: 58, + avatar: '', + full_name: 'Wendi Somerlie', + post: 'Systems Administrator', + email: 'wsomerlie1l@accuweather.com', + city: 'Meicheng', + start_date: '04/22/2016', + salary: '$20023.52', + age: '28', + experience: '9 Years', + status: 5 + }, + { + responsive_id: '', + id: 59, + avatar: '', + full_name: 'Ferdie Georgeon', + post: 'Geologist', + email: 'fgeorgeon1m@nhs.uk', + city: 'Tanahbeureum', + start_date: '04/08/2019', + salary: '$12630.26', + age: '28', + experience: '1 Year', + status: 2 + }, + { + responsive_id: '', + id: 60, + avatar: '', + full_name: 'Jules Auten', + post: 'Desktop Support Technician', + email: 'jauten1n@foxnews.com', + city: 'Mojo', + start_date: '08/13/2019', + salary: '$13870.62', + age: '48', + experience: '5 Years', + status: 4 + }, + { + responsive_id: '', + id: 61, + avatar: '3.jpg', + full_name: 'Nichole Dacres', + post: 'Mechanical Systems Engineer', + email: 'ndacres1o@apache.org', + city: 'Kimanuit', + start_date: '11/06/2017', + salary: '$18220.51', + age: '20', + experience: '0 Year', + status: 3 + }, + { + responsive_id: '', + id: 62, + avatar: '1.jpg', + full_name: 'Holly Edgworth', + post: 'Junior Executive', + email: 'hedgworth1p@craigslist.org', + city: 'Pedreira', + start_date: '08/05/2017', + salary: '$13999.88', + age: '37', + experience: '0 Year', + status: 5 + }, + { + responsive_id: '', + id: 63, + avatar: '9.jpg', + full_name: 'Henriette Croft', + post: 'Food Chemist', + email: 'hcroft1q@desdev.cn', + city: 'Taizhou', + start_date: '09/12/2019', + salary: '$11049.79', + age: '53', + experience: '1 Year', + status: 5 + }, + { + responsive_id: '', + id: 64, + avatar: '', + full_name: 'Annetta Glozman', + post: 'Staff Accountant', + email: 'aglozman1r@storify.com', + city: 'Pendawanbaru', + start_date: '08/25/2017', + salary: '$10745.32', + age: '27', + experience: '3 Years', + status: 5 + }, + { + responsive_id: '', + id: 65, + avatar: '', + full_name: 'Cletis Cervantes', + post: 'Health Coach', + email: 'ccervantes1s@de.vu', + city: 'Solnechnyy', + start_date: '05/24/2018', + salary: '$24769.08', + age: '22', + experience: '7 Years', + status: 1 + }, + { + responsive_id: '', + id: 66, + avatar: '9.jpg', + full_name: 'Christos Kiley', + post: 'Geologist', + email: 'ckiley1t@buzzfeed.com', + city: 'El Bolsón', + start_date: '02/27/2019', + salary: '$16053.15', + age: '46', + experience: '2 Years', + status: 1 + }, + { + responsive_id: '', + id: 67, + avatar: '7.jpg', + full_name: 'Silvain Siebert', + post: 'VP Sales', + email: 'ssiebert1u@domainmarket.com', + city: 'Cadiz', + start_date: '09/23/2017', + salary: '$23347.17', + age: '47', + experience: '8 Years', + status: 5 + }, + { + responsive_id: '', + id: 68, + avatar: '', + full_name: 'Sharla Ibberson', + post: 'Payment Adjustment Coordinator', + email: 'sibberson1v@virginia.edu', + city: 'Lamam', + start_date: '11/01/2016', + salary: '$15658.40', + age: '51', + experience: '8 Years', + status: 1 + }, + { + responsive_id: '', + id: 69, + avatar: '7.jpg', + full_name: 'Ripley Rentcome', + post: 'Physical Therapy Assistant', + email: 'rrentcome1w@youtu.be', + city: 'Dashkawka', + start_date: '07/15/2018', + salary: '$15396.66', + age: '41', + experience: '8 Years', + status: 2 + }, + { + responsive_id: '', + id: 70, + avatar: '', + full_name: 'Chrisse Birrane', + post: 'Chemical Engineer', + email: 'cbirrane1x@google.com.br', + city: 'Las Toscas', + start_date: '05/22/2016', + salary: '$15823.40', + age: '62', + experience: '0 Year', + status: 5 + }, + { + responsive_id: '', + id: 71, + avatar: '', + full_name: 'Georges Tesyro', + post: 'Human Resources Manager', + email: 'gtesyro1y@last.fm', + city: 'Gabao', + start_date: '01/27/2019', + salary: '$19051.25', + age: '37', + experience: '7 Years', + status: 1 + }, + { + responsive_id: '', + id: 72, + avatar: '', + full_name: 'Bondon Hazard', + post: 'Geological Engineer', + email: 'bhazard1z@over-blog.com', + city: 'Llano de Piedra', + start_date: '01/17/2019', + salary: '$11632.84', + age: '65', + experience: '3 Years', + status: 4 + }, + { + responsive_id: '', + id: 73, + avatar: '5.jpg', + full_name: 'Aliza MacElholm', + post: 'VP Sales', + email: 'amacelholm20@printfriendly.com', + city: 'Sosnovyy Bor', + start_date: '11/17/2017', + salary: '$16741.31', + age: '64', + experience: '7 Years', + status: 2 + }, + { + responsive_id: '', + id: 74, + avatar: '2.jpg', + full_name: 'Lucas Witherdon', + post: 'Senior Quality Engineer', + email: 'lwitherdon21@storify.com', + city: 'Staré Křečany', + start_date: '09/26/2016', + salary: '$19387.76', + age: '38', + experience: '2 Years', + status: 3 + }, + { + responsive_id: '', + id: 75, + avatar: '', + full_name: 'Pegeen Peasegod', + post: 'Web Designer', + email: 'ppeasegod22@slideshare.net', + city: 'Keda', + start_date: '05/21/2016', + salary: '$24014.04', + age: '59', + experience: '6 Years', + status: 3 + }, + { + responsive_id: '', + id: 76, + avatar: '', + full_name: 'Elyn Watkinson', + post: 'Structural Analysis Engineer', + email: 'ewatkinson23@blogspot.com', + city: 'Osan', + start_date: '09/30/2016', + salary: '$14493.51', + age: '55', + experience: '7 Years', + status: 1 + }, + { + responsive_id: '', + id: 77, + avatar: '10.jpg', + full_name: 'Babb Skirving', + post: 'Analyst Programmer', + email: 'bskirving24@cbsnews.com', + city: 'Balky', + start_date: '09/27/2016', + salary: '$24733.28', + age: '39', + experience: '1 Year', + status: 4 + }, + { + responsive_id: '', + id: 78, + avatar: '', + full_name: 'Shelli Ondracek', + post: 'Financial Advisor', + email: 'sondracek25@plala.or.jp', + city: 'Aoluguya Ewenke Minzu', + start_date: '03/28/2016', + salary: '$21922.17', + age: '23', + experience: '1 Year', + status: 3 + }, + { + responsive_id: '', + id: 79, + avatar: '9.jpg', + full_name: 'Stanislaw Melloy', + post: 'Sales Associate', + email: 'smelloy26@fastcompany.com', + city: 'Funafuti', + start_date: '04/13/2017', + salary: '$16944.42', + age: '30', + experience: '2 Years', + status: 2 + }, + { + responsive_id: '', + id: 80, + avatar: '', + full_name: 'Seamus Eisikovitsh', + post: 'Legal Assistant', + email: 'seisikovitsh27@usgs.gov', + city: 'Cangkringan', + start_date: '05/28/2018', + salary: '$21963.69', + age: '22', + experience: '7 Years', + status: 1 + }, + { + responsive_id: '', + id: 81, + avatar: '2.jpg', + full_name: 'Tammie Wattins', + post: 'Web Designer', + email: 'twattins28@statcounter.com', + city: 'Xilin', + start_date: '08/07/2018', + salary: '$16049.93', + age: '36', + experience: '5 Years', + status: 2 + }, + { + responsive_id: '', + id: 82, + avatar: '8.jpg', + full_name: 'Aila Quailadis', + post: 'Technical Writer', + email: 'aquail29@prlog.org', + city: 'Shuangchahe', + start_date: '02/11/2018', + salary: '$24137.29', + age: '43', + experience: '4 Years', + status: 4 + }, + { + responsive_id: '', + id: 83, + avatar: '', + full_name: 'Myrvyn Gilogly', + post: 'Research Associate', + email: 'mgilogly2a@elpais.com', + city: 'Prince Rupert', + start_date: '05/13/2018', + salary: '$10089.96', + age: '19', + experience: '8 Years', + status: 4 + }, + { + responsive_id: '', + id: 84, + avatar: '5.jpg', + full_name: 'Hanna Langthorne', + post: 'Analyst Programmer', + email: 'hlangthorne2b@stumbleupon.com', + city: 'Guaynabo', + start_date: '11/11/2018', + salary: '$14227.10', + age: '21', + experience: '7 Years', + status: 3 + }, + { + responsive_id: '', + id: 85, + avatar: '', + full_name: 'Ruby Gimblet', + post: 'Registered Nurse', + email: 'rgimblet2c@1688.com', + city: 'Nanyulinxi', + start_date: '03/28/2016', + salary: '$19562.59', + age: '30', + experience: '1 Year', + status: 2 + }, + { + responsive_id: '', + id: 86, + avatar: '4.jpg', + full_name: 'Louis Paszak', + post: 'Programmer', + email: 'lpaszak2d@behance.net', + city: 'Chiscas', + start_date: '04/25/2016', + salary: '$17178.86', + age: '51', + experience: '7 Years', + status: 5 + }, + { + responsive_id: '', + id: 87, + avatar: '', + full_name: 'Glennie Riolfi', + post: 'Computer Systems Analyst', + email: 'griolfi2e@drupal.org', + city: 'Taung', + start_date: '06/18/2018', + salary: '$15089.83', + age: '29', + experience: '4 Years', + status: 3 + }, + { + responsive_id: '', + id: 88, + avatar: '', + full_name: 'Jemimah Morgan', + post: 'Staff Accountant', + email: 'jmorgan2f@nifty.com', + city: 'La Esperanza', + start_date: '01/17/2016', + salary: '$18330.72', + age: '27', + experience: '3 Years', + status: 1 + }, + { + responsive_id: '', + id: 89, + avatar: '10.jpg', + full_name: 'Talya Brandon', + post: 'Food Chemist', + email: 'tbrandon2g@ucoz.com', + city: 'Zaječar', + start_date: '10/08/2018', + salary: '$16284.64', + age: '28', + experience: '6 Years', + status: 1 + }, + { + responsive_id: '', + id: 90, + avatar: '6.jpg', + full_name: 'Renate Shay', + post: 'Recruiter', + email: 'rshay2h@tumblr.com', + city: 'Pueblo Viejo', + start_date: '03/15/2017', + salary: '$18523.75', + age: '28', + experience: '3 Years', + status: 1 + }, + { + responsive_id: '', + id: 91, + avatar: '', + full_name: 'Julianne Bartosik', + post: 'Senior Cost Accountant', + email: 'jbartosik2i@state.gov', + city: 'Botlhapatlou', + start_date: '02/06/2017', + salary: '$17607.66', + age: '48', + experience: '6 Years', + status: 3 + }, + { + responsive_id: '', + id: 92, + avatar: '3.jpg', + full_name: 'Yvonne Emberton', + post: 'Recruiter', + email: 'yemberton2j@blog.com', + city: 'Nagcarlan', + start_date: '02/13/2017', + salary: '$17550.18', + age: '20', + experience: '1 Year', + status: 4 + }, + { + responsive_id: '', + id: 93, + avatar: '8.jpg', + full_name: 'Danya Faichnie', + post: 'Social Worker', + email: 'dfaichnie2k@weather.com', + city: 'Taling', + start_date: '07/29/2019', + salary: '$18469.35', + age: '37', + experience: '3 Years', + status: 4 + }, + { + responsive_id: '', + id: 94, + avatar: '', + full_name: 'Ronica Hasted', + post: 'Software Consultant', + email: 'rhasted2l@hexun.com', + city: 'Gangkou', + start_date: '07/04/2019', + salary: '$24866.66', + age: '53', + experience: '7 Years', + status: 4 + }, + { + responsive_id: '', + id: 95, + avatar: '2.jpg', + full_name: 'Edwina Ebsworth', + post: 'Human Resources Assistant', + email: 'eebsworth2m@sbwire.com', + city: 'Puzi', + start_date: '09/27/2018', + salary: '$19586.23', + age: '27', + experience: '2 Years', + status: 1 + }, + { + responsive_id: '', + id: 96, + avatar: '', + full_name: 'Alaric Beslier', + post: 'Tax Accountant', + email: 'abeslier2n@zimbio.com', + city: 'Ocucaje', + start_date: '04/16/2017', + salary: '$19366.53', + age: '22', + experience: '8 Years', + status: 4 + }, + { + responsive_id: '', + id: 97, + avatar: '', + full_name: 'Reina Peckett', + post: 'Quality Control Specialist', + email: 'rpeckett2o@timesonline.co.uk', + city: 'Anyang', + start_date: '05/20/2018', + salary: '$16619.40', + age: '46', + experience: '8 Years', + status: 4 + }, + { + responsive_id: '', + id: 98, + avatar: '7.jpg', + full_name: 'Olivette Gudgin', + post: 'Paralegal', + email: 'ogudgin2p@gizmodo.com', + city: 'Fujinomiya', + start_date: '04/09/2019', + salary: '$15211.60', + age: '47', + experience: '8 Years', + status: 2 + }, + { + responsive_id: '', + id: 99, + avatar: '10.jpg', + full_name: 'Evangelina Carnock', + post: 'Cost Accountant', + email: 'ecarnock2q@washington.edu', + city: 'Doushaguan', + start_date: '01/26/2017', + salary: '$23704.82', + age: '51', + experience: '0 Year', + status: 4 + }, + { + responsive_id: '', + id: 100, + avatar: '', + full_name: 'Glyn Giacoppo', + post: 'Software Test Engineer', + email: 'ggiacoppo2r@apache.org', + city: 'Butha-Buthe', + start_date: '04/15/2017', + salary: '$24973.48', + age: '41', + experience: '7 Years', + status: 2 + } +] + +mock.onGet('/api/datatables/initial-data').reply(config => { + return [200, data] +}) + +mock.onGet('/api/datatables/data').reply(config => { + // eslint-disable-next-line object-curly-newline + const { q = '', perPage = 10, page = 1 } = config + /* eslint-enable */ + + const queryLowered = q.toLowerCase() + const filteredData = data.filter( + item => + /* eslint-disable operator-linebreak, implicit-arrow-linebreak */ + item.full_name.toLowerCase().includes(queryLowered) || + item.post.toLowerCase().includes(queryLowered) || + item.email.toLowerCase().includes(queryLowered) || + item.age.toLowerCase().includes(queryLowered) || + item.salary.toLowerCase().includes(queryLowered) || + item.start_date.toLowerCase().includes(queryLowered) + ) + /* eslint-enable */ + + return [ + 200, + { + allData: data, + invoices: paginateArray(filteredData, perPage, page), + total: filteredData.length + } + ] +}) diff --git a/src/@fake-db/utils.js b/src/@fake-db/utils.js new file mode 100644 index 0000000..0013dbd --- /dev/null +++ b/src/@fake-db/utils.js @@ -0,0 +1,36 @@ +export const paginateArray = (array, perPage, page) => array.slice((page - 1) * perPage, page * perPage) + +export const sortCompare = key => (a, b) => { + const fieldA = a[key] + const fieldB = b[key] + + let comparison = 0 + if (fieldA > fieldB) { + comparison = 1 + } else if (fieldA < fieldB) { + comparison = -1 + } + return comparison +} + +export const getRandomInt = (min, max) => { + if (min > max) { + const temp = max + /* eslint-disable no-param-reassign */ + max = min + min = temp + /* eslint-enable */ + } + + if (min <= 0) { + return Math.floor(Math.random() * (max + Math.abs(min) + 1)) + min + } + return Math.floor(Math.random() * max) + min +} + +export const randomDate = (start, end) => { + const diff = end.getTime() - start.getTime() + const newDiff = diff * Math.random() + const date = new Date(start.getTime() + newDiff) + return date +} diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..c719469 --- /dev/null +++ b/src/App.js @@ -0,0 +1,6 @@ +// ** Router Import +import Router from './router/Router' + +const App = props => + +export default App diff --git a/src/App.test.js b/src/App.test.js new file mode 100644 index 0000000..ac31590 --- /dev/null +++ b/src/App.test.js @@ -0,0 +1,8 @@ +import ReactDOM from 'react-dom' +import App from './App' + +it('renders without crashing', () => { + const div = document.createElement('div') + ReactDOM.render(, div) + ReactDOM.unmountComponentAtNode(div) +}) diff --git a/src/assets/data/locales/de.json b/src/assets/data/locales/de.json new file mode 100644 index 0000000..3252825 --- /dev/null +++ b/src/assets/data/locales/de.json @@ -0,0 +1,3 @@ +{ + "Dashboard": "Instrumententafel" +} diff --git a/src/assets/data/locales/en.json b/src/assets/data/locales/en.json new file mode 100644 index 0000000..745e59a --- /dev/null +++ b/src/assets/data/locales/en.json @@ -0,0 +1,3 @@ +{ + "Dashboard": "Dashboard" +} diff --git a/src/assets/data/locales/fr.json b/src/assets/data/locales/fr.json new file mode 100644 index 0000000..2224965 --- /dev/null +++ b/src/assets/data/locales/fr.json @@ -0,0 +1,3 @@ +{ + "Dashboard": "Tableau de bord" +} diff --git a/src/assets/data/locales/pt.json b/src/assets/data/locales/pt.json new file mode 100644 index 0000000..ca545db --- /dev/null +++ b/src/assets/data/locales/pt.json @@ -0,0 +1,3 @@ +{ + "Dashboard": "painel de controle" +} diff --git a/src/assets/images/avatars/1-small.png b/src/assets/images/avatars/1-small.png new file mode 100644 index 0000000000000000000000000000000000000000..406d0bab25b55146f6b099dc797b01407eee437b GIT binary patch literal 14609 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 Hu0mjfeypoz literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/1.png b/src/assets/images/avatars/1.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb2fbb0e48baf09919aa441a6eb82a549cbde55 GIT binary patch literal 50553 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%0AKl$0uK7aM<@xw>& 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

    GulEcLZeMlsT^b9 z(~Qt|U5Xq+5Ff2I+S*4CAO7gW z9|Z;?yJ?&C;(F+PR-}qjDeC$mWyvvNN=Qm;Bve+T2r>c!ge1n8a=I6C-hXwk9GBa4 zQY(QdKnfCxGCF&gqvH@!G6q7HfMRH?Kn%c40106G9fMIs0}^5q76#IwL?yt`uBoi_ zWM(8QKq|^Os)A3>w`FAwn25}X5EB4dU4TKhg`i>fnu;ufDY1{mjuov#*LGc_j82%j zXEZta&|wPzBFGtxLNrSCEJ~H7&BE)Z8M?mYqzjXLT6jMikFC(H8wZp7cR&01;o0+3 z%qgU-6lye#5;G8NIT})!Qc6O&e!M*U;A}J+m9v6~DD)k)ecQIAObFoxxf~n=F-Atv z48kvFd$%rJA(Mc?t^BYs^XJuo2%;(e|Ca70sbMGvqG+on{|JQrZ;S;{%orJ*JjZ@g zGYIRrb?U}ZS(OBeK_TWP##uOo2ebRSw*B{~-Q2ibFPulwj0Jf; tJG&{-Q~y>?9#xrpetvwd-y2CO{{a6wlziLg@RR@m002ovPDHLkV1f@xps@e| literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/10.png b/src/assets/images/avatars/10.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3d20ad5023c7d3db2944cc9b585fb57144d5af GIT binary patch literal 43253 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�n!V?{&GU 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 FV1ioPkJkVI literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/11-small.png b/src/assets/images/avatars/11-small.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1b38e7ccbdf01c2821d54a38ddfee3ae408f3a GIT binary patch literal 12583 zcmYkjXE+?r7dE_v1QAwWE!ZGd5H)NfEOrwu>aH%z>b*pd5>Zx(=!8|HuHK_3Rxc}} z6Z}Mr-iiMBzaQS``EaJ5x#pUg>zcXGxz9vssJ(tb!9oE503IkQ!nJO5i~k83@ojn& zM11EqBXZYzEe|Lsu&v)#;FfwyR&U+__;1T(0HSbP0LlMUZiVGm0DwE$M1cQq(Er-9 ziU0pzi|jl9xBNfFr_J+n0Dy3u5?l`HJ+syFy24W5bFE?US BYKyS#lYvSNhuGLL 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/11.png b/src/assets/images/avatars/11.png new file mode 100644 index 0000000000000000000000000000000000000000..02fce4dad7dc945555b1e081b630c7550a9cf3e1 GIT binary patch literal 43799 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 XzoR`n`JPV#_&2oF^i-Ra?c)9q#W+h+ literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/12.png b/src/assets/images/avatars/12.png new file mode 100644 index 0000000000000000000000000000000000000000..50e79add1d482bb9102312cd253f91de475b1c3e GIT binary patch literal 51662 zcmYJ3cOcu}_y3ciQdJUfjZr0HM%CV0dvCFos=bQZYKBsK$4*guQ!#3*J)<>?qH5Ku z+MA!xKfmuE=brmI_x^cb_dd@#k4P;I#fK!cBme;5p|X-3>dp`R&%mI&5g{fzc;|rb zC`B1S6`pSM?nBPnP}xRZ9l&un2LpiN_5i~FZMierI|Bd+a)AJXI}iL{EEn|uR|j$l z{%`)jjae^WqyPYeBFb{ox;}F|ZOUU#o1ROJ)4t6MA5V6jUoNneCMidGR49cklZL>% z{o~a5hMCP+x=BII!SAhJcPihDV^QR_mVd@lYbam4HSM%`Q`hotuAc7;Ca>pyMQ1_z z_v?6}w`3>4?8EM@)48*p+hTE_^2Q76=tcUkFWZQ=D;GnK^Ek5XH*3psL{HVWiB&vhXCN|FLkd`ZdmvckD9`Oedh0aAQQCLA_1OP@Nj1GhpuYs|zZ{mI( zd)|8>E$7p5OEsT$YuPXG$a7zscc#wNivVf!9KAxdwTU*M29B5BEFT$ zDxNdpaYnReXvnVrVc*I z3H*Fd3qZr%A$rmwQ-($Z0!G1?z9B4K@GwzKEpJ3v0G=4dX7UP(=6R1Qe6w;!46ysz zm?B~MmigUpcLwhH-bRbSs)I4Nz}S)SQN@t*=H~QjO%+l38c-9)H2o$oM?!g1r?9+8 zV(Pr<8hXn}96~ocIClc6fR=jNesB>iUNLh`m`0ye$sn&bn}2$);iI%o<@r>G(W+E4NRgsr>mZ zxmJRF36!4DC>K~0<_#eE8f6tMHyOoDNKp~de(9>tMc3NoZPV(;bkQ}>4%y{)%jkl6 zN!?#ss_qxx;bk#5e-AE#8jDP@0o7$o1Or`dr&(Q#4vJr%ZB8J(Luo!M`~dOf5h-!{ zp$R)jh~*wg0W#i=@wsk7A0a>>P{7pg^h}S%n#X?=j>`mS06Z!8h_L!mhk|cMd737} zZ4raShcmV^v57LppXq-kUyBj!cX@MGN0NiGlFT6IU7Hs-cttX0!p}}+-2&~5qqlE_;#HV;Ffb@~NfG25KM)*h~ z9=w4-|6rF2Mix7wo+dnGqORAkJKMVV%IsZ@h5wVQu|%*oG9XV^=itT0)7&h|lL+82 zx$3Or_~9B82l1%nn@Pr@vQxwV|+zaozYwV|W7ha7|EU#wF5($_3p zMd;!sNFGl65b&`u`u32wB{AKB`uT~eF#W@RX#Lk1ixr^Bd_;kvZz z+GkDNOkFK~SItW1`w=1RoTvlFu;HTfc0{z@-37Tfxt&rQyDtcz-QopN=&=N5jx#X1 z7_kmqnovlsk8k)tz&@%!oQ>@Bcz3PnJ-@K;17QEi|E}Ku;;b}e@KQ>u&$zI(a(gJ{ zaE(-zRtBZQZBTsbZO|?9-G9-eygM)&tWt`l2odT#$9(&?zg}DQ5hwW8K9i%MqWj16 zM^~<1g3bc4yhpHQurWc}RlfZNZx?7Y7!{upA8M+SL!gSEv7`S4|7|eFzf}!Km9Dlx zUa{l6{?de4P^&g8pIgchSxCQ---2sqen2S7id)l@^~XamEceXzPLZL9;p7b2+!gNV zKZ-#Cez=`2TXOtg-wttl75({ZZRkjIYS;$yK|iE+swZ!*=&5zx^a~NQOJ4e7>2IVf z-^i0Sll99SX$y5>5ueopm5_a_u|lFOFh)dA8gj}m8zi4kE1#m2c90S;$!X2@GpQMV z4MEHE$(TbzPRiF{#|9)wo4@(D)Nqm0hlOKCtjn^IIbbr9F(Nhr$1qK>^H+Vit-@b` z1I9wH>^S8u&4(3V&vxTVox#CNPL$w+2wCIh^2;&&&9%$*T={m^_I3-U_e5${bJna1oDaSyMg3qWOl@$SZ+KjcWUJnSN!ct^lx_7uRYaZ1GjKu! zBPt6X3sFbL-|acQ!LtzLhtDPix>Xkm1K`u#X~e5erfC;kml;scB)vNM_WtaD+Y-!z z#QO+Eh9Ks(+@ni$;=A%=8c_5bX|j;h&QrAZit`kmer5a89-q68;AJ;g@oJrVA*So| zs-OsNzMb7+&00N?o(Cj|rv#E9TK3c!Ie}{Br+G;M(v*JuOT{y2MBT z;lZJ~5areK@9tL)hMenKzip90TR*)MVVy5zVe~2&hVK;*B|@k~?2b&F!S(vvNiJVZ zHYSBAcwZSk_07@{B4O(QlR4;)Bkpa77N~nKaba)ZJbpq_VuJ z8nDB63-WPel9$Xjo5iI<&Pre7KUKX^LWBW>3t~1;Hi>lglJh#6I`jatlGqAOu=anS zWFQ$bN?5ILwU!;Kykv`x0anXp7vIvk&f_6Yra_9i0B|maGMrEfaXxDGBaMddx=>ix zhd46&nE#`=zkT&35a6yDpU%c{!b9y2Mzj zNKW6NJ}+>*J#5gj@Hv8wS%I*R&K*f4^=jb__Inf>7%5=G7&#Ft{`@4F;d0Ys3YnLD zK0-_C9T!iY0pD*CWQLFOg!ga=su_XFX2d@mZFXZP3#7a1Ozd-x! zeZ)l~Ry4g^G!5x>7v8+`&8OEAl=TRu4V6ZyO4q_w;LtzZyLQ`YRGd&K5?r`yz}~Ch z5jzQ@yhqLlqvkP1>M_zh6Z|8}2))NS_Anr|dwb#UM!5N;6xDWy43VAM6o`Wm&)dfg zs5KthDw9VK&(E7!M1197qw}&{?E-1300H-wnRPg#tBjs)IL%Ds9eNo17FLUSX|tMr z!$QlwzM4>e75R{K$f)5o!Jc=`v*@y?IUQYQ?|u0MRDdC3EYeNSct<+%r~lZY{#8ZW zWAg6uZkv$v%t?7gyB%>A2kB=Ca)itvX27-e-`CsRNK^s@40Q_}J=Zr_y2sx2GBG9s zo%cDiK#;PBXj~(jjfAkeqUqijn(pmiiV!V!Z|}zf0y)pNnllDk914s-4jsgMD#@U$Xd2ExRDRLexVXp>dD zkc?*ePNHVU;QiiBN249j^x5jY}3;eAwjfJgu8gUazNa?M9+fI%iCoA;V{- zl}m~2g4KJK2m%em-ZdFoBj-osj9?9$mZUUpG^&Hw7>gklCSYBW8?DOvP$~6)Itn{; z&2#i#{n_P1Zp*0JGDjzm`DxRMvtN6s;r2aAxT!v4@tAHe@%54ZfNbt{^|cSn(-}cU zqj^<9;)mJ8&!h{Fh!UYSh_z8PB1z9-ztAn(OsM8d4KX{)3xruw-Cbl7lhpzkg#zJ+ z_Y##)LP~27NrFra^eX*FF4Gkz#m;yxUSo-*asn#LEg6cGx%L_siOr|)Jq*^Xs#2R5 z$Y41<`gQc1Ehm7C)O6dKT#@j*lDa7n4yCRvPX9~Z7H>WMM{maI;)eRU{aS+IL2K## zrk)>7Wk$l6-Ds1oqQrCmj=g|?8ZTc%xjL;xVrz1X(7r!*!6vTYKR$6yP_?s(2Tl(zOa z`T9Re(h~!)U6f4ZU&-^AoW11)La{_AZ8<0aTxu)R_!C45CY^wkD~HNE#S<5f5XUoo z94VVC>C+AaYte4&5BIJR7klcx+v8V#DO>kdu_lD;xA@ien zluF-(5z2*1UH=eQkJ3dZPiG&=B(l_^PDHOG|D~WO)=eFk^c+}2;7ktXDZ@U0w^sFtMYejBQDZe--lB!tRM= zj6w~?`PW6BT$o2q+i{|V2aN5Rt#v1+alTv?f4#$Z7u1co${p5I$VX;o8WaEHdsd}uJLMrm+B7^ZaOE!7t7zzT=Q zfDu<~n^%9hAL@zrrxobSnMQG2(t7#V*_+QBTS@VD27q%yZ%$Rt7&)9q-dX+Q1y3pn zs%Q={s&~6~?Do6jUK}X~sp*({Ytluyr@nIE(#QlG#K<>$`+*gaF3qehpk!G+OlD&kAaaFX(j^rG}tH+pT8V%Z)X9Lz$ zD~gvbK|@!*ZC6E=^t&evON&d?VWi#*74{CgJS(WWdOlJ#TuEd5aKdw5$RJI)|K=O{ z&GBx)Jph+f9YfJ+TKT2y7fCXG`~qa^WavK{(Eu~K)QUf zwSMH$W;pV6+eFW(@cJ#OWx5~^JHD{+gd;_#^r@ehZ<%0h|MzfvAwPpzS~p}XlPIDx zEFTV^y34#~M)e5E89x=Fl6WZf1fIM zH-C2(Ly8!}%68*}2*(X}Tew|SUf&n_)0{ar6CNm> zi*{Ft!gQt0cu$vPl-tHSZk6#UsT>|#w9Mz=jjdBq4ngUG z2j4a0`u!y7$io90m&kR*E-+C$;gOJ;!=kbZ9oU^nqQK7J8R<{6(wkVd_3zI&G=vQY z#-MW_6`FA5$E_$u#Y~GXRHf2H_%axM>A~W9F#LztUSg(kY|%}!VFP_Vh6qf&`$ftJ8@V?SZWHbDND~ldNRbB1LT^k0CSLZ2$4owogBs7Cf zVoY)G8CrvGE^K%mTXdfM7T77?{dBs>|Gv{x@0QGBce&s5@NuZ>`M9o12jy!#0rJR|&8w>g;6ZP_9Pr9>EuQ-a8-G4@bz92!kc;%0w_ z*EF?EmGDzmmT&S<%qA2e6_hiGLangl$Ja%ugVp_f;^OV3afkZnlA@pc)_GErEZ3W> zxKa;i8c%VtqA~k{F&dwEo1I@usjw8INDc!rZRB6s#^=~~i}^kn*3u~id3twbPK~~q zVsB(9awQ4xP6V4CbHh}tHtN+FymwC{f4+=94ibC|NeI>gYcuA4kC!>qy>hp1T4Hc% zJcX|<&z4oqFS?}YE3I#>Jyn=>As3~Rd(EYt!~n8;_?q0jwRP#O#$}+CeAp+qs0y6% zIkK1Xev{K~Yx&0p0E@K-OE0y`de@r@WLR~TOQm-CyXYZ1UEY3s6&$|ihe{Ujmld8^ zope;0pj`rPYG>KEP0W-ArDt7VB{GE~iq9+= zS0Du+wmPLqgNVA=JR4tmRF(bRYk24Hx|3W3Nn|OBVO%!Onn<47+>ETRKh2*q9$S|q zOrqUbcbeB5b!+hPZxYj>Pf_MwAn#slSUTzEiTk{&u!%VMv*Qt^om>x=OOS?qvuoMA zp3}@;79s7wNl!W(5LqjV3hyS5$@uTuq_po(xLk@92q+hwd$Whv2GqROwYuf%FM{$HYHdU0OZy%Jdl~vHJ#7q zT=(`C*3)@_Qd(2Y3A~v|OOrem?hWtbn2ZB2`W<-0EN|6XF%YCB98z{S713Q$p8trq z?X5J_#tm1bAl?(ea)c4??2KAIOULu zyog+ku20ZTHGuaVFrsJ5ABFQ;^u(vrt*lKw1#-%xROal8L>!yF=_SirdIjj*sV}>0 zHp3}p4K_DLF46<03(QHR31zt)VK0sT{c@F2{ZMi$(f8bO$EZ<@qy^t>6GuXRdHwch z^?Esls2V-tLv8tlN403o?}ApphKs+AK`VneTa{9gBZa3kTv|~3hoS^LVg@K(LXxl4 z`4uvqzXA%^{KgiYVu<>3QpRjcLMg2HZKCyiQ*Iee6!7yMZ%5F1pDV zJDS^C7Mv5<*IPx8@NNDV17z1`Ui=_K9K;2d2+Dt{eW*n9o;bAdC1>j4^mId&>7635sB7w! z`6qVKZO*}Bdsp6zBd(4>(>(K3Ur{r);LW5oVjxN5%Mpxj;MG@T_(mJ_gX%-ewkna~ z4DQd1OXN|wNUSL9D8v$kv^|`y?l`oXp6=6^>*2C@(wpFrW0xmQrG!LcP;_!W^PuQ9V%k1PMfl~+i62D(j8 z|Gn^P*)Go7wc#}zX~|jpalZz)#DOx*Q z`(SZ|(^Cb1Uso7OF)HwAHkwhTN%SPZB9%i^@xmg5KWSl4;2-%242`VG zm@RHj9>%2uPMZ#R@P}2Y;Y9YH+BsPP`wPWyp!A8Ny<5GR>r~XjjJOX~A}J~XE3{3? zts}vH3IDM0i!GrfR@)@+^su=><3A}KgX>jQo1{E&3X7_Ocr+koYItot-tx$@(DhG$ zAolM1;K6VBip7MTFFSY%4%_&Ruw;9AlAON{ z_=q*lsbY`_Gyv{YR|#N<$?=PRdkYg&4xdfD4r%xRB*wDxgnT^r!62qQ8BpZ_wFbRh zr&!@f43_9wf_qiNU;ppVUyX9@Wu|%ik%v;AUhewW3+anHZkRr@@b&b3E@`BvABJ&h z47cCNA)nZ6Ev@7;4)^I<#?@yPUzwB=8*?jd>N*q3m+Nu0ESv-(+&r&$9J3!GDDo^d zz?~F;gpzTGlm~CTiMNlw#`mQ2`{C=SM&#v? zwey~faQ|FWl|I(J@SE3E{_*d@b5VC2XfQ>qVvoG=cK9Nosi+I2pgyNNbK1gtreI&L zx4To;5ZxSju{tQe_uR>b|7`uT)4Cyj6m}=w%~M#AJ!H zq-SW*Tt*Unqd=+NvwNGbck`=n;P`0v($0msngw@tl@e0Hq>>7+H@0XLQILMv9UlMG zQo}o-FlTAe1;`5%Il69j47vTpfT=IGyf9NccFJeqeH}5AR2+CUT;^MAe9KlaR~^(O z9ZFw;SFA6OoNO5<8z-9fJ&xYq`q(;q`1OEJ%v%m#>NH$WhP8a zA_Azw2G#Bo}0kE8Kp1x{0|GEcJJo!C(sYSVwi>LLS-lR`+7l?Is>$ zl*Y$VcJsvJQO7T8Rgn-Yxlss_HY9xiJn)txQs5VldgWBCW4Jvjqojxt_qsdqOUKeD zRJeKTf)iy)O1S_c?O@Y3r`_lHVm(lYB$v;0gVuH_zy~IS?#i63sHA2*Lz^%YvwXAD zk&7!e%ws&M{|tWH*rYDXWxLyrOTNR2aCGT#vGYLE^HoYZB=GZw!r za1QF8>jz*Cg?g+;Y4Xl#Qy(u@D9Qao00B@bAAwZ>^?AAquR=7Mk|sc)4-F>(Ni7Io zUPJGP+yDIQ#hzQK(Ntja%515vxm7GK8&hWNo%h)G*jMmnwFZhyC5nmpLjFZ@{Y8TR z%A4ICN)WH+L@1br2zFn`qwjgUNLIa*Y-yFpJbtE_tw123M5m;VXp+4L8X8?i$8Mn& z0bo&8&ZD%3zE*}tqU8)1IjadL3xFy>8#%24RpqD>x2lic8_`qewJl2wDDC@J;xScx zqJ=|SzuvVhRnM@6%@RwVeXh((!bJdN21I>8j#Ybq!#+8cVH!inQb{C>-XonS)35m{1$K2F&y|BhSPu+mZvg>Q1x8P59E zEk;Nai|nagbJ{*vNHDU%RI-m!hFvE@t^o2NLE-+L9A?OVF{yukQ)9P1ltGzXU|0W} zveGrB-g6BgQb4Wq-KC)od_kSn?05A~S_3FDMWTOb-C~G{VAspjTqKClrj3L^Qe-Nn zX{-Q)5zJxQpc+CS0ZR%Ca0P>`73;8?F9*`zz_$Cw(hH#-Ub6 z{qiZE^Oh`eDM070bK?RzI?2KYz{QEcZ(_oL7D{rhf7ai3{7%9KklKO4gUBh~(?Zg@ zia!R^C+8NOGP+&wr9es~$zM4mGD-QXCLAoKHgp90pn3y`^fmvo@OSSdtIAo1 zl;!j1JK6A3xR8eeVXlG#rV+?Av8SXpE5hf<<+mpo+ZyBh1J@^c&$9(qpof@FXq z>Hrb|3nlDBuY;#=bKJ_Eu1!K&dpOl0>gH6Cazn%iu11g0i2nB=` z$de#~QU9X96A(fm(g0>cIS4yKlnsVN^v!kus&0GG#Gch z=DWrjidT5rn~*?QqHdG|3nI%>Qzpe+*Xv&kqjTmKfwgfZEUH5P$#8@rbj~bM_6o#M zBn5!dsLV1d$`D&=pJ)X-j7Wr;(mn%9z+a?oX8Gs*glX!(%rYmiBodzNw$iJ zi*KN|icCjsT}9%$3&8l9=xG|=sc)yf>CH}oCs&?FD`lm&AG4-Xcu5SEN*f$1z8hTK<>%BMq!&18V73Y7l z?2DSoIrPs1Ey^=7qIAW`NBO#XqUv__WltyK7ir}C?sw)#M^}9`U0S%bAD+#@20nOK zzB(p+`o8Pkawj%X`begHqU=UNN0Q%WU$tlZL5<;=0Yzxi->?_x_!V-uE7Kv#x!oX` z<(te*A{XKLg&Q>Cp}cBIk^S7?eq`T>5xQ8Yn-xfW*k2?bqtC8(v}K7u&AMFJ zugUS}LX_bCiNxi!`Mk&(WoSR8Zyl7x=r;o^BOs3=0Z2;b*FXdy0Sf@6Pym-fN}X5H z-cis*)Bqge!dh#gGD6`VC2IW@qslo;`*?+!#d1(@js8Voqt)VWL!!F{(nRV9^}L8` zlvF{bBLw=@?DC)Z@a!A+ptP;ET_zAcqs!LbIr6^WtYh4N8giQJA<>4oa6hw1~c+LiCTJuTdokBV&T^3ah+|IUK-j!G&_ev&b=6auhOiiSCQ2-=QKGyslQ+ z7RWI77`P~ZvB?M5DBkb{Uxv(~3fOMmwu~A!4;QCI-v1s~voRj(Z7|hnv+KRJuU@&qVCFSkWWnNcPigb@qeynGtS`gR2@GCjqdMW(c=lMtP z!y*}!`Wo$T7YT`=npYx@v6anLuFZ&-)f=Ye52+Z6YZja&FIJ0l%-T-^o7m8I{1+=L%NHUSN=U0jkhn^SkP4MU z9N2ti=KwH6ARq(?YK}+tL1bf;hWsQ8MZ$hn^r*{6Mc=57jfr~#*;%}U+ z8dmf_hjbC;L%fz;(?Zd3nR<~)LKw|}zJC?jBY z#5b?gfcD~pN{-9i$ZvMPj+-SkMSYo}5n|UzfM2E74s~Qz< zQz6AWviDyJKWm-!DbPX#wWNY6AnYb!2slis;405eQP+)mGPEnV7M{dqZ3Q)lq$0vF z2vq0*@3WSR@7>32V`jASv&##v%`Y?zva|v28h{d|w4_Vq;+r_QPs1zjnc-4~S0?RZ zMqG(@jZHzm%~9cpGs501eni!j68|=ZJ}63ks9||4W4Dt(wI#`_x3qX;>6og1{ndbi zQ?7pDYH{H>XkmI%bN|Z{A|(D#SrLdag#nw5e|frf;VXXLkWEvl!=*RHnfCg{lMm8_ zhPhc&xLJ!or;C0Nc2T49O5PM#q|dFD;s4vvm@e1Kk7s+SJO+w(v3HqDGpGQiDn4vR4yGM=L!a zM7>O%VMxPR*+uu-!5xIs+IrK!_u_gCdwO*IW9#&8gYSonq+G>HKe5t)*U5Un~R$?c5P(W8IUFy-|8>yjR$XhgwmabNw&Z ze>Mc|y}crUzR9vRBdNI&;;!{Q{D`{R9=;_R){MxEm$;pN<;FFuPpx?6sDJkIW zS`l4R_dM>w*h6#yN<8@q2|!9hD3F<`3ltj49_bDQ-UAW>xkTIF6?NN{KN5Fhc~V{d z%0T_))U>8~oALFu!}-D5TCu?lwzuBv#kN4=*ww_0w{7{~tUZbLrg=R)_Rl*>4TY>C zFP4HLM|z1b>Ha^TeDG=j*rN-bJI1synZ0Kjr`&V1F36IuBN?XkI^5sY=zHZyXN|@x z!GP!L4C*)ce!cPg!b15T%sGOvs^k5B_n(9&#DqZHo$B;#BuRNwdRr^Y+*;-fDQp`u zQ6?iTZ1H%T`lgPyC&@jovMMiWCZ=w1=f)S*SENsji=#Zv%g;$(f+YZf>pqj(WXOkLPcT zI4cS=wp<_jnc-IwT<^H5rraRtA^h!Mu=(WxI^LhSoqQ>hoHTzq`QDraFSBZ156l{- z%Bdl^J7*c^cvb8Y^-o&=!9D+PLPi4TOJ6~+{Gm^O$8Jm!8gExQUHLT zdu@)B+==mv(1nTs)0)=aIt`u17?E`sBVC?dwTGqr)+mj-vHV~lH!^GcH)QPkY&&4) zel$wpsgsq_lNS}`z5$n5_i2)6n^WHrXIQB@NJDr#*F)e|%Vy%|uur}IH>0OZ^Co7k z&8@RfPUx6=eh54SVV`XT?O(eHtLMkcKrGd4oG-KGg~CtL%$~a{B-hwXHn7J`ps~1# z^_|7G##cetf6mVAK692w#ca-b@s(1YGCb>)W0~`&vd`NyfvUc6zrlHIk+XNObC9-5N>{S z{l`}CvoR-Ya$l#FnE3q_F4iT?loxf|zu7?}VbYcpt-0DKbZQXhs$U7VG#dI zC-<1>yf;~M8)v_)j{npv_V@RXdN@QIKZ@gz4=2dO=&=mEoe>y(GGhv?$&KK73j#L1 z+~5K8xM478!gktZ1TYE(2SqaSyHfxNWjuwGUIP#;(?($X(9S^8fDJ4(QC64|UuSOB zpmJ`X&p@wE+Dq5pT+?5CDiP$lBFg==skL3~6&IJwbm#z-g1i(;o#9?7$eAc-MpaEq6}t1ItO_r8TqBprL9p1C?JWumtyZ9^iQtS8?6IOi3M9p^Y6k=lg2Yk- z3T&UdMetd@9?X!3pp}90oKYe2bFMW}92+LuCzoUt!hJ@CPi+lfqf)8+<0Y;V2Aw}J zWAin$Fu^5dnf)%<4eD2|%`iUA9Leg;JJdnXdj9eg`Rsnhc-qXZvzmwhQ4U0~AQib6 zLHC~8y&_1wWOIh8qAbuBcdc4zV$}M+>}seVcy_z9CZD9VI%26JZyw`meJ!n>js66$ z{4TEz0}?YxJ^ismPR4sF@NsJT&!|_&A=3jpIh##Oe^1vJWH)PTQ#^6WMHSJ56*X1g zByW!<@;7&U^c?e?ZqrMYlxGs%~%&FwwI)s*SMo(gY?nmA}RH@}qq`MBr z>WL9mAG=ZvWtSo4BLtrvniKoCfx-LlQy6p*4Gsa&K%|jU3X`3j-uzn3R#4dT2=bGa z`3TY#-__}zMkQxyQ>m_(ifb+%o<3>kF}A0b=15dtTlf4A@*%L3v)Z|VcZ2buLV(wn z0cTa^fU|>fzk2ndrwTQ5`Tp^Wm6+pYgcABqUB=kD54Gg=?;x(|jE}dU1)r`nKVPkz zZf>wSo*!B2pf@-24&uFyURbWaK2y!N?ZY~_7feOn&c1pE^8P?U6O&=AW9RTu=&*NX z?YkNKnn?WD+q@@z?9UYzJxxEEn(IoX3(yi-SV6K=oq4mA>BG5#PL9?zC2uHFa#8(Z zqOZ6XeXq?M=XZs&qRX?$7oC^JjUBrOX-k9{FkS%*hP~OASJZ% zd&B@IHi0MsfQf*(*_h+eY9QC641Q>>)oUPL1xjIUE+bDO|AY1=)mjg&hBT7_ZGVq& z<&szTJGE0ygLxij@_hL)mAS7^$CLX6AH5LEz?57tdUW&TXbNBc9URV@R3@JFi)_OLf)s z0uOe?mV7TK=VSILEV_)d5*Y!%e-tj;vDC*%*e0EFa%<$%MI)dBDa8=N4-zeg*YXZRR&fq(-L z3PcQHfw}A^Mwv#YFP)@6G(3Jp!Pxp`@llnQ%*418xvclUuprW)7=-LQ~%~?>DpP%1M0&nNlt~n z^k?`{-iz>Fq+lI1C!AHdo&6(uyuw!EE-z0Kx!SxfL8%wItTi7g7=8VZ`Y`#O z4NX6!|1MdbiMNU|+H)2TH!v_jBf3)fk)Jga37n_rshDZy`i~aHD>QCosBaE$!smQB$9(B26$bZv06ZDxt`t9ZY(jxb(y zKv|24jS#YoWr~v4kReH7wO%dvF<2LmIyFtxgwsg<%@&phC;%)O?+qexVE4Gl4CO@D z=uSBjBFOhgy$mqa=TfSOqQ;{LYHE5BAtdrwUaL3ZOXgr#rIPON>YY^lzV7X zKSP&k*%2-JV{@zm3l&Udd)8zWWA&|Sx+bO-!Axeok?w<|1(7OnKw zDCZoHPa-Poa@7E2#*9}0c-JQ%zMnRPah;7_*XZho`6M1xIp3IUGZDhhMzboa)eSQg z@$-=C%2$k{p>PT}38|kpO`uJ!XHMs)mh?}$I!4bKB6M~1)J-+FPCfRs|9S05Y<-BW zzqtACKSL&Q(OZ{F5%4;~2sEH`gcgH<=e8tLg5Wws_aoW)<0X39*(!B3ESHpR zn5E6X%-{O2O~Kl;>Pc#OSU=BA7K$6I37ftY-|eS%H&!oOyzI&xr$)76DFcK*Fw1o% zJY?5`)b51;c=)NNNEeneyVH^|ZZWR*RQxO*mkUNio)stW;a1zP*&N4WURcNF{W)D~ z-T1jXeLD|n2k+ZU<1_iua#AYxPGj|fI!#Ok{HVCQ28O9oo{xb>u{F~bb73SHncz1p z|F6x8cffPPFh6_gjnrH4pu-kH(9PPRrq0gE_AaEKnpLlDTLBlq7=Y>ZFZPrg%Ty1<$2660wC#rRdOh{|XOw$BTNIQr%m6a^mD& z5>u(NQO381aZ`ZVG`%lg*hPaqP4$wC?j&5Yl+D3+{vo&VFXKpc^0+%W75}$VLn7d0 z>svh{E513{W`)6vT&420 zATuh|J@H9QpR_Xv)B!|w(oPUlQva&U3z_{xBSE z5O_3E#QPzJ7rqmf$MFC`2&vQx9!jX!*MIrY0rhBmT2QYqm`nmFHz~r+rl{DjGU(?b zxYu?#9nNt3d)St0CfsYD&Gz8UwBh^r#Y&+WctvLBo0Gat`jFDUIZtq}~!H=JAqb2$K7#q=sDaSl-nw_yZnl?3GjP@vO6@5ds9R;0+?l31`kLMl! z`)_WyY9HDO2;xVcikFwWp$Gu{1(=xNKbB;S@=fnqlOjGlFEsS;ero8gt2i<3Xj;I2 zl+-oOul>MI)?Kp%n_!wy8x&z?wnp>2#~?Qa62w__q`)ZsKcrwVBLrmkm9Q@Yz_z^F z{i8QUMdcTz{p4jibm#o{~?W1ln=EU-GVl(7B z;rg`Ce%DoHo9#Kbw0qrSQ9Q|N@VmkjBRmDMID!B2k7zVVX(e6sJiUTnU2l)< zg)L10^#x3;58TEeP`Xwikv*+vBxa4$kSM~`f^GE^9Bn5{tJ^=8@ zEd~D)iQ6{dp3YL2By;ix2fmsAv`Z%3DC}v^_?Xm2t;ww_dqg|;v7!{@>w@|7BVnic zj+0*_w6O>kM*~Vdy=e(9L;ZJq)q{&Ee=)&y_x4pny+a$L_R=F=5fI>N(TN{`w!?^7 z{FP%>sZL-O?HD>Y9+Z9yD$tff^ZBd`t$$hc-0ltx`th`IhFFp`>)fr@m~-xvWugP> z=iQsRD`d@D2S*Of~uZZnKLzdeRTnd;c9!)#jcDM5%GwwBX74N^j=gbC>)O$(>Is4bBv ztpD1gutipxDo1VTuR((%U4bNbyz{*Ny>>?!3L9k2e`5HLc<)82g=h|E83}VzUNZ+J z4GyQbX4oRa*J}I441;#~{sKAcd>lO0bt$N`l(T>~KZB3iRL3=(>SwaEz z!%FctrAlW6wXDew>Exmeb=ee;hutAbRVGmur8F{~6wd0h zst{pJF>=ZxDJ9A5$B=Sv$B_l7sE6yTtnicP&zji+@JuxM6s^*6Oi5=#Ameh%3W7wA zV{gkwkr~?U^{b1Mhi~X|c9%m&+5nPpmY6t=0+>Sx!x-CkbA9pR#q)i;e|~xO^5!-O zTUP-90~pG)>2x+<#&Hmd&e$-H9Ae+KVd#f(@G*D6@7ms4C+cb#`v<3|F$H7wq^V+# zrYvs9=x#R4rtSxAoa(|DV;o~jjBVfh5Rk!IMM^cA_HCz?*7K#AP7q1q4y<)$x!tbu zi(dwDDM8{mMkdK^|MUcu2(u*liembQAuL3Nq(oYg=58xaQ~^{-nRw8uiQy*mmzjgn zRaqX7{wieFiY9e6DGed)+wseb%g>%ZuZ=!Bo=+=M+e0_{W?CQi!@cA9C*OU47{?bE zmtEV&oIu0^9=fis+^nu*%9wHz2_bFwH^VTDeIHl^D2gQJeLtGQ-R!%Me)UVA*zU)Dy^PQW&(ma3UD3;h*$#0ATbAK4xzoh z9NOK}FP~oD+;)B6hY(_l%q(pPe0F*~ElUZ0zr6`D5lEtOHk*>xpiMOiecvZPxOTrg zv>}eW14JL|vYO7PLZxwT($qtURuho4y%z+?QWa&C5MmB#0K~!=L@1qhT05hv!fo0i zOoI0wMHn!K1QQgtGce&+uh6C{ms>FX*2*F`hH#-5GJA!hO)Hl z_3d}Q`MpI`Rv3TrS+~nc7+C3NSGS3IIhi|@}R+92D*Zr8Vd zf0)hZ-HTV(>rGXbwNjaJv0NS>tz6{{La8-R7rN`x;NxcZ>Wfd**d2fH{p`m)_N2@m zlLHmzkT}Q8DfMGN9JZI&>-FvJ?d`5@h1B4E;glJq8+={5Wm8+k9LAV=I-8x{e^5?P0&~hTt#P>($ATGY%1pq6mrGZVW!thwVa2PlpcH*B8<_;$T?>pV(>vD0ZV1Hgi#Z14~N046LsAW&s^~u zQYA9}p$V%1nhN(o)34|kAi^yJqU^H&D33o(W*J$<#lyxERv zOg?F&fT8dD%G%l)Tj;aX)#_-mzPkA6pDu20x7*eukWnZg`v}#LLQF&yGvBVaPp?01 z`*uE^AW-Rww(A&iF`WbFr`I=6US7`{bGzRI%ERM(313}pZohc;WZF#TRdF<3o&qK2 zL${Cn!?diA-h3M&au|sWrz8MGhJoWa2yhk|``yjOtNms-_Cr7P0sxY0qp>J%^EP-H z+K^sttFoES=8@I)_4w-Iw7nVuh?Op60&Aw~PH zbJljf|Ml}%zx?9)&%Su>{m^y;C@st-kSiT@kU43M3P3;xA0kWBOuK$8j3SVn@;Ht; zrYw+iS}tZps_T0s7*ia4h=Jylkn=9{sHg;Bk&M3ui{^K5{zZ-OPVQ(b04xcBA#ZcK zHN;K5O!39#`X{@?eux2tE32E?G_qXYZuUbz_+%Aw6cnlpD@K!sX=SHnz1w$BpTF4b z`@`VxZWU&go0aDNe15c;7~=@B?fXxkzdY=_!jd07DVo+(XY_137Z9Q)Bdv}Flz#c_ z2@zi2T3lXlKFL|4_ZmcyK@)GI$h0+s&1q7LchM{eTF($jV?*lJpbKrG5j8(l#=?29!+(C!=4@+2x z3c-GLVIc$O14~B&C}YmsUH9U4|7^Y8#U#6aTrDP5RZXVz&z`>Mx-LX6G$oPf!!X1Q zWfnl?ZZRbrrX{Ls-a!!O9^7ZxY zFt$Pp0i5W~<~AoxAkJZkvA-S4p&a_b*IuzG&b2ObRUp}}?}vhXRRvSq_j7; zYuRv7mP%1fDP*aYwuPNGO;Ngc-+c3vPk%LA%myDy>w5OqkS286hR9=*qOMO*?t33{ zmigp;q!`nd^jv@iBC`;h-)v#{yAT#4KuWhMT#x-ff($6hsB#!Szh3|2(~BpaAM3&> zGSkVVaZWoILfW;x(MB+#);#!x0EELBa!!NMoY@)7k^%2laKIv3sSFU4^f99jw=IY5 z?rOcgv;Ky01gisJSyxVJt9(;xt2B}IDb`NUo3ibOl!78%C)+myclkfd74C4?&E-W4`X7}&kfArd;2ag{9`yc(o4}bP4jP$|xzv+hl z!O2@c{^4JykO71gY5-tF(5`Z>bhdP)DY5t%oz_|*2zSF+ID5QYT4k!rz4`DyLS9a5 zl_KYxVqPi4ZXCwcHBI&K;k%pNIz)eReC({&R3k!8w_2Z~ARsVA0{t7rxBgBpp%V{d z_lt4(D90~J4pwoSZZ5B1JiFcYL#V6f=xAP71xbSBr}d=wqau?;5;Ns!oI?*O1EEX{ zTR9a|+Km!pj#)r3XHXgua!vxG0TD@Ww}(yF#uO&Dc3L%)YB`w|)*2*JIH#3SRvTlD zMy1ED>$_do_pfd@hi)j0i)kbQSGc0ki2;#_ zy}bJTYP%a!=fmp{&;R%b-~ZM6@K4XL>fRi78TU^@%#hg{(IA?+E-hJS3rEK74!zR_ zgJ{H@^SrK-q>$5Qzds$0kzov;8ABKjZFkroyiWjJm2U9qc7Ir{&R6#y9@*1|R#e zUsldq&7iKYZ=PLTcpn%cxx2rJa< z(KH7iLrx0eY;}BcvRY0iWmT)`!cFI0cW4i-tEa2UtXa$#tK-j}KE2xP`PF3~{DZT5 z|JeucUaSwl{_)?4LP2zz9I*m4gv+LU6K{1|#a)J365X{~pg zO|e>P?TWHgfv$GfF~uPUU@^}1hjw%5k*o2Dw9odKaX53D^$M9v=A-aSf_EHUMMS%0f(zLR;^b-℧|yG<#Vvsc%Ke^cY3no9Aa!I&D0fk82c2H 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�?7HrB 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/2-small.png b/src/assets/images/avatars/2-small.png new file mode 100644 index 0000000000000000000000000000000000000000..523ee62a359879c92a1906dc2abc0f66be693c2b GIT binary patch literal 12401 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/2.png b/src/assets/images/avatars/2.png new file mode 100644 index 0000000000000000000000000000000000000000..22945afdf69842136e2450fa54cafe7b0e50de0b GIT binary patch literal 41942 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 Ef)V-d-T(jq literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/3.png b/src/assets/images/avatars/3.png new file mode 100644 index 0000000000000000000000000000000000000000..0382f7d4820f8b1232314213e17b006d6156a3a8 GIT binary patch literal 46561 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/4-small.png b/src/assets/images/avatars/4-small.png new file mode 100644 index 0000000000000000000000000000000000000000..11248ccc0b1f338deb033133fdb17a595ed9920a GIT binary patch literal 11774 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/5-small.png b/src/assets/images/avatars/5-small.png new file mode 100644 index 0000000000000000000000000000000000000000..aba8b4acdcf6c20f937c2359554adcac17b3a4db GIT binary patch literal 13449 zcmV;4G0p zT0K3Qkt`qkH~Yu^ldle+@|m;#_bg6R%Uj^+U12JV0W z9{ySnPk%{|``(M-0Dum_Lmz=m5k|Z-7Va0MP!zV1>V+Dej&bi5}+Kzs^L zV5sJzycAdr)%hekFIJTznX{x2Hk&R7>Zxs5BRaj$2Kd)-!@nR{P7eB%)Rfe45tIIT%Z$n+5MC zIu=~TTeG#*)*6EYI+)MvvMz;UYDKo&(ar|*TvHZWw?UF4l7Gmb|8s-o?g;#S9^?Rs z1^}*MDtNcVcPA`@#oZXei9jNNNG7TtszyKw zV`2mmnklNTXLRbIMY2ERB9DpnJ!Spn|6jiXgE#Q-^sI>B4q)bSs^gvHwS<$3sy5(d zn(uGkh)BoTSY=+<`M9n#c%YD1RY2qz)^$x0fB*0Q_SJ8GmxHUUAtVa6!Flh;#Dd>_ zqhAZAU(d3>_qeWrTqPV^Kf~D~G_^_H6oSmtd^*faky6(%4Iv|fBcnr%T*OUbyBqpp zBb)VbIDGNhmtywm?|&CVZ>q$3a&CZ^GIgP$86W`IuNuUD4Y0mPe>@bylk5*R6y>6; zfg%#NGSBnF{jF&`zdYY|g9p%3zyw+(=45VWMKnsiygGmN>eXBeh?a*n?Z=RkTLB8f z=l8%nf9RnRH~{@mWLf6Mh~bGMAeP35wmDf>F;-nolz_$baGZ|E<8Hfu{``6FlWCg| zhx_@s&WmbuLopEa&T(1FmtVcTyx6^Xb~V@ai?2U><)7})$4D8l0pf~hVsHVc-d6x4 zG`FW*`TudS2+%%|&Zcy1!(>}wXmv3a;;dGV565XaUA%a9w%NV?21L?91At!%sbAg= zKV)tvv_Dh)C5DIRGLCXL2xd*p2Dg z#c$@a-re1O{wM$2zx})Gn|EJ)`KRB)r<=2L>~aX~PBU#umEj?R;IBr%!Y?1E003aM zbkdCgE0~yY2xyS={t_Vv0PwYGUWy4oNkUF~`kzFw-~ReD?W2|MB(f*V=5m-F7)LLJ;ZtjLZfY zh|@5nzSDqfkrd%_f41qnwai_LU5bapVY53AA&At(A;wU7JE2f(XN>Rha&(99b65Aj zj%EFey3F0d6@i<@*~gRg7RdpKf>NMr)@opsTHb!~r~mek|M`nQeJ!HfevrT+pLIEP zDGc3+ZUUf4uCg2-mg9qn&J*&G&CUd;9i_^TXZ?7! zzZ!CvhzCx27`mQ=XB97ARCKa+J}syD2u>-7KIdm2Ems%M_WO%IzrMe{JKJwdW~yu) zAv!~95N60dfN4d1pB53p^yde%U&yi$!BABhd9_eE5u#rN*+xUI@BX6oH%8;S8gDG)X< z?f&lF?e({HJ-piO&d)D5`}3T}YUZsmbLhI1I!33+K<+A4w!=F2r^Deio#y%YuwGx6 zhvVVz|HJ=&_3_Ko`Ps58T{%!@mKX!4Kx-o;cZgLQ#}L5L>6dDJg`aL#--`u^;7*3_ zmI{(1yEFoJL^DwkEzAAQw{JfG({g)vx!XLydcHfmjQzmOqk;ecILDN8W@ZkAOn~T8 zmeO@8W+rl}wN7Pz{ibgF|F%6pyL|rQc>hM`x#gU5MvdZP?%=`Em4k?dpigYs@%umB zzbIJW@hNvVb9Z7T2#XRxb}N7iz;4u3yo$`zyRSY!zI%Jt^&ee6+nt|x!zSd;91Soa zA|f+~6jO+Z2y6uCA#$wIl}rJEflDc0Utj;>PwV-!7q5Qz_a%?sik7v>8ZDs_xGxe@ zZ0@S`fi4i@&rO9tmpb?(Y7B@D%BxUqNyyC?LDwPt{V<^aYNa>!i_+YmE?k&_`a15hi{ zh8F4y%$%Ybn9&T}k-6K?=c2!i8zRwTz*2xBSQZm2h7w|q39Xr|v#3R2Gs%=W<_gA$ z0f7t<9bLfD0o_Feh{(u^$QvU$ni?^gIiPdk+- z4E)G4)R4(s&=8Ob)l?rHGdKe|mN__F)~yZH!SlI9OX|(LJ}Nw2%V>L;zPD zjt-qqfadN9j}_w2A`w6Flkt1~b#+@sm(|u&ZFSbRn79MATHAUgQ*bmhbs!4rMveyV zgaU46?(U)hAR^|DL`bSg4urtqK}^NK-5rHO$m8a0zwPtjK!m^)Dp*-h+62YW0KB<2 z18){*V|^URBAEYN3jY(p`d$V96uxj-b)HJKwXMa>0HdI{b+IOZ3_wK0F&jByKzCpQ zM?)|LaRa7i4Uh@ZLjdkVAYg(JLr9b|QGgH~V?+ue<=CZ^fLPQ39SoPHxO=O!mW2Z` zk~Ucc7Vp)=BPk^OD}Y6R9_Vpd?fzbmQ>nEUHAgl;ZPx0ns)pbQgnhY+pFi~bE019j0m_9_5G9vB!+TUp(m=!x7or~+b$MB!0Z^hmHoMAVx< z5nXq0BI0gfVrmBJj2tL15SxjKn5c-T6H!obGt*X7U8I^-GIwh+GEi6*4ibxfFVMdK zqyG!7%C8gP=|c<6%-pFoS(mC!jDQ&dz=*A`Wtov80U$baGyt=zE(Q^e1(cebKT>m4 z1QjDjrr@OR$c(1Q0np7|KaAH*)U{a=P;kR1^A;1Gx#e}4IA!OEj2uvk9~%rD1A4^o ze$og4Ztx>5F8oB2mky zBbpNv2jo@tBo=`(Ng^b4f1LaOc;5^^$qng=kqQ*0TCFrGrGyj%MT}X+*V997a~Jju zh)7dg-abqf-~wn6??Oa0Kr>NBHzmiU?4s4(i`DznbUe)0$HUFt;r`*FnU1-8z8jB+ z)22_0%+dCy&D|N$R1v^LDF!KSwLs|HT}>kgGhL-E3=9FFMMI|V`Q(pLT85t(<`B`L z0I2v}q>8C(#Dp<0qqL=zrB!!eC8$-dZ>RtBzx-#Wyt_PqdHMY6;_T&aJ9gcWVl`th zfmT;p*7nuy-51|{`{w5EaGZ+Oh_oFyA6=Y(^6L4ki}QUKfc?$uHZMyxXG8=?b9OVc zfT8(xS_^jqNDA&mPA*Orpn(U^#cDzhpg`zm@MFXgKfT;hH&PI<_y$&9`6v=Hlw&V&l+M*;^$dAT%>TbX8ziL7VPNKc+qba%+N! zLSb#S1C7xcSwxLJ8U0ul$xknLn0a37bdY%!caIz>B#&$+Qr22qRS~J8tAnFJHFE?+ zx3w1Z`+NNAbqt6vFRo~t$kn_N`hGKRx?EbleRuQi-Tm>fOnz_Dh7c~d10jLpU&gXT{WQz8nyD*?AyG&jIkYynWolB*u$jI$ zLwa_3zF4_`n3`xKTAZ4Q7%|6j9CMBV>9oujXWqrIJ{+H4rQcpX|LEc2tJhxz&SU61 zg#YdLpL}$AUg~N@gh&*S1AsBGy8%$&_xHE&rqdzzn_xz695RrqHZ+)k32{Rj!Nr`B zkrcpxphDuOgVidORjTOH1VA}<9HV)Y^>mt-+6*YT3c5wWp80Zn#*l8tdpG>}*|Upr zyG=OuF$9dM?{n}@cDo(--FDm!DIaH1p)GYEjr*AJVzaxvIQ!)J9_#w{`bPMX?P*AP zt&K_0Gos~T8)Kg5sXINy?Ky#D0O(T!Vl)L<8-(Z%{>YvK*bmo|{B*EX+bZ5f%^RQr z5tymzJeRV}u7)704MBiX*N4m)++K~B7vuKjvy08P=Lln$2{R)EBqr)pj9o5UjA@9+ zleBuFBX=pMIBw#8yY0KAOPWu22Z*Rf+L&3)TCv^6%ToINwjamS@&0&xIPZ5rEF#gE zB6jFP8VnEBdiH^l-M(uH{3>8M03o=$MYm=ZL?km%h@xO^smr~%5dk~1vwI}BP3r#U z#pNgaix`mc8`K!eq2rXb=(l2 z7<_~33XZ~V6e2SN>areBa|QJfQj=AzIS69fbm`gUIWi+<0!}G~#Na}zF%YmBLI{Cd zM#?c`FUh;E1_n_RWdjP05txHGBm^RGS#6r*~I zm=Q^jfj9W zBJEP$F&%FP^^u47Z0PViYr#%7DXuA7U!&ENiKCHIayh?rP{j z%!uZQ2uR+Sg)qA(pb!Aj)xq3B8;D2+0~4(()9L==Vt@JUg-L0x zASN?2SyM_mb`4CVQp!@BBLYA(%E=M@X`oO4Vm0rVwyei3BzH#@_Rw{mo0iiniIiYjJl`uhTI{zI=WW6WX%Wy4ET{*vdj(M-Eb(YBNx&?uLQABj=} ze-+Dm61X$^>V_c%Wz==9(ppt(MnGwdpsNE=3`h98)GuFx|U|1Q`dDJ<>POC2`e0Y(=zbQQCuE^ArVQ`0_oR*Tk1y1e}O=CvJ4x7~LD zL}b%UF(87p5>sc6;uZlCS!4!qKz1_({4<61FA5fdyIBFxNQF~WDb`j~sBKk~9D7DL zCuU}50u*;}GjNwu4FuX!ML_z*=DscmFe9wm#6c1V(dOdrx{9{rQA9!xiOJ1mUDjzj z&C^sh?02=sQY0_y^RwMyd$zPin#1vy=qg3zgr*S3(P}Z5wPH(@h!Y{cUt~ZcaD9?) z{R%P50e~oTSTlFXX4TZ7)m59s6#KppA((5(U5wFPLE2P`6>&z6tvMB|raaH{w5(Da z5k(|a0YoH-0dg9LVI!w`T29Nd^ofWg6L_n0Ij-|kR83q&T3g$4jJvMe_IGa%xlf1t z2LsydcL7uLhP65awpLpZ#E2L|2c+Qc=;-hR&Fbf>Y!##+7`r@O1_vyzeZDV3t zU@6Dz`x24HoZMB`<)qETRc5VTYn<1%>!vh}9@!l!@SAVH<`~8yyK9-J+zrYqibYT} zx;FrFaP+4U8U3&o;-9Rd;VwYebBb!Zu2S4Rgq*uBCPvr9A;yS^?p{i}c{t3|X;tWQ z#MohMk$7PPuyr{-OeX*^@%^^@o8SKSSH;Amdwu&hQa8(Nd%so`m90^$9I*cup8j6~?-q0bzWs&WWxE%SVu)@7Zko^3#LSq1 z35j1ig_M{8LhR2jw#$A#P2)H!*fcFMb}>dlr&fV!Ug%K5 zK1U`HaP&Y=GyNYl+5c%^84$U+y6rX*@T{r0nxF<|0tX@^L<%8;c z0Pz%qqU$i==3+mYLaj)qS^{U_9AgCH{cL6R5V*Le7{F5bLzS2-AtCNZUk-+3{B%vLYh5sUo1bk`pVElWn@Q32(790|$b> z8)D3@wJ%@4{;&V^$0#L*eJO=w$bHxj+dj#f`!+XOb)MEScV;q`qp{^(9>>jQ-;Lww zRhraNM4LSd1fggJTbAXfl_JV12BPX@rRH^^nuk09jN@i6RcBeEdL~vRm0C&(iRK!o zl~a$vz;5_BAOGdSa(Wy9a|BQnwbr1l1Re}mRxhTEIgOjxcj|I{IR3*w{_!9G^vCDJ zb{kXIbs`pM&oB4een3QH4J`pqVhRFeF79Po zzq)^SKUV<^fq3Y+X(@PrJY9B4L!Y}i?zZ>Gldq*LHTIiC=A7MSUE16^I!p}*hZG}V z`*qy#{o1oD0*f?Slq;kPE4m6O5#`-3#Epue=@(yo@lXHo$F<5ep5k5VhLJhOh{5+g z($IB$er5o!YG#3WJNDbnSvPi!*xW!`MKEjbj&6u9A`cJ8uim};<7Zzh()Ro+rD4~P z6G@Y~l)BtcU6+`5DO1;P?(Xi~Jx%wx-S)#!E1E&_GUOpg2S z4z7-M9gd2Nr{=04w$C!W1L?KWr>d^zG zlyX0IAx6TKy2t^U48crXO&m}Rs#p^dk=h;(r?1|;{ln*fx;`CK>~^F?)OFn|OG;^N zb&;AMCgd1XHxAi>=D89ghsEsr3~=BwM=TL5Ep0KK2ufBF0?2l##HB$XEXDwY~>w2I(>-qe5s zlB0RE>WWR8)V7wkmU)_P?jQc}#pmC=eY>u!x2mB7u!qCJk;d&t4I(kfa(Xym!2XPK z&P4R?a7T2;%rPFu^K*`YgFR-#9Q;QKPX9+>y)T^{$Q_%KIt3K8c6ThrIyG*~j9Qzj z6H^S%Q0L|P&DS^A*P<1{5io?ntX~}-)<3Be{rm7~iru4pR@|hs6tW~!L~M-!)Wx(( zUCTV3PN#?au2M@` z=EK9y-R$-btz2E@L^j1@Y!dKq@Va+&vVg`R_4gejD+Y63@#>enC`EyuW#?~ zraA*)&OMl;tZStZFaSWn!0FxX&7VH|>OcK2|6#M)98Y&d!6SmBwsq5YAt!Iu%-k_0 z$?R+OQhXQD?Qut#ezs+O=vt6JIiouu1Dh$9s;8+e^GW7Ov>lJfTI+7NgRwi+by@2? z&!^L=RRzQ1U>FVn0Vz(dj&Z84XL?m?wQPpKW9goLSD=_7- z;f(HDMcE*P!kpM!LI!|knO?ts`|^DA;^S9g|E$&5%hFOHGh?F6VW}l`11H{(`PmpA zL=B;tCi*Zn{6)&0_swa1RDikyfB>q%d|JwUw7NDma~Q`lceqS*o2OQqn2QJika=;f zYfC9~nO4c}iin8VioALA=I;6~bd*94AtV5QToQL62TvgnJrPAlGZW}+o|qMk5HZG# z=*(P;zPY=7efQGw&H4G+vuDq~{rc;}yqxVe0FPos0~0NVY^UaK2ns~>;iMVj&vV1~ zJI3(X$9RnMkHC4=Wu3}=Z=!)CMoRt0t<1|>*D^27%v~)Y#Xvddw$`~8B0BH8)>Kz> zP)DM~IYuG^zcQIiltAX05agkY<-_3Lk^-+c1M z{Io6~U0l6*@#6Z;TTu@I$FXnAiIEto3vq3>=>tXjPQU!~13doO)XSdsUi|5Pnu;SL zu@m)-SmjvDver_kVh%-Jz;|aGGb>dvpfq=Y*zpzix3B_$Ix%nvA;&}!rGtYy=D%<&7Cj?ByfY^?sYviSz9fotZP#swAx5o zPW{C>bK=u!u4;&wb2hV0zIk{!uJu%`>v_bOwz1?0HJE{b9XM}1^+v4u3ZEba}#Q~*?8N`s6=_FEjL*I47yiW7HnpxlH-+cP< z^JP7qW@)vxGIl+t(1q0J7$`Dh4iOOvQ4!GG)f!ZC4hBf%ZXzW_j4`TMi22p4S8u`<)ZGFy69C8<}#Z8|tHbV{Zc^?CFL=rc5emYqI1 zL0BZ-FLpYCshgRL8lwWbHUc!nRw@uui~?AtC4lqI=JNc^09x~DooXpz?0373tInsX zmMN#;o=gDHo$k>)!dULDy!ti!IpO zu)*~ZR$J<#0#C;=wUwo+%Fu78wMnS}R7EG%tA5Nm0??*zP7kMt!$H<5q^b$fkw zc5!!qZ6dWwN{!vRE&*U`yiX%Vb@%2HV|1&Ji<2L6*}rZGe}9k>{(EC;cYh4$Nc@-( z)o7hVTcXy3wPWHwjtp+gvKWL2bZo8EB{C0vAdc^D@1$9du`Km;I*i>59%AZpmtzQY zbEB_ z2L*C;0$^|z35#wDJuh9KWKp|MUB~l7rrGrQz2xfq$hm2X>(ed$? zt$JMR1QAo0_qz_^;xtWFts64Mf!QCX)2^knv$OQO-=f>w*RR1%P*t2vxd~-3Aht)x z5JqD6LP&_Fq`@um;K_*QwMjXp*e%O4Y__$^TlVchQmArQpSwR-CMOTw}~ z+#FNCJA0PH&{Dit*xF4`4hU}cD9Zo%6G&w4G48#}`!b(nP>*;<>LyTM%bXw=7h^}LP zm2=cm>bk`3CQ;xRj6z~z8Y`TjO|=Y88>TMyzhCUi>sQI9fB<0cX}5oW{QmzA)`xzD z37+c4hfgmro{7kEx@+Z7d_Fz;w>39ICl&Ad49U29LmxIHM@rqGRa;X;CJN}a>pBKJ zJxpIu*EhF^i}USoK6<&yJaqkjI|f9m*5{7HBVq7}jFbS4+|4WitPX(@fC#u*$tj+e zQzGPq(=^ScYO|EW#rgB?_N+?@LNr2bf&&EZEY`q%?gyOJ#TgJqoT05YZeIxPbop%X zTYfw+@x5!9{}y$4-`O#huHvWMy>tX1>&9J*8@HuQ$HVbvss~kVb*bx&40#xrWm@J_ z*QGA^<2Z_lv~oI3?k=WvStEz5{qDuHtGmn7_08=cKl`f7{OZ~6Y~1ep@!3Z&&UY`& zi)srYJw5{iiUXPpU~gUq>joG9cBw^V1(lT2beO6@-*=64yB$Azd9~Z^GJ-RM*<+SM z(s8p(U7u4g^HJAjEz>siB%su$!@Er$t^fVncCmgF{6s{E=&t|z3Rn2oHFGI=Xrt!y zN5%y}juEI5Zia2|7PQ#Xrhu7!lC^akiZR~L%Q_!oj29PY`~AMGGdduXiko>UB>`=^ zZok{Udj8_=?Zcb5Z{OVq1g0b4amEabRXQ0EQmWz)iHNKx<1mTB}Zujv*KT z4`XMCM!?UW?RRIJA>|xHAPRw7YmbgnmN^aQU@E18I{~6wt8?x)k&>y*>(s?<>VH%C zOqb6C+_B61GU(5`5#e7}gQiA3hb!!}H5G7jaBZqe(jai`yJ5Qna)fOc`=vb~K#UOs zOIgd>V$LzHt%(`|z{UBwncdzTw8`#lJlkxMcr$c}db~dx0uiK?5Yds{UCQbl5fKC$ zIJ=o6ngB>Z3VqJ46J3a-$1o0O85Un2qq3>|y z5Y(C>1d8r1sMK0cTaW)~n!XwI>*y0A0?>yetM~}k)8P+ycU2DpJ&c!T@AnwVNfE)D z3yblSu8)a0<_jv^unu=tadV2ZtW!H~zb5DTF+`j(iO^DscuU?Ep z)@EOs=Rke#Hrru{XU%$lrQV&4f zmId8IN&uh+3YrYN7z2(8gT{arIHrIEPUs08z!izzU0k6lV?NvcuF83v{vqlC>1hca zKUmh|X=p`4%jQ)5(jb$&lB0o`k&}S4I&wqg5CS@wNK7$cheT^^p$jxoayJp^IwQZo zIX!!hA#j)C)z!<>>2Q7X+70`ZE}mUnJ>OR;woWmp6uUSi;*6w@i7)^vLSi=q6}Ox~ zOcmx$m*+L5j%(v?7>9lnZ80w?=Hqm_c{sdyvFtC;OVzcB>*_-vx;~P9_UE=6u02vJx+$}_cB8`l@oOheyw00Uad(Vu(Kw}E6Ez@*! zJGqJ&BBC3H7?*NtrpSbxI~*oG@%zb(D}gu#4iqr3nU$u2HAgZ7ku~KPZJXNkUqiho zdNQrx_MuH^W_=46h(Ud3cXejhX2M7U!3@9@f-!Rlp*93_wL&QZIS0r&GshfaN-19T zDa1IW`TjoidEciHAz(P17WA;FQJKe~uO#M8>Z-#ohD1cp3E14&*$^-rRd0PxrmkM1 z-k#-7y3R6z$+VO{W+trjyzK?khB*=kPO#Z*2pwuQAl1@n1rzY-gouuaS_FwaIuNo4 zM|UZWC=xldtR;5mYyPdbl3;$!jN!voPjjw1v~Xrp5fK0hw7H-Yngr0r5y8*_&?$1S zqq+!O4) z8wtdW$ko)G(7*x)K_${)D|3AQ^5a9Du@7@CR7!1aH+I8lt@-hIcR1d-zuJx?IR$oE z8?jfE7+M4(3?LxbP@9>tsCP)NZa{*{h%Qb64GnE=6~Z%%2hlGh$a}u-2H_9Zb-`5HWF%j4@{Bn7E6HxBX`5dIEHJXY9Ix30Olnj4?42_7J0j zms0C0BFE$LbbkjLa(|h37a?)2uf0AP0-A$42FxMm5QzZRoB8ImT4n$0e;qHbG7spS zQrC5ZXe~|CW^k$iplfr)5W=|Io305LAw0RST+%p)R zq3NnR0j#o4E-en5G<1>TX0wZ!3DC89D-U;X1Je1kt1d7b5I`+rQmp~SelzZdVVLjl zYdeH7#IZ*vEea7S1_W?Na01u=r=~OMwd5$GaEzH*Rd;x=yY05IY|CDOB@40RpR+`; zgC#3KEPw^Zvb+0D_f}PA3@mQ*AC592GERI493Uy(-G^sH+SrZsVEooeZV&v&z5Fl@ zYQFcItTK~O5EB@OnI(`Q?m5Dww7|H{oSBG_sx1rDcAm=fZhHXieYJfPo`|VUv&wOO zx@^9-Q(ex7`7kqtK$bdbor+cxK{~U7qQ$uS_Tl-%!^`{kt(}%PUvm4Ro>XcwFt+ve>w7Zm+a+vl{Zd4F!qC;Rsr0v*FIKe7M|L4^ldz^4`4eh=`;%~Os%ojvec-O0ElB-(ROvm#J#T)B6woy1f46&GUy_k>u^V zF3T|v)BbSTPuHm}>jl@x$LWr-H8da+0%Q=6H4~GJQ!^PUk!p_>2`OoK6m4DK(s+`O zE+RawdlkVf6&ZcqEwhv&!XPX-A}u(HahRnkzzUgeBNaF*NCCRAmZh{6(T#FX0wj#8 z?Cy_GKVR0TPR1-#)uKfKn$)G8%5no}6Vm)$&V6%CHPX2`w|`|M`MZjYbA@ zrB`}}wEz73U+dGloHypfVLq_V4K~^a0JJ*wv5&`vP|CzFk@}15X6^V4h-kt*y%nx0hn~VAIc7yi3FYqzJ+-bTKh%-AVUTo90!*<6ZX+- zt>swyOZ0Wa>Z(;KoCGRlI$AQ=01^>kLQ)Zp(UGYn2E<5b3KY>G8|&6D1A2x{+UBM9 z%d__}9q*@hYW0`^%oq`(2}qgPM}#vnYeD7W6lp;~8R0=5)a_zpC(VA@(D1V_zS3kH zKwL!$k|^?gKKE{6J}-CUy0I|{8d$uzae7$;YjTof8X&q62xX+jYJ0!dX+~vE3{g&x zJ`hn7z?}BIg$0%*g1*Iey|&g$i4neSTlgs2lyLA2bq7KSN;YzcKuq`u&XmGhV5f*+ z31nvG2m*8>I@BYT+SlvlayiWBY57DB_l)Ej0ZzmO=m|bNGDrv&3su0u9?7?@rKh`@ z4cn!{7~9y#;nf|7+jltKaA8zO?nHDf3jl4lJwHFD!*aJQ^Sx@dOz=R&+lDX`fLTeB z=wpT$5Hew8gnN*Mxet~=>KxQsOG_f1&v#tsTXT&R#M+sJi6>Ji z5t(GGN!chH00R?ptZN^a7ZH&vjFQ8lKqQ7+*kCP!P?C>`hzWtf463~EX5Cc)0m{@u ztGzsgIWZ9lV&E+hEz~1#A$xLDtgDm;3IvFjkwhd~C*oYUZQoaPtfjTXS=)?}+vwLw zaA52S91beP2(dY4Dv1au;jIV}AVel~Lc=uTrT|GWwNsf-NCN5UJxek7td8JRcyO-oK9^B$;DWr9wQPN1;u%pCR+!GcAW!yRb- zuy&J>!*ciO8=Yp`cCKyh`wxHr>$^Yy@$Mf#9^Y#SefakC`TJiT?(Q)?BDTx>Dp02G zAwW{4FwSLOq$naoWF$ib6d-p8PLhnB#^4M9L*mpbuz@gfjeVrAAQK?l!!?FeQA7kH zB1*zxmJYz=ePo!pFX_#4P4+|qHvmH6F}g7cYTpfI*V4S&_Vj`zqX`GP2SOG4$TxF> z=mP?^Hp~D8E(HJ*`dB@YS!gcDz8cN5pYPA#e0_fXrnPpnoZO^+W_Wd4{`v9{fBF5_ zKRm2dmhWG``R@C}G++1a-H-qM>2H6iZ%#CnXM~N_CTAo1M;+ z#jwRUF7qCZkJ4Cgh(cI04W$>|MoXOA5WLx{R!9W@z-zf4+(HNHn`x=-yR>A z`MAOJ<>`n0C%k-m`Rcne6-GoV0FeYf90&sVM(pfCSeb(b(L|hK4;g^06oxBja=s)v rXo?bZkQ(7eWYKrIVWR^E`7HQ93$5ZC1FB5B00000NkvXXu0mjfIM0l^ literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/5.png b/src/assets/images/avatars/5.png new file mode 100644 index 0000000000000000000000000000000000000000..38505ed9bf9319620828bec5368dec5896575486 GIT binary patch literal 47665 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

    u>yTrpEq$`$Hl*KRl-+U?aw!{f_}}qJ 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/6-small.png b/src/assets/images/avatars/6-small.png new file mode 100644 index 0000000000000000000000000000000000000000..2f5fe5105df03bb5f6660819e2bc85e244fafc84 GIT binary patch literal 11782 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 oV^ZgOCxGf4A-^I{*Lx literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/6.png b/src/assets/images/avatars/6.png new file mode 100644 index 0000000000000000000000000000000000000000..6d91822bd69b3c0bfa01b1361daa6c26d880e4e7 GIT binary patch literal 38327 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

    &W*tC$4nk0t;2! zOoF!UcDjM|T5JzUS$!??5Q0fr+Dh`U&JiK1IT7pk7f)+o(sp61{l z<Zsj$SX~AFWBA-F*CgeO+z4Jxxs1mb?G}j;RX|UyzRuRxOO$OIO3L2h&Pkm)PR} zeYK;#d%UG?O+U=5wDkB9eb=b|GdY6ifrw^adzD3%T`RWI@COIx`yJE9951hXvST}= z5S&yhQx9GFM;#Xg6eWb-HZwm+G)?ww{)}vpTCQ~y(n^$k5tYN(`l3hrpU>gt(ai4E z=Hcuzu&aMM*-Rl|NzWMNJH)4Doovsgkk!%WPK`il`Z7MV*c zTjohK8o?wxkI^g@Z;1)3KQ|O9DIVQZj@iO2d$rCTmMgXCxLJxqii%K=nR3n!hwm4G z(%~SD{$(@Kh-d&S|F~cC3hm+Y3%ccZul-uEr#ownamT+mJ*p*d9MoOC?L!-*eM;kA zN=O3^cu68+swMwA*|%kW#sfn@g$TxD=C?k9Fj;&Pvd?Sl)3w-Z{{=PU$DJ5~`F=AP z8!z5hS1~2CiGxsGMlI`1jprIKndt@JwT^jo%vr8->Z%l{@lkZSd%pm&3Bn%sU+vhn z@3vM2c=fDQw^VWULSzF9N0}jrEERcJU8yQzBJgQ6!H4L29qySkA=UAHKZ)gY@2SO` z>GS;R$7;s3+~@lO{_unfG6g(v_>+PM>=Yc9V@{hcKF8mtSFUPIOmcJAh!`J`kvq4A zb4T$#&c7Wr3B1&mY7h7~!9it&n9H!se3P$Xk9Vn*?B+7G3(D_w5sq* zce>6l{(4N^jzs2_Du`EuRlV5J5m|axWRx$2R++tMf5&yOEY<6M=&&pp-5#Efg1gTO z#9111r=j8KZ3j^{sPZ#PAYYXwuev-zL`JjpJ%Fdyk{6P6A^O3MnFh}$no_FKEqfjE zy?R3EYrAwX4f>rDd;6bf%ZtW}pr1+XJo|rLf$Gn4w_z3*Dd?#vXQZ<0pg<)ERmTjI2*Y=8M?uhY7`D*5iOMYBHlwCa4|YD@d5 zqNpw}J~$jvHl%5%P5GV1Oi2MCQyhvD#vY0XpM!=mu(L6Ed^4ELU5mj9m*F%6--IVs zJUmN*cPt5vqiF2;+_EJvFTGmVY4Zw_?p^rdei&R)9l7HJQ#rXjlx(}boNaXOwHIBh zf~=is1TcuaIM2tJtoolX1Zz2;tH=93RlLFEMeO%I%?|326bjw6)s1qiZa&QNEU%L6 zzFFD2D^7mnyzKAN^BT>W%`6z$YRo0zU8WuD)g4{IUQmQ=im8A+Rp&^KRrmpxdB~Qf zf}8k@k%A9e08*u4)GmY+YP_gWF#FQH(KI0H+1;7$V5RSFu+ie|r&x(6b^FK4>cI%| zKxCS$uVp4E)15on=~H8Z@Noa6ql=Ig5C^Zor;({khf#iWw{ckQ?qA)R*J`U(+MaA+ zn*W8Gdl=ufADcV3WrlZaamym}o|w4)Xy;*G@6FVe|KU=v_x5Q(=iiRn!yB@hGRh1g zHavn?*(I!??_g>+%@_i06_qcsh_)D2JAFgi$MUjup5%&+K3~_Q!KK;(Q{Tz?8RN7e zGjdM+J(tMhSHM$HE>p&x4OPP%hNI4ZCu&o#iR>MrmAUMq8dAo0kG^9op#r zbw3sWrs6WJSP;~u5^ULa-Oi{P2b`K^arDb2Q>^ARZKLB0=K5E*V{<^cr`}ymt@!zPx9bZVB@1X|3t6i?RAiXwD>74fZ~dE$B~@oq{QK8k

    5H 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/7-small.png b/src/assets/images/avatars/7-small.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae7593ee637ee1b83e5fa604da57665e9aeae7e GIT binary patch literal 13119 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/7.png b/src/assets/images/avatars/7.png new file mode 100644 index 0000000000000000000000000000000000000000..8874d68ec27ea24f5fb51211899508f310fba28f GIT binary patch literal 44959 zcmXVWWmH?w*L8qU0u%|Q6f1<_?(Q_WYjKC-?(PKF;sr{f6sNdTq`0)WyZnF>Bt=u; z<^Qbr!@VjfY11yIXXC5?8Ku3w>|8zm z&#L3<>f{NLmZzBZ<$5-=2k7W~!E8LOJnY@P>|I>|08s8Y6Ek!D%pxZz=OU|u;w<~< z^fdE=^3*gYz@-RukzL2u1_0EqDZ-?6NXh>6ji;L#_)s5gcKiu;c~Z88q7mQAR2n4~ zW3^xfsQKI^zf5Zhv_!FG6C@A4#RFXjWQ4J8K{)j!q_>>EJQUHXjlNSB^ zfHNcs18l!~9yA7r%kPD|g10kz%WwB2!RG(OBX*yZg}}QMux$Vs9VP{oKqD^t*A3YH zpHV*9m8)kT9Umth4iFWCGev~`*rfgUl)V$k4(OMZivs;XdqHU~28{>#302V&fwz7p zRbY?-Z~znMAdjyg;0N9tb9pyHCtYu8*sm`K3Q%~wtI!Yd3!(^&M0pte$IbJX#?cr6 z&s|qw&rh)QAjAVpIATyCvGMjL49Go5N{Ovjisr`)tjK8dAt9QOw&Q>yaISGKqq3ZJ zFLnwI2uY-2fSd^F+ZSLc00snaqZBTJWzh-hAuRv%4S-38Z9#vGV_q1AKKIi4zh)AJ zP=OEF^)JMEz89sD*0%?iciv1Ki(a*zzIB_ruos#A48@f?jzMMRh8FqhAb z-3FztK~jlkl(L}=fsN>_oAj`Fa)c5Mgwc<1H&FHB;WYq?4zUGPIS~Yr)lcb#(>MLR zf4!?z@;&BDK>m!msn*oQeoJep7Cd_P?%7exe0AeL%zM+jZ=+>%Z89lJ$_SRkjT

    -wz{!4a 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�hlI10&e_HklA!LkpM!? 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/avatars/8-small.png b/src/assets/images/avatars/8-small.png new file mode 100644 index 0000000000000000000000000000000000000000..e061c7aed1b31b11653a41e82a93e05ca567ef5e GIT binary patch literal 13888 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%0A9MAJ34?X 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�K27tOcAV z#kVulS(MU$#_d@P`kqcsKXZ9!2M7K7$wnUSd$%%LDOvuPr%Ou>S04SX zqJq7*mv{lr`gq|~)S`AC6-xPQ*jA))w@8=8!_a~EnPU4Tb()#|3p5DZaStth5iY#F z2$p;sar)2r><*=)B{r;A1xeOC1Jw8$c<61XUMxrK`B6C@S4+7QCBkOop5gq<5wIix zojI;M>=S?t!X>wO9ju$g3=#cqPh|TmVHb)E<7s z&5HeIWp>}DgdB7{1H?z`msl?Z9O{dQVZW*0Yw?w}TU*w^5Yidpqtauzb7M&n-$eya zZof6U%sO_V+6`BK-t=r1Xct;p`?j-G{YHURqm+(+)Lz%p=AhmpMQEIwhehuF9qb=m;kG9(g-?;bai zSfrI=LGph}1qRH<43}!LX_n=CUT$oV7(Cqeu!%06RCsUX?z|1{cKvC+;f9ozF_pxy z>@(_6qEhLfzC7&IS1#T}tYg1ODo#zQ_Keg_25TdXVdmip*uU^RHl3}8ND(k0b&NpU zv2onRv6Qph>syzarMtc3IozhM!F5%3k5vwA$jrn}^Gyj_cnfq8*Lbs`Eisf7Hshrhkk^>T{#?#o_QB z`Ru+~=fqBlr9QgyId&OZN_yK^a?`x;E%c_}i!!!uKNvczs>U0mq-=CO9Ys=MQ1sw$ z0t89PFDYGZ?UyLXA)H0QP6@~Nws&3Ik2hyWG;6I7J7LEquma6}A}2#??|Kd5QlLVU zmOS$ZGHmbuU_vRRm?J(N3>?RO-lS7z#2i?v2jeY|q+h0pRDJJ>#mgBK2cm`j2~3O- zEK)=mJY16OK)bIJ{`%8tMYoWwjk&m8jf-CYEnR!u`8Ub6C-^DO(jH&FdM(lP#g|$6 zs`f8$BY3%9c$gWJ@mkHxuI7ups|-)6F5i6E^Aw7{I8)@X_LAjP zFJKB0qVr(rl-h@x^N@Eo9U$Ot67j#zGYfv4@y8ThaF3cr0Q( zV3qab2`5xu><}1j8U4F4dOG;?IImyJqD8o??iKQ=@@|Xc#F_2iZF<#@y5i}nT7{dg z!n&ES7(rh=B_+V<7_?|Y0D_Qk_F$%EdJhUuW(Cd?&+v%uNX+9Qe0C15bubc>+7Jjf z0utu1i9G#roTmk^sdxLl0t5m4z3<#x1GvV|!eht%|CMHCX6nm}HVV=T3J`sg?!v|- zMO~(cO)bZ#wRk}GS)I@mBP{K#sgKLb-E@Yy$Id>K!ZK1>N2sjk_4U6=E}hNsjXNB( z)k}6Pb$GfQFxQpXSk=|d_?BPZyL!8c`k!{?mG+2bjIeY|{i!4qX>FCY@^#Yft1I@B zQedGX47Om~SnwJm4T1?pb&B-@k?W9iC@e$rmQ^asoZyh%8I6&I!8FzoA0MgSSX!yt zh#3!5jEwL+(D~ zv;j(RwAqM^G)g0gbWG6~hKc3WeKFH5oK~AP)5+*mway{ zXHO<;(w(dPD0sa6elzP^O}SfUvaarAL1Mv;+Ih`E%~_4ziSZ$bBwne*Zv+mjC^~J- zWoG#hq5iwfW3*MEmH2!RH3k8oL=dn)kCuxC>F^gRMK7ca1Tv*kD))+qML=^s#d?wA zgu4KI{P^MF;R^pt^?RLXd=%OEQn=mUO*DFG`M*)(1g7y|QKF-5vkdkC@FCRf7y~QJ{B#0jG9iK}3G-=4C|xkH+c9{1z>ow# zF6i2$<8kKZh93X=@mU=Rhf2|0g~5KcP&0qPzta>eLH-x>)$U_TAwrSi3}dEmK9+TjWz%V;DIr$h(!0B{jLFlD8scCw1z-1Lefg z69?iWUsJg+tvx+fz$p>`DP?oj-(Z(vbC&gRzgaq5^9E0jKs}W-$jB6(*P8v9)LfPY zw=$H&+t}Eg)(9i7UTsc$*6HKUbnTc)84pY-n4DH1Dt|dxU>ipd|8ybm=<;{xZlaoi;2RkTZjqCdfuEaF?szs`!j~!L0E%b zcpX_+H>Iulq>Dpj&kRf#r?NqM1pXTa2{gP_mP9ZCU??cak|EUbzR^57EIKfuQ{3*r zV@k)}Q4x)w;^&CYtCYWw&izMGBv)q~m?GY{MjgVc?A^bDBbO;^(LQUF0SoY@k*P?; zU}k7UClOrxpn0sS-YRX_vq4#1r=*23NECnUmpY$oH_YpgHw>3Y>*UUUo`za~*CNaJ zelqJ@Yg>!pSka^J+-f^#S<2FpZ(YyQ+c~cfZ3`@`O!wXavWHYHuEGM*$=+6y%Eupj zux+8RH;X8Uz>)mpKxhysS3?a;!W@&hy3&zLQX7fs=#hYpaFhl2qKvTPZLAw&>p$JC zJ$(~^{oR%G4ER#r>U~jCJ{;GAS58x<8W-*%7DYTkOgm9ftjpya4o1n15ofMx#24=_ z)`(I|@%j+k@AgrFdGu8ePf%iIB3vGGxj;lA>#Z`C-Q*`u=vH_0#`(6zxQPGdp=Ybt z#r~-8S@MQYolMi&XdI>uYu&8RzZ$OvQ!=%kkGH?#!}EX9lc|+28U~H6G(zEKJaoCr z3GsE-2vfue6_-peg9oCjIq_>KiA6UmM#L#HViQP-nS&pMArU9~a6Zi@`ap_&E@>@f zJp)$OTHCx%t4GW{E0?gqg?*46)7wtXvNCV0nb$lCG3yYhIAhCLh$NkaeqOR%ipFk} zVqWt8G4ppdbNkP<^VRuDE^`GL-j4fWA_d&oMrJsCT1q)1O-qyRp04$RrDj%z)7<)5 zG?x`0X=3|Zo}&jB8h(7Fi?O+PCs}ayPU}+RU1c*&NDVuF&N?b$uKC1e%^~)T07S<* zV>Dp>tDtpoS-@1M^}tT3xEX_^3pOtx27yK-5`ytz?9WZEtMnuS0PejP!73XFv<|{b zKR!t|E7pu`fKx(dUjeA ztpkljQbhyId7}V?auNhPz0k%8NArCjoC~Ya8E}+zr16qYN^`dByu;YIdy2))v3tP$dyO|On5_1|vR=sgkw*U;)m@}oo#wFGV(pJJ0^M$57{CI= zp-zCA13(K7MtSy6bb9>e_M+%ZijtYu`hxGT0CQge=-#Ji4}~hO?MH9Mafdm*#m!N~ zo!88EdMVSP_!x{;7)q~~(@CAw4^rR1RP@^i8qDj*MYLpS@}N`kN`jmcX35_vPXAg? zix5TwZh@TeQ~62gDj6@F9;5ltM9^OImFEYU#|1HahY; z{OFjH8f8iflV&U~Ix0nr#9Et{%qQcbkEUmbCWT|AReY~!Myy|#y==_&;%5S|$E#u~ zcM~VIjP%AC<{IKM#5l@ z5Dg>VcflwHReTHDMvTcsJnDzifE&^EtYv4WZ-#cRgsu}Y+{x`#K zXL(um9i^sonF`9My}up^%{rBt>COr4-k+z43O^n0PDRxXW#o}M!Gich1~7*rz;q!m zNhP#H;CTAPgOLJm0)(Me(g*CIHacKYQb>2%K|_Lz{jA66FFiY(_ex%+x`LN0F)SI- zNoyC$7xZqb$-M$~v({x|?_N&hk45Uj?BDHHf4pcac1wT5LuZcUtZH#l*5@iM7*B&W z*V>eQDOoohPyXCPwbwN`nq4*zc%aOzeJ^f;n+hy!V*bq|J4Sw#xX}pnK0_vkhy~rXJ#37T6&EnNW&hj zTm0U|mYWMR8pFoq0Qdh=Iv!7+_6-2+T;>e0|5FHtf(#@DA|n=En*%OdWAd!s`Um%2 zg=RQ8?FOy&b@d9(s8aUYsfwl_R`xuza8u?)AB1)lEssZj8&Q47=Ms+#y*(_G>nJeO zd{KvvYj4;KKT}TSqmai-B};m)zk)FWCxH}su<^5ULf`Z{Rc z`N^!s^@#UxyRpJru8v=!Ydk+C7>eOlq5aix?S_$6`x3TIsQ|sMR_+g7by4gD5*)~a z`Cj>0zm&rqb6R>fozu?Q!_L~{QoytuCV*?R19#J}YvWp(e`TdLZLYW%^+mR};6RU~dtQFa=)2q5?QZGR{B~3S&)tq&)#2$p9z7x|zi`NZHB2bSD#}|z9 zE-j7TtV-&JR>oCo<3|Q}rX?bbv8teQnZc=P)Q%BbZycQ0?3zXFcr!4L?{W@cfm~b` z`6CI%;aeXO{EQolsvxdSU~nW8SmBy;PWGMr9>%+xkZd?Lk{zR&<@YlEaR^((O^*x- zTr^SdIh%WKbuun(m$Tl=C9@w+$l5 zCqO5%rF`s6tvRF4OF2?%V4%m^CB9S8zA(%_u|-96{(kRbshCKGx#;|~2JdOK7KjlJf$(#{VE|2s{dF-RXk$%DR`S0_ z3SFB!TEcj^_k`}tc%wh4(y}v2o>zY={k**%@z@LqpQ+KOj{6IPXR;0YS5odeJ_`I? zr~dbO+ul@sR$D&YTFWjLl*zNas5=Kdp4BWZn0byb$LT9KGvVW7)cSVr!RX1G?{+oR zLS77X4G!oQn~~4C39qiWR3a;>Zrh76Xb+tA>NKKV0|c>G*bghI5OAn~3z*R{go^`$ zMu^!1Xe5*bTtz@(^lrEuYTBTP5CLlKC`T+Tk7)K6cs9q>5c4qNV_eS~Fbq#pRzCA9 z$M-OgAhWOP1UPyr-UI1QtSS}bqTba{{UjCYI~~_Y&(rfWS^(4-8rlDn%(^%TpwZ!T zT2?+Rq%5Tes*37qvwCeaZqk@i$IIuznCt&%EX&ui(I2kQR*WG}@n2prq35op`% z2*Q^=o&n&-d3^fPIR+tq=Eyk1T~fOYiNWd~T)|$!#f|j<{_auR56O@F6Ysfb30Y^( zV$vJD^u5PCn)@&Xm8W&TWs0uawKp}k-p)P8FLxGXFlE;@ExeTtB_d+;;b_>Qop)w> zO1D;egGh4!)10>7MOs3{mVZPBTm6#VYL>q5-^t70%?FoB^uW7^$DdK(iv%SBt+n27 zS65cDtnIKDF9fy&)!nE@wBnT!%fcnRMmzSDyQ3?9ZLO=86$M2xsSBJ1a0!$UuK0*z zf~rJs#B^wI*%vUDGoJHr%NaljM=<$1ct%spPC;ksec{xsMj4NR0)HzS3TRio%%bLW zmN#8;SAFEQla^mhg2&Qv<}*r2M6p-27{Jj1$(aGnzgu3DXvrf{fg{`!%lgm~`<%!`X}k(q7R#+ zOD#@h3i`3rA4bc(O0W_KA-R?erP-cg?7WxyRJ04w`H0O6th#(3oHY zbpjlb^)u$r=(nb4=O(>Hj4@xnd{m14oW-xCP$5m!>$dB{pJEH#hxcluKQ`iT=Jb)$ zk5auhGMO5D^H2Dy_*Ql}_2U9~{~rLqKtR9Uu-gkoo$klm`#O%7pZ_fH&n<+BMS$S_ zb{IbY$@yV>zU|(;d~)PN@Hdr%X%W|vQ_XEN=-EMo9H~lUp4(rXL&9$2E zs6u-umWHNF)Wl34Dx9J2ZV&uHkOw_z4yb!*XjrJ5g}zhD*p@Pl$7PwuT9-D}YNkFH zYjA=`5a3`TK#kN*Yr7k#>x=8dzAvo+;qDbR1=nIjA`v;>-CtZkT2Ht5;2AjZgGzW$ zu$gOJiKA5=*Af6Y03wJGsw*3iMEZe5Tw9&T+gm46wJmqe3{16FN3`H&S<3O)wB&98JR*n)KZJz$gqu~bY7uK~ z%d#LW3_yUKDBx7If(c9#>=EP<(aJi%`ub~Hsy+F1xIEiFzS^80=m8P|X@554K3vnL z-yHVKaV}bgMS?gn!uPY82RM8H9gU|6_?xw>ii15yOc zt$AzKR%`0k+|^85GhLTuDQzvQYco}M3z&PO2#0`Lu)8CeSP`M>maJ5Ib$|c)hacj? zU)|r^$z43&p=vtLwcl^&d2VGcr&GS}05DPDhmr8UFx7x3&@`P&4fl8eW{MEzV!BRC zYZYM@no=i2cXsvUW8M&@cE8rM8Gw$*a(TVKzQ}#Y+k=#xB&pTZ?^ECME{l6axVx&W zTR0>DPK3&oQ{SaHyrGnKg(gsyBkzKk-lx3Ujz>D^{9o4Oi3FnwF~T zy0*I3s#cqsHI3@7&P3#H266;|AZO+<2T)9jXj#fy=BxeL()8ucJh!$<$${jtu5%e= zSywY#PItSjM??|$!6f|n5ug@r8BKj!=4oD+RyzjZ01WQ1RrNTHAIz#lpbrw-oLwd9 z&p!NQxm!>AZCF7X%GB2Tf0$lw&!0Y#{W-WdqOwkF(Lk02jtGJx1`o4v*A|cfMb8Xk zP*B$qxCKnZS(V{IXl?>wW_Jf%{eh|*v?&N`?#;AnZCYn*{y?p^rfpdlUA3sYHg(l% z40UsaIfBV8D1cz$5Wt0+ts)zBUus$Avh9Y;i!*s~JFjbZ*ub5b*V5jpb)Lt=ID4zo zW&Cgwe*6Lte4f|4`?vG79!pczeh^2HLR^@V1@6YvG#|IyZJeDWb)4zYKi15#-09`j zcstGY&8{DsVSfI++~23eCP`nz+FDGD2_p&hSt#{@N>GmEeTFEMEyyEaFcmOzvLITU z_bFK2l}Rk1TEorNL1bZO&}gtwE7Z)IHeFQJo4RRrv$?9PmAY!1%i0u;*-CRu2BiQL zfpDilOO%+oY9;EK+1-~}r*%5i&Efp)@~nUUcJ+#8HgwtDm$L5re!RWkUfy0#xJOh3 z5g`DMLHdYLtL$u1A|wk{SgAB?-D-RG_{rTkd(v21vvk;P=c)NF#&JBqKhERb=KLHa zM1dbd!h0biit9Svw9?knQV=u3Vc`V!2o{=)9>>#@vTEpngiN^~JSd!F*lf?Qwc2?1 z_U7jHY`dqf3y#w2gA8`9rC1xMl8@=`Zg)7O?Ur)FcGGj$&=QLx9xx|&?Yj&XUYhkO zPA*;v{)^mFxLmIM39=9H*?cgSJTqe-PK(kA>@@k5TQ&|VHVUe z)QcJgGLvp|P6!Gi!f~A+wOy_C@%i?8zdJ6)S*E32ANCP8)^)cT=4G00UY|dCmU|!= zKZJz$LKti*(^8gYF*8SWDa}-!f6X`H6%x)x>@NDByOXOf7`^%bYIIc)2A z(s9!HG~JKpl@So;5QwW;T~(I4+#M+;%4u_X(GAs#5&Y3e(-(hw{SXgOmTeaz;wW+#U zgF(YpYgltNV`Cu9!yE=D4`Q=$Hz8COKux2W2f>3p!owp1K#~y9zR%mVNlc8GG;T{H zVu2`mD>_rrW*3{`yzg#LqdQtFyv^0IEbClbp2qq1&F1Wy89#`G_d+Y{JRP-pYoU!e zdBC!efZT`(HISLB`Lr$(h7>_gLIK;I@8*}!r&rTvyU*Pw20s7f^SnQ7E?*wsycx&& zI8TeUMc1|18cRn)M8PB=csPzuFFmE*?(pdPyi454dCHkm0$|oa5(YzPwbsm9SxWPF z)Vz_IyGH~OF^q%#0f7WU4q-O~+(Fe{;mz5p5m9(NNJ3jmL(h-4Lt?JBnv0dz+&0o> zW zz=*?aotCxfT#AKe&KB=v!3+l{4R7i#*|HROq&z?p17Vgn-TwN~?H~V8PN!iQpgc`y*Q35+jP;jEm$sG<#WJYAs)X`w-(C`2&5MW7uNNL;U zvrWJ46U^OH36BIZ@z5llDpidx)BSk5Jl`Ms&7=M9Zagimc12eA%l+nfI(=|?S(mXb z$2?p!+`#}Mfcz)Im~Na$MJrhW_LFPGrK#2otrd{a8)Yspj=uI1rcQyLwLZ| z`t!~9us<$u%QTAB%J&^h?6+y#gG{=-3EFLIsmp#@$}%rY8OyY+Ytv$8gY=tDN2^O2 zzkc!U(`O%nh*aHO2wmS3TWiL>ux84h)z_86Td2V)CzjMD7=oB3Wk#^F7Yz?GXf>)~ z7NOoEVDSJH*mdb*+vng+pd>;N^x5ks(b}RqQc7lP3nR+jwA2Qs$7jRWFU1k=zG$0O z`|wiAI?Zh!JMnvGxk?>;|>}t2KU#+LRMc3v=kPJ49NTA9F0}#%|)NMeR zg%Gn7$cUJX9q_cFzb`*1KAO{dI3UsN1nTRaSOKB<5Vc1@u@7|1yMQFo1 zm+jeM9LMeMcA4(CrRGfrgopwLFu+9d0N+Q#kDppSzInaYVij&+0SQ0Iioy=|2$(de zEKSvdS%`=OE@0wKq=_Kg)SVyHTRA0AtF@ly`&w*S$F*qD<_2&yHxXe@#GJa^=dRC0 zyiJ*;%c+OtZoePk#)57b_WLvGDVcXIN9WcC_S$tG5h6tCY%}Bs%n61-ttHGW5izr7 z(WXXljg_=nG^Pme6mimq??g~AF(&{49)rH7IDe%s5=QMY>W)J6w)9G@$^ldwx&h4&Xn{Q>TrG4KsRJtRI zl)=$`>vz7nlN)PPX&_P(z^GKt6%`8$>o#-bRMo0H)|@pV+m9FzYujFIw*BRn~mFOuP?_Kt)2gypZ?^3|K+cu>IfZcKJT|zAvH+`O1#U;*8OSh`-mj&BuX-K zba%4Y=;qeF-+F8NzBliCyTaO72e+0h-3UOEnK>Iw-J6-6F6W2y*_vB#);7@yttwQm zHFD*#j=4gs#4@u+>+N!Rac*r>MOB3&=}}0-EKTLHFpEdTSjegoimH)y%z_Nk7tgom z`itV_AywSGnd#k(4LPz3=8cdYs}Cc?#v8KfIxSp6a}$JzB@)lWC}8X zpSV@Ine23NXX{3s%=^)r-F$4T9j7(sj0Iq+TEUu=bZ)J|`_{J2yPH{k%M5p!fvi{& zkr7ofD}@r>Ha?smF6YY&nY3)(c41ZIEXAm?a;_XRZZY<`_PIvZ-7U0_DT%U$c%Jc_ z$J=eyi|f{DN2~?W{dtd7b=n#U6u9Z6Z?=}C)5@fo!`SY6@2AtHoSRwJ#9U(? z%{oh!IVg7|(OwV(fDsDW}Zk?!J3gtgF^1f1sL3HJ2kLYH5Yr+tZdbCxi|K$Ia@!m z+vcvU%*rgLvLQ2<#E7+4NeUI@&Di_dHrq}lW7S&6*y9-2ajY@-W3L(Wy5hFRKIip_ zRodf-$gv_)MR_qLlf3s+x2GeXRq|$40QNOcoiPk3iUkt^&#H1b=wl4D-dg+O{rjK1 ze*KeIFMs|1c}0yL*V|ZQM#M4qGt$A^LFH_phPpn z65SkP5t58iFvHSxGAfVbFi>n&)l>kSiMxsn(+mcUT2Z;8ayiYKThgpK%}*!m-kUW) z`(1CD$`y*dn`_N6jSEvl`{dBU;whmxw?ZmbU<_$4XRfNHoOUlRFRhi0FhNW|_S^%qH%ZV|z>V;wQaAnp0QKYl!a{-f5rk@)@^elQAva98-P zSnt37>dUXcdb(XRg{3OMP=)5G3cxZ)qaB&nu`aWq}~K&D65ynltCjh*ilD41ok{F1Ynl$a^9s)3_B(k;iyG z_MGE5=03(a_I1QsmB(1eiV=CNm6=Z?=9*oq%6s|hK%smFmI*@(lu#?+eQh@vu!q*Ve?87SYq5hK>2b?j?Jjfy#AMI4bUCMn8Stb`XPWhMl`N&qI4m(fW({S7yxlWW%_0Gm@icP2xLiion0s^HiMWpG;AK0_^*m;*Z&{ni!M@*)r;nG1*LZOO z3g1)14+H_>zc8-P@4oqJ-}hLxLXk-lELx9Dpoj`0QKV&+Qz@g>Z@&EM@x#Y$+q|D# zXigJ=TFG2T#*9@FQH98m1R5O_suheSm{gguW<;(vYsJg}*hr(2#!@jDRgq!>m~$pl zi?PO7a~yH3ea=`JBV*3oSLBRa=E}&GBQk4Q3T6=@QAnUkxsV2$S<#ARYJ@=JU1_ZO z*~>Q{zxj>K4J>FyxgnYID3I*vJ;`PSM)zog<=^Ez++e3DwOs+Gq&ye?+= zz8ZcYginfPG5`c_j~^eu`Q{k65xFWe)tZrRRIIf%kTk)}SpZBbB13%l@$p}N`HR_FD+~n>QkO?55ibQ3k zvZB^X%^5L|HS1Vou9(V*SW!o=Sapq+OQWV1U`4>p3W`b+OchEn5>;$%^Q@{M1wfL6 z1+3fg>c?+LHd;yvR22y!a|M90l3Wj4d)nIw^)3R<-5bZuJfbea6PxwS&@t;}m^HwF z!oNaNB2f548h%hrM!K*f^!D9X?;bxMkx?rPRb|#1bh1t}7^K8+Rg%n-(NuYj_>ceT zZ~y#ffA*u#5Kdn#Wku#(b6hi3g{n$|1-W&irO8;uwN~6|tz!Tbq7tQ`_g0lC2x6s3 zX{}XNnYq@g&>j)%SS#0xqiW^MU`S)kTdf*ewK5AOqZ}kHJomB8Y(>e45>Wz(g0d3} zpYZnptjf!|nHfzeAd8=vv1LX_d(K%$ync9f>K=39)Urwq?hfcSj#n{tXR2KLx}MjY zvesN#B8lIV1PI@u;fJOwirlaJ*I$2q-EUR3guEkIxSY(5TX#|BGixhi#*ny=5fO97%E+ia_gWS;Gwc>oRU_7zv!GdUs}AeNs!CJ^8r!}?5=t`M z87QJbN0p>TGq6Y@0W`}u53k)F!D0!L$p|(^rc7}VsAF5*J*?JRs_H;hiCh_Lttv>W z71&1>8jw{a@hy^)@c*gd2Zb`Q8u|Xim*4#Ai+yMmYbwA_&x(t`X!Mh9Q;T%tS^z4| zwxxlhSc|l^{`znK;k0f4{lEXq)=Yu9u8NFRh6<)*BRX>p(i|$TwE#$ph!G$n$tgF=vigwQ^r`DUP)i!L(Z(5p^hQ)yRlQsQ^ASZnm{v0j7!1RTZif3aLvrO^3!yZ%rA^Z)YY+jsxrum0+?Dd(CQ%A#yDqQyKC>~0V&39C$1 zg`!qw8hmj{q)}KavhE_kwE`YvF4P)pC^KWNip&vf#+d1mQ^8b8Wz@-eI(z5VOeJ~b z4I@!ODQ(tlYyt7kO{FS3onIc2#an{`Xlzna*kk_Un=cDl>0kh;1R`7Wu^gy`5O!dm zuo>y}6%{Mk+HJ0%mM>DrTo1Pb&b>c={N~Mh3n$4B!wK4&C;b_v~{RAZpj7q^+CFxq@@Bi~ZAJ6aq>SzD%&C5#x zh*g=xx;K_cMLMYjEFw@0Bqfx}rwL|lksc{2rKrqRQ5iE9@-CJlVrI;Yea*E}M9kst zmE{{Zb0_zgCy?yb|$W2G8j+>IG9x{BLdPS0d}*N z(8+zrVb(U<@|5&6j?YgQcU*j1q0A+>r{nsW9E5GOq&26+QS&$7 zJjR@V@#D{4J-l%Ft+M-a5R0U(L*(C`C6QWAjucKhmA|NQa!DKo3;h?Gc*sh8V>nVqaj1i(@OQ3)XB zPTZAba1j;q&L#&GbItu2hOKQ@`8+sc0mvvxDF8(h5WqV#Is?B|8Kqef1(vF6#1fGq z0HsK|Lo|4y_hxL(<+SeJTiZw&o0D)!gJCIoS3AigEQ$fxVmxoxB*fJ|8- zP1aiL-9dRk$yxt^5B7-0$8F@ZgX#$p+ zQWkM1qooWe5JqH@gd~!}otyQ$W@krtMovrRv8J+Q1x17;s3o$|NG1|6lKNH^bO%#S z!4lcvR$1nBKbukT-jvbI4D5~FdTVxalM$#!qimt7Oj&D`2`Q8uDBgki!~hVVta;lA ziFbe*5&|j8svwC#B}m6_WzAxhdb8`SlQ*Zvs+DtVn;Fcwsv^>@uNbj*INX|j(pD-n zyHF~U_?^OcX!sK&d_occ0RfVVFi_IF-~8%d{?p&QfA?Xo0JJKXKv^lahEwOU8_6u4 z-1apAI4kK=ku(Z4Aq5xc0y-LPGiGxAKf^Qkx6jOLCz$&6KskdPA)kfM}C@(%yE0t`SADvL~@ zNCOIhnMtC9S*d7dBwYwb(W5dVNIqwH?R`7DJATK2!gpx+Q)EB^5PpXxkjM4*Pk;A+Jih(<`8oiVY~=u1DKWSH zg6K=}&^T3FvnvfqRtG|)D^e)HWH3-w&So&LW}BJ0do#cEHiYe=&dLy~1hb?q50$6n z#ZaMT14RNP&8Y&rdjXr7kVFIEG#DCq2QLFJr{3Du8r*2GLK!TT6kU_Wtd*c>OC}Xm zMOme@C1I)}028ve%aO|pAcAUgDXj8&-YAm@0?tYSg(6^*+~AE7>&0oi?&CVA(rbk>D>GvD)43Zmruzjf$bcd#34ch#pBUbWL6~qyKoaRdz5nLd z@4xus*W-0>&1ZY5aJ7NKF&mQ{e6 z3xxzL8?jcd9$uD;%jx`ZKCiW|Yc@YUoa|w{6z6r!{r2J2t5v=H|r1xj8rEZf2c&*-xtlfCL?GW>u$&sOWQLRRNU- z%0z7Rgc?s}Bq~)eb+!|AXKHGG*ER#(H+Q%<5_goUxC})P+n1E6N-qqk0aF#Su3E4T zlnF@~m}NCrX1Y)o6y?Sh?j8nI=H@V1ISW--36f$K0jrvjV%w}rIp%J5>02r(@4c^M z)!f%SuQ9jt!vZ*JJH4!SR4(+BR3O2E41Y+&pBMtdCnU3qcUjll^&kJYzkd4W*VpUQ zI6x@DeXYs`GZV~CC*PjO?2T|B`>YD2V1!xaQW7L#V8Q?t(J1%r!ME1AZCme`)@*8! zz0z=o#YT!IQh)*VpiAk9Jg+q*B~5~gbR$KeB%lK**4ejg@-kX=x^+1=7R*KW&3wj^ zNN44=2rXnrB^MR|v4|>fEi-*91xOKImXI~f%HI203xzvHw$@}`Gvs8#AW%`58Ci+n zsxVkF7md3z&4N;8v07`{WppBUkH zB$=6{WA6X>^Z)hTmtW*Q9-oeVURCWDxr#(rArY^7nZZ+Ps6vBgtx!n?A_?3oZ(``GQ zdIySxnE@ajD13*8KW!25cR&C6FaF_goAS0lzq>tWnUtx53VdZ8(L{yO!bq5-)v>=z#k6iAjM(`7lxhm$0kx_l0 zc^cX_>0!zWdQ34c(-_hvu=ASns|FC-=5za)tyey<19R*-|!; zYz+=zYm_;AJD~-y;SRuxY0J#5o8MV?cbZ6sl~+&2@(Fd8T9wMGL3f0KW&{Yxsn)jE z46r+(SS0`=3c7>LA;Eyc?-kP7NM+XL;bE8^Yr0s3H9kH*N}_=> z8dt(oXqc-cryz-!c-Bms!IhFxWJcU8~~EEYlH4{7+` zN|KS100RoYM=~K3i!$L~BUywAB&!OfL{gC9TLel1OXU%9-1h79;}^gF6mgejPNTO|?@qt~RE0=p z!7C$Wh*_nO6fsjJqEdGR3Mmngj8#PvFsFb52;UvhW=mzCV(}Zxy~p zQg>BG0>u(ckm3JfrUFn^yc0l?tSYczEoR0i^TUV7r^gTb^?CpB_{FdP`TaLvy?AkH z?(g>NZH*9CY9v5Uh!S8A&47wSCKZjWQmlzU0T5XtP-a%JMx{J}GH;-}my7IhxSia2 zvGdJu4OT2eml8m#8e6K|8|2MBA~tI?+}4_A%t@I{G?=-Wp+ut@+->XKS~Ih%TFX>P zNijniW6{jqV_zdHMN6)d&`J|BsbqxIXhIeYfV)dF3QBV~M~av8cH2ing1}BJps_Sp z+GQhrs*okgNB|@yk(8P5oO0A?nUR8>W&Drd&mzx>s^4{yDD9P7i!_c3oZ#(w?q z{{4G*e|UJ9x94{sKQ3_<0+|qsZYW5~%W1P>`cgKM24t9g)dH+cCbxpd~MO^%BzIx_Ru~Z^Fi>Peq^jX>3Mvye}WHzI_N3ortpjF8zQ0U%@Fyo8U z1tgonOqpKA;^IW9B4iM;R?bSXz?`K|A_0U7u2vL~6wm;ewW>vWV{=*+&gZj%X7>F2 zq)0Wh8uX5$xj{K2vcl-0$`t4`n#jiPUwl2yX(P@;UU^>not`}2>sALU%Ba8_%L z-a$6-4lKa&9UA^P5=eZDBme?Rmdiku0VN{^T0-X43aYBiSgJVYbsYQk7+KFBAKyQ| zkL%9nw>dC}t=qgl-9A1^d46&7%&*_R`#6iG6A{ZOm8xnH9ja`$5}kPN}RIfHc{dhNex5a%WK;Zq26c zJP3N*AQ2&eZX%o8dE3yN(xiSqdZo zQc{{VNxh+}RtCaly6!iLX*h}Hr-pzLwx*15Cw7GZh0bUDxJ0k8o;)Z%SbqwN*eqGK zLbLD3F>n3(#qoGNKiJk!rG7aZRn4Fx8opb@ABV*6Ng|mvHd%qdTq`0Z%!qj#VWkAE z*~xo9jj_zzHQHW1GTx8ehixz3bj7KV5#xH@KYTdG`tj#)UcY+%;q6zyetZlmlMOj@ z6$~bV(mLCAYPq74C6Mr}iJ~Y=Eukt~YgE!5fF!ayyEQsN$nV&^@pSgeN-O%Q*4%tk ztwdT?I$C6CC8M7jcp{($mKLK~uUaq_Pzg8hbT&5^%$x*7q7N<@MIZHDA1gDsc6=l^(sV4S~3EZWKa@4Q|2(Bx>+Suq5=e#bapGE z;GIZ0$+S8*9+6cT(1$h7=S$ADR_0ve_QXbSn{B6l+E|2{B$D_J4Sy_>l1KtrF~)Vj z-Hx@^h|FBc-dY1sbfcZ%AZdBJhSowij9CFLaXY^-_!%KkaXcN*&)1J@>@Q!v{PAa> zubf}Mf4d)@L|S!s0F($tp?Q|fRzX3sN+c|8AplB6kZyNu&1v1uyul3LGO()17Bx#) z8Brx56eUI+W3B7T6#zp82j#|6QUGM`29gCi+r=F~A&bZ=hf8X-DS4@kKo(udN=9W7 z*1V2VRwrmOB;W~AacO42vk)k<~$-t%{rmF_Mjf$f3W@O zc>nd<58wLdFJ5@7ufG2J!_z2;fK)T1Ae9I&!r`wkCz+kv>3NP9c5WS-I?=9*0t~DI zC{nzW91Jud-5sWG?oexN=A@gHC?L(DQ~~BtKplTe|xa-VBt9wTpSl~gpKB(abX0Ea`kYqW#_xO;s9i7-ks zYfw=D@d=$JHA5mZqs;ip$R*gR^{nc>H`{>Vilt(Z&Fr?a)pY5?nnp9X&^zM3@D?K&gP$(yTjZXQQnYq z7Gw^HQo5K%;S@Fn=I)s&X2mL~3TutbfUK&9@{>YV zJskI7k^CLJBUU(;BGXNm59`XaY$9MSyUih!Vj}S!R}7GgMWm&f9i7 z4tILv9I6CbUon~?)c{G{$2exZteX4b+fkbC50oN8lKIBXNa9<{kyW{EWdE2Y%a=E;D`R3vL;_>nA)Af0uk*Zdx z>2{$#XOWtWNwSJERnol^M$*yTSjMa-x}&={bN2?IU`|UzYh&y%Gbj^A!b+md8%dxN zBq)fcMt4}EXyqWBF!SE5wE~dAjHo1l5>4RB^o;A684+u(rz76)bF3m%ub1$S?mPSWU& zks>46DqC_M$FU#rV6EmDx5roU6O=NC_bmsqmT3b(68{RxhVQ^ihf|dVtBQ6+tL@U| z@818*H(z}D`1JN7y!_ecuYdAq53hbi@3X4yaagJHHrDNk$XaVQwZ7R=vWQEss#W7w zx2GCco6pC)Z?5ltdHeAGx<75(`NyBVeEsUxZU6Yq+jk$H#w;~iT4k`rJE548>~!8* zHz4jZb>3`MR+YpEqDGQ}nHR}|Kw82asFl|EEqC_bMHN6=W0R*@Ydz)+HFSAJ$V58K zp&}ZME`k6Xh$0*$n>p$K7hiDFYh99^hxvWiiio}UIk)?|%&e>~tBN8i5+r5Hh719M z00EwOZfj~7@XXNf^T2=s!Io*mlGs<9Rh3zpUwgaL?!6;ot>v3VQ4>LWo+MBJbVgX1 zTc-fk-I;oyqeormR?SuAUEM4oA_Txd${G;}0YlON36cUv1Q1MvfCvE` zY;*yc)YtA$qPOU=c<*j&wNqQqi$5IdVQ%4yXh~D+AXic&lE5PxNiYlyqG$v73xxP9~0I9v|T$v&kb(18q+5rHQm_&Xs9|3wn$t_w#Qt~>J4meaDvd}{ks zU+bC)uid2@xP}vGQp3&a+BzaUf*?bIumG(u^V!|&Y2Qz~`QiQi;p_9^ab5PBhV8}G z)y1gM_s8Ac@!_=gQ|nMs=i<$Sif@E4A~t2%l#-<%yVo99Q!-ScLoIqVCZH1@pne11 z&9f>?+Uwkxb!qpfg;Q?dW11DiJ|4B3vZQCDhqcNH97)M~blO;oVY@8mbCFksYp~pm$f5y!LiA zPVT)~!0>oJ%Aiu)?d?||m46_Y1w#=DfDwWJM8bcb6Fmwyms7dkt@ZSH?7h21Jsm8L zh(^!r>3(;AM@bh~Th;8|4bgh^-UYIn1CWsLE-+t~rMaIE%kIN^|Nimz3qPM)Jy*|4 zZc7?P_J`g1w0rls9BKo^%m{Ud6Z9aNKnR~rxeU@*%u5wXAs)^r-pxZTIw0W=f{a8_ zhJq9cGzu6Z>Z+q?D1;;+6!8cPrwW~ta*A)D_uxP=7bXfs5JAw@8JbB~Es#)(W>FwS z6cI+IUKckDgN4;z*TvVqTE|-b;k@q7Jt7Bfi;T_lWVLl(vXF@;y-Lxh9^ zbb(L-5F)A+Q6dmzBFr^uP#gx8XjK%7Bq^JjY7x*8BoU;l2q8jnMDmQBk}!czD1-#O zTSS<{qI)-M)~&YI4(G$eX}&)$)s0Vp5FsOo6jAXFWq3Fx2SM`UV#IlN_wIq;3LzmR z6dn-@Is~M_1yqCs9$^R}oz~&WveA{{h;Yw&h^REztn<<~n_QJc$l1hGxS2Jl_;Oxw zjbYUN`Lr3w^X_myA1`m7dFy5k$fWbP@E_3={vLqbD1I^4hS=fm-QdN>?| z^4WL4|DBJYvz{Mz$I~)@IL%8pAQ*5*Gk1tU7|4nz*Tc9ex^_ERWYtUzDoS+rB;v3L z;ii?D*SaZ^y0)&7R5fy<15fl+9MHC2#fJ`Dv z0iPsC5Qqp11k74Dv+iDdotI@kEf2?fJlF1)9LQp|gCJFC5flJqgbPzJB(Rw-MA9^F z=j9Z=I!qi8WhOci5Mfs`0um7#&K?lJ5FQjpKma!wLj;Hb83@aoJvijDE@ya@lr5YR z5d^TfZ6qJpzMtohZ!VU@xl3E^;e7vQdG`GB;ws#s5Rr($-y<235`K$703-oK&}8G~ z#qBabJU*V6If+7;K!Juh%Q%kHPWC+z^>{q)H_u*-W#|wwp6j76^ITV~5mv*ihCw$) zyxzY#y#2-D@qIhZ`}65AFJ*K25C7z!{NTmS@!hY#diRcKyVHDJRx?xO+QUJINhGL% z!GH)qy4n(cTACw@D8e8)Al(~6mfkD^2$DUzLLHu|3WicbL_t!Ns+vSqDIyLJA|Ol( zGg4JOg6<8ZY6je$&`4B>lFCGeJV{Cqf(e=E&VbvK=-xaSV%B3>+i5;8%X(PX z>-4c?bFVN;7P>-AT>uA2W}&->==0|P0dy!NK@@ppdkd%yRO zo?mWv?|*W8_vTzz1>c|Mcp~f_PN4^(6oi|Q6uB8>O02!jZM_<&2m>QiSF4%jaXE!& zvPD1{iCU7ldu^SJNm5Qh%E(kCQzB8Gq%6uD=G~g8l7tA!2on)V03a2C)=ZL%7A7Vc z@C|2D5@ce8(|cbd&>7bHc|LmYtyXWEnnZ>FV$O^ zMmE%Nu?VPyxrmTd!Sl@}fXCUKKo|jGsoq)p({)ug3% zbD-9>uYFy8cbYW>?s@PO8HB?!MaTv=*2LV}N@f8AdVT#Yvi9?tirzh72mwG6&Msb< zss`Lhn!AWZ1U&><(YjSlSwlK|LJ~s6%-xzJkpRpkgqp2I8N?u2t=3LWZmqhAt!w3R zUbdSN-Bv&v?(T1&z5C7O%a;+vf8b66kie6K-wHHkYDkza4|95Rzk7H*5tg5bMpy+( z8Et#rc8`q;A*m#-FZFnv4*P@VLn+a%t!-Twv~%)iE%py@%I?j>o1e{(54(B4)OPvN zx4!p-KYsP;XG8AiuYdaZ`m6iHKIgo){^4*oi;~LXE|DB-NH#a2QZ&LZ#_48T&T9|1 zgrr&8+EbG1u|%gu@4ZnO4q{T~q)$w`Hv}CXbE{c&%1mHLXox5hG#~+*89ba25qEP` zk3xt=CumVLL~>N`*%VcwN`ZHa=%BYibhD`4jQ~mWH6Y#VTx*YhoI53<)m$XS6VrqN zCDU7=M9|8DDo|l0GKpSnuZQi6?zh+<0fZ|Upi00a*xE`80xAfURJ`{PcJb^z5MVKc zBh=y2;L5}ZRJZ3kt?VsOC?l|Vm3%?3q*3ASRB7G@&nonCKoeXkH^QafAjp) z@4lG62Y@612?YL*Bml${?NpR!tCe^A!{gz+)>;z1u5C=Tu|OcEDYsHeOzGlg9^Tth z#iE_>#m*7W(W+?fy~TX$E}{vo)w|DkAAYqQ_lNaSqI~NIzx(YU{proCXUUfS{)@-2 ze|bC~cIV~Ok1l`x_O^ONSog>w%~wS6umlE05yJFpQ>u3nVM;@9>NvqmB=(*ubN3Fy zyD&B>4<)B0;+B~(U=3TUUkp0;s-07I6&c5r@&r-9!x>a*`ef3qFAeoEFt1pv$_iOCwON&utBF$h;t0C?iB9!Xubfx&zv6Ns$aN zhUl=_JbSTy`LgwM@7>)gh7iDAGiVidO5)t>>(^gxKmX}CZnn>!X-WVB z|B)vEfp3ItJ#7xh)8Q~b?oW!ynyFfl;IYKq7jci2v)Z8B?NG`vik-V1cX4>&tM5RE z+Dv-yV1=jVcK56EyPuzSySbjqaPi6S{>h8ae(&Py%ICS?y*|A8Vt+in+nt|XZ`W2I zPqUeYXu#c;Kr%ESDb>UUdAli_VO&~u@tl}ao@taI^gVK>i3JFpe^k{})kPefTkyK#T5!9QdlMBQ{L3((Qj+7LE<_3dPiZ~4dX4Tc!t8vn^GAsp6 zELxn!izI}d)_!gMaGqaWUaspL-R@q0JzU*DB!eXWp5V6(Lo4Ii?66qvtAzK~ z*5=Kl!owQ6xVwmqW$L0R7vnUgRFJhV^L+SV>q0YIX9%@qH9LRxllw3JV)uC0+B$8Y zfA&ZJ?B)0VaC?2@we{WC4`2QG_U^;|`2_M=nQk8rwObIv@NR+BJb;u4Nt|+-rs+F3 z*Uei8%`r$~VC}UGsWuuhx87Qd2zTFV$$2PQ^9T_XVTPtGSL5c@=4vWZy^RUG=bURag)qqG`N*_Po{Q@OYmgB^5x#f`Ah)1Q39b6oiHK z-oqk-gfL~vP9Vf0n5nA%ga{2tIIM>cD%~OxNd;~Q>D_aYU~ljQk)(m-kP3A7$HS>e zZq3F#9+!2udpLf0ecbONf+XnpdkKJnJ#A}C`=uQY$91lwGRjol&C%8#geDGI8BP)A z($h3-wt6^Dj&?fL-TS_~lMBsRLsLCH9KQUk-Rqy{z7EQ`y!!Na|LdzyKP#mu)B5=3 z<5xd$=*RxInuhkO0>w;C8!B%8-0LZO7!h1#UrsAhsYJAh zFvQZ`Tu28H8Yw}^L^T1JFlWytAq*tR(~tnqeQRdt)-;#r6OkAiGK|~0`VZAj{J)*ZYB6{n!R(ld|;qDRLg6Q6&!--Mykjs$i31n1r z1ufaSB81`L5e=9&SKs;G42$t-JnnWgCAM1`Q&K_eo{IvA==cVcj%~Qg z)0By>NUEp(?fCfChYR7v}Pbmt+3&@i4a@L32Zhi%URNpIvXa(}g(&e6i8KF1^=)jF81*4S!MCx)Ob@ zwi-Z>2n(P68+kK^xq1RZJuasqWx%ux%-1W9H?N+hJb?Q6c>nz7nwlb_yAdE&kt!>E z39$DhiSBTT#Bc}9RN=vRBA|D(-n(`09;8Z`k>cL`iIIX-hQYW^>0%lnghyBC+ShJL z5^D_?(i|vx{N4|Lbba;QoF6{CJ1#m(acwi9$0JLuczy2d$&7`!*o2K zZf|cdH(!;jn~#6=4>!}`5%{gtJt|7~RC`-`U26voQNq0ly8E^y5fo+O5Yk$+&ZxR6 z9H(J;oNG=z)xI3>c=fH=-`)P=-@keDIa^Pq)Zy}z@BhIkKl+2b*)njx{mtp?pFG@u zeOg+xN{?4pmv0`AkL%LAdr(9iMo21}bWA$BF@o2Z)9Ca2S}jsmtf8I5#RPgZUmP*F zj_xMX-3&UX4B<>guaT zHZe_M9vT54h;W9IChS7M4hUJoXot z@^GGCmZ6ks;r#7GX;Q8l_N0=|&fbLqi%= zMiHqN7ngeTy?pz1%E8c#)*jvme{%co?d`j-GJ2wv@%rYwzyJI@zn{m8A@O+koBbC* zKHh#==Orw5%kuH%MH1W{4s)doGZTbvp42ww`s#Y?9!b-)o9ofn(_>pb4TbRN?t@r1 zpIb}Fr?xKLL{da2psKz5VXYVAFp`r@xnNA1N;b13O!;Dn9-?VN(s46R=i_mAIG#?k zS^eb2Cy{MRqbeoDy_1@t5L2ooF+ncb;Rqv%8eI{K!#si_V$2L%>WP%K^&o~kx}V%| zb#Xaegrm(9}qv99OE?`pfgdiMOqC#h^>zFX(BP^OE^y1zvv1shu? zh@8Z0L?V;qpr(>kHfcRK&KeMMO^wxs5>JRCQfUO)-5fyc*d!pd^ma1Is@ly(WQ|@_ z5NPo30!R{FtEIsJJ}l>Nx0`7w_q+YKKYIT5@$i1XpT^7kcVBK_eKK8K21Ns@$(0#b zUv}sDyevyM33S(lP-W2~(TuQYFlFy8BA4`hxHA8=eLdkpw*y=Fao*j1zPsDq4OCTd zy1Mw*_g}pFUb-9s+24OS{`&Ldhu7=*)T&!p5x%^-c)dTKYd^J`B%>4&Y3p2MJ8l?E zn^7;e)0i|4^Fu$A8J5nrBpu<_!<#dSoqGdd(Gf{BB3x7sOMAYxi_2k?Ii$^?0zeal z%$d|8V8*n$7>Dil^6J^u`S7^AZ?n96{ID+VVw{@A%V!s$L%A zi;d)p)h|}7S6=Vccu({LV9o8Ko^3is@p0+9!iX_b`rJPgBC6$yk4H$>1Y=+Hr zIgDc|C6ll&NqetrYy0E;_1%Lq-#zT7&9E*_C2J0n;Q-w{A{lp!S?h=8Z2%v#3EFKOH+lz}drjTx^$S7hzx<#7)!N(AYi~C94i{q&2N;R0 z+n?Vb&L!oNp!ude`)G4{GhSaO8B?6s*T0x=zc`(ayJgLkr7wo~^u@Ec54-#Gd95*S zr(ydtB-Q1VRfciej@!#;&tHE0-I0BMc-PZ~Mt#yWC-LO%wEEhsneBQfKoJkG4oA30 zzz4~z^+C(c#fFreRdde5RAeZH6bWWcX*+H6C?zulaG;E1$qA*DX&6A?40&0XWvz2< zZ{FW3WcRo)qL26Yq|R+oM{jjmmLSfj<1kI9$NlzVyFbpUXlJ^A+}GgZHZP|aFTVZu z!z}{m-sgF_JsiH?9rx=R6gcwL)qnHP{<~KneSBJ$F~KDW%r7-Q-?fN}lHy5?NEC z?$#v&V-gD@0<_*$)do#V>yzYX*H?$b$)nv|ULDrO*S6W_)Bdo%z8Nkr^nduD{?~5q zj@sNUnp>?s3{y@eCrwHq3x+&tRt0Le-pq;SHl)0J{fnP|`TFj-WX&ZvZkwF1p1*wl@n_?7Rh#w4 zx97Dk%W7s9*B^yjs;6#oS{4;OH#D;VdbmdfhzJc7=1{I?YwM%ti>VAlDMQMd1}&0A zlBhG~G>lKKMb%*tQ5BXlZZ^}nEon$evaqCdwVfC~B|Xi@wc7r)JFUH&x8CPkojC4K zRPJ`id8tcV-oL*ehVk~{F)={->do6>8U`tDv0JB@jtCTkF-vp$s{nmStXh7G^0953;)jH7NjbZSd~tw(@K5*;bOdGqy; zzj(brRh1;lW%bBNQ&vW-wbrHd!+LlHww&SK0ADk&CDLE$z^B98(3^6uF0W$@uXmYpKF+~}NaV*O^yStfPQxR_A!DQBo zrv2%>nWn?x*iLRhzniIC=kqY;JfyXrhOB^Z#_{TU`|tQ+Vj_3JU z*GZ(h^&S`7oPfvEQcbdQ9BKkmOAWEws$c^U>yDd|wq%+N*|RW(ZvQJ9e` z8Gt|+guq=kiAfo59c1WOQl7{N^JQ7as|$MMa@p;ysknE61_5}uN4RK8!x%lzZN9m= z8mF||t$+UW&wu*Whox3Gih?f2*le%=$v^$)&p&!KFWvjBd1|d5Pn}Yb+0O^j6fuC2 zJeqZ3a`co^Yv$%6i0Bc}ayb@x(gNyr8i&W@Y0z;RGNYKaWC4(>0*ipVgLzro^)Rh) zQb@M$X0|QkE?ZxHZML0;rNU4FnOolu$ql>nTFT+oi|cnE9v)7IXO|b@et&=e(I>AS z-+xGFs}iEBQx5jAwRx?*!rjoN36lkm)h|iH6G)FCP9<-zKKjviJ7E|E zW&hP*_T7Wz^2yb!&c1v1)pFXe-MZ5Rr==}@F(x`e?;WC$V5Ddffk+Ia7=*;v_s7e! z-Cm54ftuAtvLwqPon%OsP}6|BQzSg6q4y5b2`z&=a&iT8nPe38)gWxG7FPg7 zAt3;IuYfPhQqm+Pucz}SPa^WGukZf-=U={g+*>oMIE+p*;PLx^`j5Z!dw;Y)E_v!7 z-n>1X=DFiM&w;isXGWx?;u&Tw8+`~{gqx^K8N?dgU6a59TuZtdwijW|78j^^I1$uR zU_LFqsxcTM5*8L-B$jGRFGESSM@bs6+FD9U!ez*7tJ9!k!EvDzt$R&154oA|PRqq+ zyuR3e@%FvN{A?O-59et*USHiLo8iULBis=7L>LhW;#4hZDWfRSfrJ#&bHuNH{Qv&d z|NVcQ9^P)Ji=j+Q9HiNxNTSylMZ}9OaXRk^_tw6!m`-fS)k^*6^QA^>(L zTMuf8{y=h}Sn2u4bypm{6dK@E#Y z2n1cCTPR$B2%#9k=vFm;`Qh&7YP!0*nnXD&jUg*tG#4R|=xdPFASu0fB}3e)-b2yD z9GWeQQY|5t%5ag~Yn5*#NGQeKBch~>zE&+Uj*~@j)TQCC{^n<&zr9`8W*z|CO*O+U zdjIqXzx#WC@=u3c#(@T#t~PHz+^sCgL`{ilg>z|)b&a)m04e87N)HNPNxZGKn~Q{; z>xw;dNrE9wX4V9Q2y}$Rc1*qZdfJPWBxvwfJ*DLEWogqmGO98Fil~w~C2wa!cdNac z%G`Rl4rp&)#R>0b?;m%c++4qS@$AFht#!Yc$B=cpzIyij<>iZSbKIO>|McOjpEm`$A{^!x zU?5=16q*vu3|>;0!aV?0r%zOn$)lx6lC5=Bg(Q9>M3N(VT~%3=jd_%m-0j_)`+xh3 zFTUO%TQ_$Tkq99S(YxETmmmG}fAQbHeDTp~t=5{Eb<1V5)kBp?D`%tRl$o;C1`~-Y zB@+Q;=c;g!TC()kqBTfgZT;{@%6PNQty2t=GIMse#GKQn;iM3Fj~-q;DWclZ)@y8- z6!2(W20kfC*P5VAp@(J{L+U4odNZi?#I&|nH0}<^=a<)W-Y&MBS`kUV{_5*QMozAg z_r4b9RNN4!b8TyfP-)RRuz z<#gPi_r9!)n;V8{y1MyJ*}QD^-SI5lX>gT5(4qkdAtL}7f+PY297d=@K0NOK`t|$E z%gb>yMMM&i5-P1aGHIZYNFw493K+~xAPz+!l_53sktrk;gTpm@kP3y0ss`BlD&NS7 zLmtxk)c(J}{qdjw;+MyHF>?|sKoHWEi5}xP{Nw-jU%dM656t3lJXeoc+wpj=9z9w$ zi6)V^oi24{y3`0K+R}1TNimKaP1Cy0sEa|e_tv}DUZbHdA7(WW?sYj0!$5Zz*93?f zJY}vS2!V()^%kea#*_`w9dOq?6pf_xAjN7!8Pdge*dHqyt9-g_xW%-txLNYCpVZoMCM+r*|#?N_5QqCFL@KqM6|o7A>UlTdhxCA zZpX{R>(Af(^xw?OZhP_EtljM&eQhCpa`XK8^~;YpH{UzebKgzS5)6U>9S$&wGNQ9P zgbZ;42tb$skPO7@_jkX%*j!&+USEy@20({qQ3sSEq$EdA)ao8Vn1%OXdZKwy5}~jT zf~2c3q-$gm(bRgyx@s9M>~6Pvf1LmF=f8aY?)_3ND+wXPp+RGaBO?5Jzw=-5#kU{M zYZ%sQ-4+cRs&wFaQ+zb&0I9()ZUM(Wv0f}zWT1!Bpv~Y{a@SFy)OAxS#IM=ov$}~!E;?XTo zJDT>K^6q#VbJ}i(<8og6k~Ad-yhmNS1q`v)Sp?%SkeZWZ(Z0;<;r8pF|J$#B`WIH` zi)YWSKl&k)Ld$Tuy}5e!^2M`ljup$}+h5kT?+)iicZWz2A^1BEs>E-RG>^ai@@<)>KmMH`Zi@gyizf~@M`8-^ zVAO8r7TyB}QHq2FNk~Q#iNWD@ol6-B32P86Oa1Wp;obX(w~vS0$A|Zi`_p-8|9@L> z`lQ!&+z0sAeU`hv+boy?KoHzT$%$;sPV7!AN{H0cC$}uoQ&X2M%CSJJB`_j zO-4=EL$jpGl&ZQb`^43ZO_kss2Zvc5Bq!gtY$%6yN|SeHS~($Am$DRta}Gd}X&4F_ zK&GnEhrvaA3&q1Skd%U&L90*^!$g|kifM38mCQ638#(o{-e@A?R0>2V@j-YqrEF-L zI%O%M*W1xEb5S{z>5w#l1G|z0S!PXio^%}3`sMS_{>SsDUpOhpXAhS5Kc19JQSKH; zi^XgJaao-M@Es zfBp0iUw`&@>&<~-DJ6v!DQ4!Jr*2_YyB&Glrm|a~E~=Z?Z@N&25OPjt7QOS8&sogO z0cuJ=fEh9VA5~%IVM_n_hp%7V-v0E#!w2U_E<_PAgA&BlQGgWyWgz^PO)gm4t7;JfhY&pb;DT!d*O7zwF(plD zO_lRI2W|X_j3FasiH@sg<^zc;%py6pgmDk&yf>&2qW9TbDJ4m)ODfR^7%N%yp&}Zl ziJ4UuqKP>=tsDGybYQ}``sTslEqVKU1Il`36H!t42zS;cb z=D{ET_`~DH(i})hi>Vxvl%$g;A=4_vDmV=;xSAY{Xv!L5Dkj62zy0pnZ@+o;{LRf_ zI%u{6g+gJ08AfanQ!oRh#O&=Y5Sf`m|Kw*s|Jh&sdpNi1sxG^E48#6#$ol4Xw;d%` zHOPUhi6dzeLtV{?NEN9J9Os@Pu&$d28gH(y^K?)vj;vbrfpFMZUpwrl!ywFDRUy_* z9s11bbAhGXJOUQ$s*HQFLU7JeQ6+=IiV8UboF~kh`cMi0$DCD7(r%!(C08I&HHc!H za}`38>2~M)rf%!zdKkPTU%)kIsT(cHEH!FuJfw6DAIAn_T z!nq438cS9)fq9rSC*(k+CKiwCuDpbS}Vg5Rx2xA@3Ook%AP8ZH*#; zf|N;$O3q?R6B&yLv&HY#A*w2zhp8h5$~0A7bgB@QVsOcJVPv@5{X~koca3^4re#V8 zHP29U5Kbvi1;d-CufF)(Hy7WskLT}xdUW^4CB*$WR#kg`_io?!ZHzgMSKt0_{p~*v zo6Rs5SI5p(V@|ijbeQt2B9I&MxTyP^v>OYEM9CRM1R`ol50Z11x0K0|DOoXE^t1DO z@1ERyudeG1~K*o4}x)aU;`0gPGAni zOvV(73K^8hF#sVW!jRH8PoKSbbq&Em2V@gdA+Q#89Mrw!^_MSSR{pWC1O7 zr3{1S!*-ZF(`_H6Cax+OcEPXW(oeT*f;dny6@p`wB8A`$K&gEQ zo^#ux=uwB{j*4s3xTz`G_ z)o-pYo|um(4}QA5_wnd`$;HKfd9s}Mi@L46(aqD}Z=Zga*X#XyN6cn!pND-ayD>TE zeBe^F3H6|5GjNe?W;JWkm`aA)0D*WR^+e2UY8~O;>HM9Kf0E%JJ^uP;yBiOCb}%y- zlaZg*_r9^k>0L%$QP|IG9;6^-S!XiWsq4A+V4-VhWno5sQd1 z1H}^)v6&^w$ETSw<=edp7D(H}2oQy#b1aA@0;s?}!K6zns&YP*=KL}@Ig zDyl~3^V!Sw&H+U}^mH}r7i{JF+s`ll@b}fQyWMZi5wlKNOk{t^*>q9G03IR5%IzMhWSBW- zGb)lw5um6!!UQ;S+*Q77`j6g!=Yv)A?d5LVT;E=;cawzRO{lf`P@ zr`59ep{bpY;}B&^&XttnV%e`w1(cHjgr;uetg^u|-ULSU%jJq}+^w(Fplm8?U;r6P zs+(bVZ*{V7(uA0Do^p<{@=eudCnDSZ)HK!EYH@YDHsh4d#}YUUC3_#dl6qqEG)+_4 z-O%gbuOI)*>&s`Ey5)mUtK$y_5kT9vKRI5mj^>NmJm=}^+s|M8?$=>|yO|CEx51|( z0r~Zq_9CtKM|HCsMgW^hM=Q>IRXA_ag(RwqI#kQ~s*v@yd;jkF(cSl}qr123H~;n5 zzuxV(5}o>GTeB6jG8!4w5$BUT_c%6ZzB(Kdy><7UCyUj1*r+KH8OVV^Ff)h(Abc+n z8vrv9h#2Hl3mL(Y2`ec8LNS1d*`VYYP{7QH2u2_%-V)MaP{1qHF{y%B0V1V3kgAFR z=Das0v!beisu6#3|NJliznm<*hlv8RTUayUNo_CzNsze zl&5hRrmF3zXeuU?9Yue1G(VnIYHYNx>eyuJn%LDoczXHdqUfNu5|P>IyY+0zY9=z6 zEN4q44a%jST&UE_^8ABz*l%xc&2k`@sVLyg<)V&J4&$^K`?k6nr@CuJb=>cos)Y|` zrkeJ{c)D8NJ3V@Jbz3wavWvl3Y@D+9}HzlN+`vm82`R42Et1H*^F)X-_Qz~#tO_>TgM=l!E zY+enUbhF<_CaRi#aeDdk2>=6#pafC_Kt%QyKtv#hsR5=6CWA1M0i*^h3;{Q?@69W#S2Ed5Osfig(qyR+Zn&2P)=%@AaNV?PAb{m66 z$YD3!Y{skg){OdQQPLrjn=hKai*@jTRUw+BrtZx7l2vnJ;zi9}-?UBBcO5i0!I{}Q z<=buE4Aw+<{pR+l?(((}(R_B?G|hfLIws0xnufqOk;ba?_3W@4jCpbA-K&e|lBN(S zsncRa1Xa&r%4K)6@8+}GyWNDTv zS{DK2RQ6I1NsJJqi%h1P44GYMs^H@|j#U*`CwJzvWjj9-;?re+cK_bw_m z@%+iF7th4Fo*jo~8SCCT=j$|VH$a1s&A`kLkIzm{&#opLN(!Mj$*Lk8ZuZyDo?oz!tGg$&cn3txImF=K zVpoc7CULM~5Q@&#?W%2?E~=r zG9*t)nER$Sud|~&*RP&A(z;u=p-FBq0+UPz=UEdeL0~&c)ilmy*bl>gcYW`pe{=cb z_q*GxettYndotBL-fk!7eN8lus#@5?3_eZeu)fmEZ_CRsu3lZFLhb6z_s4KmsOr^f z)%WwoYPMP(1)|GmU%vj`uV}mtMP6@iRZ$oLyw6iE7*%F56cP?COWu}Jw@1}t=snyzkqlnXT%@{Ma|M+r51D+21{X@@Rc?sj8u>t9IEf?p5u=)v-Wmw@cM1gTyKX z@**jxsSED;tDB$w(MS8k@2|Go*v>!x$)8+2`uyhh*2IWm#sCb4{}1*=AgHRDiW#vp z5+VX%#vl~}DVyOfRfPj!O2h_ZbLNDU9R)BE37cgG+YgGWK@9{DF}#SV>M#E7U%dCu zyM8`DsNwT6hW==$5;W_S7B(aFR8em{7zg$?9;R1MH&6cg*~Rm#{pe>W_3V!Ck6hi)7pukc=xDW=9nCQ1i^qR> z^3Q+k#!bb#-fs6(YU?P4wt1R_i^@ENB-;6U(fW&xgjfrOaViRS8c$a3o#jz|ejeK8 z^>+LE(Z4+U`VZGvw=jvZBcj;PyVX1G@_4m8*-eLGng&g!e)`EL z_Z~JC|McPfSO0W*b@_DJ&Fa3x%?&XO04a>|10`Y*U;r@_KmftmIZ?|5r)ms>5ukt& zNCA*KI5Be`Y(#KsCJ=AVSjn6x7$9m|)J#kal$ioElY^=XAd**$)dwGZ@Zr6av5I}D z9~{4j;MUhSH=CWAPSbuW;zN^2b&}S=y{kQm;jlTFbLM8v+2 z%XyPZp2-|+ZSAIH%&J3rJsv7>u6w0gs>(GD5mjwt(=aL8Sr@=AunzISqQv9vbvrxp zp>`mGb6!$bsCuKpwDqCnoHgfS4%9_=dvy`J?)3hTu3voRLhWf}*MhfYI+&4&%w~&m z+?6rApa0^oE`Rs;7tg+VbGt`(yf}W>FV33TYJPltbb7p8&YF5w6Tg1)#h3r^U-Iq6 zs;j4|Ty56T2WB@+lA(vGG$97EVmO}HO{~{~dUd`$Ud7;$$Ghi8@810YvwqC>-ShAM z@cIAx>dUXjlxrVd)rY3>^)xb<3I94MA2nN8+2&Sea z3MdR_q*m~j5wn>%AdBc*W(pG!!x>S{M2xqL*m=cA@4f%-C!dyK|N46K;YU9TtJ9|G zBs%go41&wS*r(SMW{+OH@Xe}k=S|ZF7mQKFYVTv^+qM_cI)*pTzVaMT9(=S} zzu8>925aT2Ar%Kl!3L2CiN0orV>%4khfwmQ=A!r2{B&4fcJtFBTD3Ek1j`~i4Ew&0 z!FhlC=<~}LPcPPoQmtZlX3eTyt&Z;8T`cBJ+Zk8v2DoAqg&UcI?G zm@OQcQIc{yjRqIl4mtOsDp_8py=onsc{e+4XEm9GsvFXD_4x5O&z@{|1008{VOJ}M zDnzQPHdJ@+KYZtdcNfc(oAqI{9Y(NuLJr2I30+&o65}}K%gyF*{`+r!@#lY1_0_|N z4`1C**N3EaO=QGeOg+c|m;o^MPFYp)10qr_M2^T{41g4Y3}6MBnRARRI-OH9b5zZoB1YzxjvlcKcVq{3U$t;_`Yd0Q$a< z4&UsD*}M<2A4J+ZhTs-;d%Wy3X)0puC{pk~1Ri(eXteOALW_A5y`P4?)J^Bv5gehE z(btuxiQ&0I6J#J8qbTREPA-TzP!H5#&y3Su6@;;bG2vojc?n2HoNoAJG0rs zd5WF|w3pF2N3Qk(byK;z8aBJ8>MNLoee>u3 z1m@si20+aqu;Z?K@6Ort+gB-?%Dmn&NbWS%Kl6#`9K9NREW93_N`p!IBZ`Rvg&?3=E2WFn?u7s8lIr0f|Y*^v_|K1OB~ zmAR|aRL1R1)vmgu`2YdOo0A?|zD~jkaiyAI{Dmp4@+M=j`t4 zXaVo6zH!pwt>o+eR9d&gV-8hannm3W_X@og+3 zQa0B&m#=Ro%XMtJCbWywL|tg-%Au}W??Wc4W7RkPV%GOv*EG!`+kVvjIFu=|nybQm zv0&ygPoe46$64EUl@6nQ^YXQ?>UZxgpFOJ{UkuChk2g0@ra=HRe9sKzy;Ccs9t41y zL25>CnG&%xGe-n~3`StU-Xg*el$1@4Kx}NLsvv?fnSuZi0D-WvNg;A#wotj zUTxmIvpBkY??Hx}1^)8QritTjOk}zr2Ufr8>sW>LdV4yn7qcplQ{{uIjzx-S&Jvux z)%6tx3cils;NqgME9a9W@3f3*cgVZ#;0c2Pb=%EmD7UqX7g>eaIY%zAagxcE$~kt< zYVL+SIYY&MHe0?-hwbI7CN|(&)82|W7YrNI;D{AgOhuH9m|2oeC3lUx*<8nN(X1ZS z%j0QtQ_t^+>f-D}CsHmR5i-nt5?b8*;Q0NY9-p2qPnNU3bsm$kRBLNm7PI=Zb|`$GR{YcBM$H+BT-mc8%^%vnyXb zdiJCD?)=%$K6Rgew?35hi@R5cM<5Vjptm4ufG2MzL=L0?hzJ0&y+uR-h{$000g-`0 zN{a6(7zPGG&4>UnV8moFf&w0-X6AgXn$vmzpa1%oPrv&1w@+XH*-t)xad~t0-bY5d z-tLC0EA~xO2USz%e$mGwtNG&L!?W6GeRH@SQ#Y^K0DM%?ajf<1J zPJP*JaN2p#889>F$&=3{j{KC1BWRJVrEzX+W6r3fchLRqWz!$e7pFJRejDazfju+N iP9LUecXRoY9R4>>LlX0bC?O000000Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91$e;rN1ONa40RR91$N&HU0GnGql>h)B&q+i^XEP!eohq?z+UHkg)B48g>@xUw4pvdXP#nu6cIe-nX-h(H7ah=f2y zLL}Lnb*tN!&6ONSv;ssms_M2ouppR{CMf`^hE&~lZ%P2ke_N1hKm@gK_y zYo1ukSmn3cAbhqmmeiYl-cp+TO{4qkS9luiD&Dx3e-g{6r1> z@G>H5V0|yG+TYy38*eJ+A6FIvAVaNXtn=W)C)a8Z(i&B@jCEQE zQoadQpC}Er@Ls*fOY#|x2qS!|9GoI&cS~J`Lr63Gce}q`K$da8i(x87MOD1KBpXM=E%bwqlxcP+;w#0B^vZ>(V3XSwAa6dXnY#@^>|?Z8BcMBpeP z5V0|Aj7gJ(wbsnB)~Qa7F~TO78&|7z zbsgJ}63`rrJpcAnSYfvBLa9#PUVEd_C`@8)wB>S8N&q57!aHm}2&9MzY)q6UX}|w5 z9$#Es+}_??U0u75GAxQ@K0kF0tctfOfi=c_jNe~gUc)dnh6w~HOT>r(QbMw+IeiW7 zQI3L$2&G9f)af`FcLu}z`}@nw3ppM)tSYcjAxPPu%sh#r=a=WfaHzE=rI0CzIpZTD zf|F@s`zm6vrDKE=t^0$1FbN)R?{07J8h)duSm%Q+ZOmXWcz%7EM3G@8%qmh5$QlS{ zkPu=LLTQ)h41`hq=jkbmlVA7u?RHy1{RED9o~+PvH-RK^@-`g2zPuz!A|e3IjG2PW zuq8w?rCX}Z6f{y$N%MAR&+~ zN~MToQM1b|4787BQda%~5Yspq%d;3`?(XhXCd^4qv8tpCvf*(U^xk^I;ZT?%L?j9j zLLm+s*7_ipL`f-j?!~HnD6m~3jK^V`Jh`rSeRZ8%HKYdC$#Xy!d&f5p#=rmm34%ZX zm0$8@`o2s}1Y&JVn1{r^ya{V6J|bh!ahm-8zu!7dZ*Fcp&jrm%Tp}k(#&(GpSLa5n zh$d0g>-Q&N$OUu5Om2b|uLMNu_#%!XrBsrp&(ANtw_cj2_6}R*G;<3sF5c$mo$~>f z5JVx4qo>#B!C;_s;vt0mrGyA1fB@fIE+LAem*kS6ORM-+H$$_;b{d_Zp0FWff+gm>v2Yk|ER>3oEn{m2lL90lJQe)l*Z@t$Z z3x8(iK9yA50?=?cbR6ZnZnM>*Lfrlt*dWd%2dNPbC*jM>i(#J2P;`ovb!N{H!dt)Z zINswwj}717W)VtrLsl39K^XMg$O&B#Qt3{hK6-lh;lc0%uAZtX_CBLLpif^qQv@sXsd^|I$vv}RR6#ws%hX`Cd_&(EpWhBJRBs{<+`g0)wj_N5$1L=;r7 z-}8O{=H}XU6wUbruCyfW8F+%dx8{pC)weC@;%gTs$cEoX@8fY`FPMpx6s(>&4a>rp zO+gVTNs{4ksM8dSZ2A*vX2Uhy=aV~jTVYnnEKwZw`)@{T8zHk=Y^?}OQG_rIKii{^f3GYbKVQT6pOj<6SHqRNWxCeTeVs@A3(_=+q6o9-S)s+yv{R?cs)~m?Nt0kap88v@5ppX`w$fBjCN`>8mUWV) z|JT4OgZwEXljtapa}^w@ykxc5wASGy)Y{|*(uMTNIQF7%FV9pBSR#fwiX)w*fR(Fk zv`c2iI*X7O0Foq0s?#NhneRG6Tgx-mV}+^KK@hSqXxVN3Oo$c}j4?XZ%xfGSWZuW@ z^jfuClVKpKF{w@q&c|mGmsbpK1%a7UlLAnH$Wr1-94H{MtgQN#O2;iEB%;~GIw?fs z$!w{sOt*@m|3qX&k~B?C7O936rwGRa7HywZ9~EPTERv>46epzAHtSM3c!8OknG$p}Oa=gmZDl0S<54vGC zhKY%ZRd&a)gT%ghj&9o9xfc}^-e=fiV=RLZMR`sl;7owE5D>#`#4wB4WV<-hD9Y(U z9boql2rm&~V@_PtE@_8BLPDGyjxs6!E0S|otgxsIV^_d!T1G_JF0sfN!^(ypiV`RAp*F8DkoQqQr0w!Y2B1CqWaG5bt8|>_%N}kBcoTti* zTsF+R;BL0FZukw`Q9~USVbgDxtlxiD~3236I{q_aWIapflZT4UdWr5w*K76O>rAgU~BNkR9^6f4((qmK3PZOh~yL@Pwu zArc!8SHboDrr%g&9z6%|hG|OYqZbR4HCy~6%nfjq@;vWc4ezjNy;xl3y1rlCfVPUc z%@9Z_r5uOP_eRGGj}G8E&KkF~(wU(AL||bSk1CFk=X&i{^V>p#4@#>nsziv{aa_;! z)L~@|S&CIGj^zhYEFyyAs&=#O`RB$BixLf>eBbju?>j2cl_N1%kBKXS*Yq3B#`=A! zd~=l3Y&6vY`Jim+09XxRWtaBzFWLCJ)btyj%WfXKl0ixYB1)={Ef9I0dwFr;90XX? z)h<&9Ty7PtOaVBK(`+`B;|R0N&IYnfu|!ni^2y}^SgkxZ_+F%<+)DhqU(D;2nqz^{8eou1b~Z+i&m?pl!HPmRa#%a@|k_Mgr`(8 z&pSi_bi3VltG(C@2o)Bv$n(8!_sVtMqa2R|iVanY(wScpxW0RRb>n(xRDBrKZnawN z7St@Cs@h`zWnKP|1MJQheX8=FvF=HG=HgzPq|i~Sd(~~X+Hw|_QXz5RTwZou$DP%d z+H}oUuJD1fOK!BAs=UXnMDhN4-q-d3pwaNJuC5)|IS+buae2}0bREZG!^8zw(k-@t z=J(=2gi6-XEtFpUOOC60WRHTv_4QS|)vi9dBF}N}?(coyhk{zZ%K3U-SJrPnDAD=^ zTcrW(o5W=izu`UpdURZeY?(iiDk_B_+&$cNFFUU1Dg{81B9+^eHj}Zi#xwm8w!LGd ziY(?FSf0cF>A2VRki|nQqE4rMe|tk!&fsu)d2w@n?YfT2!g1M_T9oX#d_J+|x)m$e zxfJ)zbaN>`p?$!0x?d^?% zssz;%l1``daC_ToHWWZ$kf@BAJEwG^exfB$j-gZ8n;gH1{Pz5BGPib{in;BZawLthSrRnXtmC(%xz{e*Jp9zPb_-E>t->G0{qV-@m`V?_71P zH(%zXct*a~?s)-A6x8KqoB1J0q9B-%2(YmQ`&a^d({DUHJlx;kdN!)t)-|yPIH?Mq z`XXPIIwMqNvFQrvbT9t%pZ{E4bpR2O>GjCB6DncxeeZw&{rA_ygXg#qAu$jkA(@si zJGtx=Sc8+#A~IIin@&fD9-XhV>q$J`O6FCh{D?Thxq-Tn2ob@e$= z$nBo1y|Opi231EYc_Mq~^4hrwhY(T2_y2i(Y&P4kFTL?(tVkU_Ap!}JQtGPPeRz1d zY`2x;h={W38Hh_lKv}E(WpAHn3Xw|I(%FSAf?U^sxW8+)+Rrb~!_kPC2{;ZLWM+UG zjmE>n?d|QY?|FH;XPZ=J`m+*za67x&*#j$Ei_6Q)RQ z_v)(q@Nn1dTtb0Z2&4d8Vz^Sa1+2mwh}Pac?Vp2mXYPjMu8Me`b9Z~!ZeR9#ukY{g zlPF?i@(4r}K8oGf!0LV=&vVf`E)A4*iFLIF8fvrw4oIQKS zp()nRn(7YoS*W>!)v{LM5ke#aC=wxUI8CA`ilaCV!*CpgX_6XdYamdM%88>T4hT%j^jA4@?76{eb;jw z*K-`#b(L~v0J0i`Dm-&1!@rbml-hZ;_mEMtEv35Me9UXIU!A7F;1FHkts2QVJp@YzSl%JAyDp8PQ&4$|~$ObLMs| zv9fc%y8^PtBsOeBv>2mVYn{ZgHrg0t46}$atc?~UMi@l_PDlZOQc5Z1D5U`9IBP5U_^va%&VnVFi;yOJ0I{MS#`Ute1xMM-}jq-v(aeyuJ8I@qv3mw z=Qs+EV@V{>r29`Up|NUGr^fQW;Szd>Ds%f`OGuy;goVg(%EqK=s!bG6!Z3`IB#PoR zNmw!}0=P`X!XySna0HvFT8ml`3brgE&042A7>5La03z3Q8-AnRZnZBie81s&uIKr# zi@a=$e6=7r9z^lPHR!aWD>pFi8@lwEzHehhHcKf+|$B zuo5?KrWs+afvoVx)SfRysZNtL9goLQuYl8N`kl*8tJP{Y8?9!;%QM)D&>GdfW`)NR zKW9=8KqOkHahxP^JPv{&2;w+SwKi;og#GAXw+cim z2L*FDnGE0G-#^~tDAL9jdAD^)v7my^i^W({wWuJ{6eXl1xpmHlW!bcl5NT~v9ZsUj za5VB8{_V}(^;OsNJf)O1w9QgNZ@ee{wo`2&sv@(ek!np zghXo-20?GoAH9##Bqe|x#|T42*{rr3G?TBQnl1E6hJ#9uEfm*)T*tk+xw^i-ZMB<@ zatY+*3A8rwh5bRm`dU&DqBKt4gK_`$^&<>zItCGIfKt}8N)fibvn=@8;WW=u(O8k? z`!Z~mM9=fOSKZs2+h(Kb`>s+7HN{#s6s(+^5E&7p^(2}M`u(@TKqskE3QAdEK|x5# zan|O$^eN1$T#LQo&fPKu)NuXlo2%QK+l%&v>wrYEFW?iVyFait7a4Njpd$inrSA@k ze={P%csv*mhofN}#X^?f5i--0Ja-dSG zquc)}$%OKAqg(TCHcP5+;qu`9{XGbRR;zt;bA5Yz>$q-ay4XFyTB-=FIWw}g`ibB@ z3|?QJhokpYr`9B8oiKBYAjtYC2nq^a`3rG!GW?>kZQe?kEe(v}@pv4^u{P${!=vjd zVF*zHj$7R*Z0?%;1&4KyPp<409)S$YXgK)u^b}1dhD~Ot$q=OG^|zv7LB5T?e=m7o z`kQ2e0FpF)etC(b_~G$atI<$uv2G&{Igpi~bdP@;SxA8lbMNi#`S~f1;;FG<5nd|J9I>#@NZlgBgIniYD{Pfa$>j@E*GWKSs zxKcuuPOp7bf|j}MfQZ6L^ylwiVZOV&bA4ZZ6RM5?tT_V&%m!;7p~>P(PDjiOB$kW$3P{Q2`IoJ<}cAKUHrX64Fvh^jgb;ax5<$ za6A?faxzmVTRR^C%ULq;qddiTHhmROH&}Qu=ri*_kB^s^m#dt+R$hKci4j5Wu?`fH zRQLODe_o!GD6$-IwkohmVrRZ)Xu(vf`Gj>~@S)kwz#< z)3@HspQk6CB)Neqn;#R|eEF;O*BW0N*uCan83hBBGY*2^|NT82jBKok6w1`e9LUOF z<-=a-SSx25$G@MRM#G^_(`k?k+hD2!QC2lZO5==$i!x@Lq51LGFGo3m5O{iMv8mPS zlvtrXKw780x3~V=8&Q_gCG%C2^S$jmCB`U(BuQRhUL2_VhkMU;h#c#`x+?U)w441y zkqIVZkY@At_V)DpD!G5HkRm7{CAB<$M7cgq)0dZ*-fK@A^Qm-ITDr=EP^`>VflcqN z_ur?##P;e+$*jh_0+||F$6|~CNs=V5y`JxTS2tI#Qn~cOrHb&g9HfV%SkmwJ|NHl^ zF-E3$580FL)iSt1d~1*$j$&o^K0q8rudlse9CGH4Bl9~@<|Z5jSRxXRgTGHtX_BZc z#ncqiYQAu0-HwMZrPTQ2A+T1)ij|%=6^~i;3bS`TO^ePE*I0^Z=|`foEgq zdasXXfRIA{abPeQyu9{Ood}3&Wu-Kn7O;fK5a~31dVcU@nk2GXoY|z{rF>E& zQyFi`tqWa)S_xC2qI4uSyQRg;gw3M$t3FadN!K8KyG-mVybcsU@D(*lcENI54o7C61&1U|>iX zDA*Llz5oFjwSV!+V@s!cI2ah6%Ay1Fj@VNB4TvUj5>7&;lmdX7>s3}s6p7+EjuTKh z&Q!a1Aw+4Cj7B5FtbkhetG1-2ptTOez%Wx8_EL9eRIx~`_4~(1F&)g(r|MRj#?0X) zP7~ua9n95Q-9^jWgJOwHq9}>uEY>!=#DNG37LmGDNz$53CP^A2yMf#5YIkQ~!6tO1 zuT|3;VU=l76vc7OGKY`dgq$6LB_xK;$H#bDt}PEH`i4BJbt{WvF>^GDwAL)MG%dU7 zg*yX_L?n%40vI;fO9a9s^VN=ONL8%Gain#cUCiylbaoZqjS0hv4N{Xli_SFYW15vA zPsOlfrqBarWaqL`KXqm-w+x(oT0i{|-2#Z>B-Q33SH>38-QmE%QjU|PiOs$@d)|s{ z9>~IR7bG#v`75vVe<%bYu9?m%t~*!wWYq^aN5JY_?_c)0<};jsTWvVh`EZz(xwM65 z*R9TOE3n)rK1&G#AWajKBsO1lA+r>1Y=hXV*f_BnlL zquh#aZJlyiJJgkZuI91xmC&Z6UD*SSHq1su&Cj=FV6Dj@2)K?TzR$K!e3l=8lwcJ} zmPIKrE5M~FD>P397x^Lw&2n+i3&pDuAO)FXmTOt&Hk%9YDOm*Z>TWUH+9`Qnzz`!F zKvueSvCqZ*n+{cGpO|W4g%T9Vvk>G;&?emqNgSEe&3YJCcS%f53;ZGJOGN-76h!`tqgA~3BS%K`r3T)EtMx&K^+BPrhW~CDa z1nX5mq-KSEWHW5gUNRN{r;z6(Bd;<&c}&Dp)lXKLwWPod3(`Fo^cQ5o`NfE$*}pQM zWMG;Xp68bpE4t0BA3Xc!T(`2+t<2+fi7JCc6c+enPGtn7h-FDrmW7$|^6D_eE9 zWF5l14k<-uuwn0Ox`nK$yS!<)OMTk3atoO+WhOK2(k&z}4lRp+#11PUGsY>a7Iyll z&$#XZh4&>DX(ndQ*n(iKcCu2=o#Rn!pT`fu))y2>=w(|+NIAGiWJHo>H_Ra>~_UtM7G67X{>NFqE@$`)!cds>b99leLJdA z1FLSEpz7;FNeiv^Q?J`WS`Dna)xfG-Exgz5jM^@x25Ml{ZD(wKGqAqYR2N*HYU|fY z>4Vds>ZE|RiKe>j_f});L{PQX_o*tvyUhDP)*;m2OQKe8%_jRY`%Eok)omFT*qb__ fHaFDmAnpGF`RZ;tZ=98M00000NkvXXu0mjf#X(-@ literal 0 HcmV?d00001 diff --git a/src/assets/images/backgrounds/chat-bg.svg b/src/assets/images/backgrounds/chat-bg.svg new file mode 100644 index 0000000..641e235 --- /dev/null +++ b/src/assets/images/backgrounds/chat-bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/banner/banner-1.jpg b/src/assets/images/banner/banner-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e38c209a0c0ca2317eb752ea85fc160a7cfc8d2f GIT binary patch literal 84564 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 jug)YGBaa(A3GL;Mf1zor8GH literal 0 HcmV?d00001 diff --git a/src/assets/images/banner/banner-10.jpg b/src/assets/images/banner/banner-10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99acc6f44aea2e382b5dc2d618fdc1205d6d688c GIT binary patch literal 130187 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

    + + + + + e.preventDefault()}> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + Permissions +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ModuleReadWriteCreateDelete
    Admin + + + + + + + +
    Staff + + + + + + + +
    Author + + + + + + + +
    Contributor + + + + + + + +
    User + + + + + + + +
    +
    + + + + Save Changes + + + Reset + + +
    + + + + ) +} +export default UserAccountTab diff --git a/src/views/apps/company/edit/Information.js b/src/views/apps/company/edit/Information.js new file mode 100644 index 0000000..34f0356 --- /dev/null +++ b/src/views/apps/company/edit/Information.js @@ -0,0 +1,260 @@ +// ** React Imports +import { useState } from 'react' + +// ** Third Party Components +import classnames from 'classnames' +import Cleave from 'cleave.js/react' +import Flatpickr from 'react-flatpickr' +import { User, MapPin } from 'react-feather' +import 'cleave.js/dist/addons/cleave-phone.us' +import { useForm, Controller } from 'react-hook-form' +import { Row, Col, Button, Label, FormGroup, Input, CustomInput, Form } from 'reactstrap' + +// ** Styles +import '@styles/react/libs/flatpickr/flatpickr.scss' + +const UserInfoTab = () => { + // ** State + const [data, setData] = useState(null) + + // ** React hook form vars + const { register, errors, handleSubmit, control, setValue, trigger } = useForm({ + defaultValues: { gender: 'gender-female', dob: null } + }) + return ( +
    { + trigger() + setData(data) + })} + > + + +

    + + Personal Information +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + return ( + setValue('gender', 'male')} + /> + ) + }} + /> + { + return ( + setValue('gender', 'female')} + /> + ) + }} + /> + + + + + + + + + + + + + +
    + + +

    + + Address +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + ) +} +export default UserInfoTab diff --git a/src/views/apps/company/edit/Social.js b/src/views/apps/company/edit/Social.js new file mode 100644 index 0000000..547ca62 --- /dev/null +++ b/src/views/apps/company/edit/Social.js @@ -0,0 +1,118 @@ +// ** Third Party Components +import { + Form, + FormGroup, + Label, + Input, + Row, + Col, + Button, + InputGroup, + InputGroupAddon, + InputGroupText +} from 'reactstrap' +import { Twitter, Facebook, Instagram, GitHub, Codepen, Slack } from 'react-feather' + +const UserSocialTab = () => { + return ( +
    e.preventDefault()}> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + ) +} +export default UserSocialTab diff --git a/src/views/apps/company/edit/index.js b/src/views/apps/company/edit/index.js new file mode 100644 index 0000000..7db3757 --- /dev/null +++ b/src/views/apps/company/edit/index.js @@ -0,0 +1,85 @@ +// ** React Imports +import { useState, useEffect } from 'react' +import { useParams, Link } from 'react-router-dom' + +// ** User Edit Components +import SocialTab from './Social' +import AccountTab from './Account' +import InfoTab from './Information' + +// ** Store & Actions +import { getUser } from '../store/action' +import { useSelector, useDispatch } from 'react-redux' + +// ** Third Party Components +import { User, Info, Share2 } from 'react-feather' +import { Card, CardBody, Row, Col, Nav, NavItem, NavLink, TabContent, TabPane, Alert } from 'reactstrap' + +// ** Styles +import '@styles/react/apps/app-users.scss' + +const UserEdit = () => { + // ** States & Vars + const [activeTab, setActiveTab] = useState('1'), + store = useSelector(state => state.users), + dispatch = useDispatch(), + { id } = useParams() + + // ** Function to toggle tabs + const toggle = tab => setActiveTab(tab) + + // ** Function to get user on mount + useEffect(() => { + dispatch(getUser(parseInt(id))) + }, [dispatch]) + + return store.selectedUser !== null && store.selectedUser !== undefined ? ( + + + + + + + + + + + + + + + + + + + + + ) : ( + +

    User not found

    +
    + User with id: {id} doesn't exist. Check list of all Users: Users List +
    +
    + ) +} +export default UserEdit diff --git a/src/views/apps/company/list/Sidebar.js b/src/views/apps/company/list/Sidebar.js new file mode 100644 index 0000000..a8d5414 --- /dev/null +++ b/src/views/apps/company/list/Sidebar.js @@ -0,0 +1,120 @@ +// ** React Import +import { useEffect, useState } from 'react' + +// ** Custom Components +import Sidebar from '@components/sidebar' + +// ** Utils +import { isObjEmpty, selectThemeColors } from '@utils' + +// ** Third Party Components +import classnames from 'classnames' +import { useForm } from 'react-hook-form' +import Select, { components } from 'react-select' +import { Button, FormGroup, Label, FormText, Form, Input } from 'reactstrap' + +// ** Store & Actions +import { addUser } from '../store/action' +import { useDispatch } from 'react-redux' + +const SidebarNewUsers = ({ open, toggleSidebar }) => { + // ** States + const [role, setRole] = useState('subscriber') + const [plan, setPlan] = useState('basic') + + // ** Store Vars + const dispatch = useDispatch() + const handleTag = tag => { + dispatch(getTasks({ ...params, tag })) + } + // ** Vars + const { register, errors, handleSubmit } = useForm() + + + // ** Users + const [title, setTitle] = useState(''), + [tags, setTags] = useState([]) + + + // ** Tag Select Options + const tagOptions = [ + { value: 'team', label: 'Team' }, + { value: 'low', label: 'Low' }, + { value: 'medium', label: 'Medium' }, + { value: 'high', label: 'High' }, + { value: 'update', label: 'Update' } + ] + + // ** Function to handle form submit + const onSubmit = values => { + if (isObjEmpty(errors)) { + toggleSidebar() + dispatch( + addUser({ + fullName: values['full-name'], + company: values.company, + role, + username: values.username, + country: values.country, + contact: values.contact, + email: values.email, + currentPlan: plan, + status: 'active', + avatar: '' + }) + ) + } + } + + return ( + +
    + + + + + + + handleFilter(e.target.value)} /> +
    + + Add New User + + + +
    + ) +} + +const UsersList = () => { + // ** Store Vars + const dispatch = useDispatch() + const store = useSelector(state => state.users) + + // ** States + const [searchTerm, setSearchTerm] = useState('') + const [currentPage, setCurrentPage] = useState(1) + const [rowsPerPage, setRowsPerPage] = useState(10) + const [sidebarOpen, setSidebarOpen] = useState(false) + const [currentRole, setCurrentRole] = useState({ value: '', label: 'Select Role' }) + const [currentPlan, setCurrentPlan] = useState({ value: '', label: 'Select Plan' }) + const [currentStatus, setCurrentStatus] = useState({ value: '', label: 'Select Status', number: 0 }) + + // ** Function to toggle sidebar + const toggleSidebar = () => setSidebarOpen(!sidebarOpen) + + // ** Get data on mount + useEffect(() => { + dispatch(getAllData()) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: searchTerm + }) + ) + }, [dispatch, store.data.length]) + + // ** User filter options + const roleOptions = [ + { value: '', label: 'Select Role' }, + { value: 'admin', label: 'Admin' }, + { value: 'author', label: 'Author' }, + { value: 'editor', label: 'Editor' }, + { value: 'maintainer', label: 'Maintainer' }, + { value: 'subscriber', label: 'Subscriber' } + ] + + const planOptions = [ + { value: '', label: 'Select Plan' }, + { value: 'basic', label: 'Basic' }, + { value: 'company', label: 'Company' }, + { value: 'enterprise', label: 'Enterprise' }, + { value: 'team', label: 'Team' } + ] + + const statusOptions = [ + { value: '', label: 'Select Status', number: 0 }, + { value: 'pending', label: 'Pending', number: 1 }, + { value: 'active', label: 'Active', number: 2 }, + { value: 'inactive', label: 'Inactive', number: 3 } + ] + + // ** Function in get data on page change + const handlePagination = page => { + dispatch( + getData({ + page: page.selected + 1, + perPage: rowsPerPage, + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: searchTerm + }) + ) + setCurrentPage(page.selected + 1) + } + + // ** Function in get data on rows per page + const handlePerPage = e => { + const value = parseInt(e.currentTarget.value) + dispatch( + getData({ + page: currentPage, + perPage: value, + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: searchTerm + }) + ) + setRowsPerPage(value) + } + + // ** Function in get data on search query change + const handleFilter = val => { + setSearchTerm(val) + dispatch( + getData({ + page: currentPage, + perPage: rowsPerPage, + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: val + }) + ) + } + + // ** Custom Pagination + const CustomPagination = () => { + const count = Number(Math.ceil(store.total / rowsPerPage)) + + return ( + handlePagination(page)} + pageClassName={'page-item'} + nextLinkClassName={'page-link'} + nextClassName={'page-item next'} + previousClassName={'page-item prev'} + previousLinkClassName={'page-link'} + pageLinkClassName={'page-link'} + containerClassName={'pagination react-paginate justify-content-end my-2 pr-1'} + /> + ) + } + + // ** Table data to render + const dataToRender = () => { + const filters = { + role: currentRole.value, + currentPlan: currentPlan.value, + status: currentStatus.value, + q: searchTerm + } + + const isFiltered = Object.keys(filters).some(function (k) { + return filters[k].length > 0 + }) + + if (store.data.length > 0) { + return store.data + } else if (store.data.length === 0 && isFiltered) { + return [] + } else { + return store.allData.slice(0, rowsPerPage) + } + } + + return ( + + + + Search Filter + + + + + + + + + + + + +

    pbc)3Ac_0U3Y~NK%Az8w4h7yC9w1S(7VM$WSNx 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 T5l0h?&i6PN+!y;ai{-xo5r~;7 literal 0 HcmV?d00001 diff --git a/src/@core/assets/fonts/feather/fonts/feather.woff b/src/@core/assets/fonts/feather/fonts/feather.woff new file mode 100644 index 0000000000000000000000000000000000000000..9b03a72a0145306a5b3f61434109b27b7bc223d4 GIT binary patch literal 29500 zcmY(Kb97`)wDyCE?FlEgZQHhO+jwJpV%zE1nb@{%c9NO+_WkZ(U#+!Q*WSN+&U0$@ zT6Io!pW~$@DG3G+25N5nUP#>5J$ z@q==4P-tpl%ZZsem^g!K!C+v}$Y5Zo+C=Wk4p#O)mSA8oNnl{cOkiM>xt;N&{MHsG z=3rn}10Wp>C^*p+w#KbNMNsVtl#_sh9A@`Nu(gA`HyD`pPf%_R2KGZ*n&=zL-pLF! z&N>(j41)51qXgTr(!s`_7ILk9+iC_dL=#^If7W^8V3yl0fysfvS?`7M26>5R3Y1 zKM8))8rrgOeK;9MnHbJCLQqe`ra*#iR3bch=Z>sByAfLalzITj2-u_?H-1cMi6_U;CPOH09qfn`)OSQx?dDXnU z*SS0N?-g0-cRJF|Ra={gvROVJy9yNDZhhssw%7SDel4v&)+U@(W8__^2KM9cT!<+7 zF60Qx52neFEXxnI$d5fu3md&H6o4a|qlV%BQI25AMT;}XEWsU$JMoyFrk|d)pPnU{ zp3tA3;h&!JpPqxD9~Y&cCXKUD!8UWrFqX+MwaGBi$uJ|B0zl9;qtgN4Ynt(D0MK^L z*meNqt7f7r062a#8a@Cnrx`Z~0HxQAr3XOTY9`zQK=L(X@Bt9IoAJAWNPdk}M;ozl z*E53GQ{pdXLCE{U$cM(r2g=At&I$X{35V7R2igfo-irI;iihTk2kMGP?z8*yvxoMx z2l}%|{*3#gjEAO-2da!muJ!w}^@q0g2fFn~zK;8nj)#_x2bzvYp11pow}+0m2Zpyt zfkgWvM299s2P#BIF8TX1`G+?72RivjK8E`ehKCl02O5S)9=rPryN3?DCg^vMM0Y^& zUyo?NfN%wmxCLrU_fSTUSVlmGy$1oIdorO1w*Gs%{s+FGd#a!Zu5aef;_B**>efqT zkJ`;@MUAs+xs}#SO^*g&b%7c~jk{_kpV*d%{s8swy@IbhslP8wsXfx^kBX{3(H=(W zI>omY(>6OsSu4K5tV7Sj77$k=v`bO~+7`%Fk(Kh~&&n2US0=P-vI6=(9?!7p6Jg8F!EtC3ci7Hvnm$(|1dA^kCRTcR<7GG6XDm-wNRvJ7Ql~!szgq2oWJXDou z$~-KUXX-qBm1pQSobA#8AMxxNx%XGlXz7okXPnf6MxI2S-hi94z!AW;*%=f>m>c01))CaegyG11M0;)(&Rv#*r#ss(!Da$Peu^x zlNNk8jBs8_llU;J$cq@qj?Iq)v#$xo?t@168h z5cT43k#v8e_*($|;vGhEU_s2&yL{>18R@5Oa$vl4KNE<6YwcTk z&BQLC!HJt~NXv($;FNw7QJy%NFUA%=IV#3hHhC+?mOhCs&el39D9#o?X(`TDH<=*L zmPg&2eUUCcgIK*-+fdDZRY5!RRwD}luU@n-Y}VljQ!m>v*0A9e*T_cFNVgmUrOu#K zR3kfHJ>9Ydlv;yQNsWRa@RY9)(ACU4w-EvbW zg>fmXZOLL&^diF@a#J(}TNjghKBJ7r?y5uvAdXEnhIb zqBt1gQqRAk6IgJU>z10MBdfA!6p`aLw=?^g=k(o2mPKLnQSpd#+<2U7DeYETwx}xu zAqRcvxCqhYZiF)-Ol*n#--jblp7dC4w0C9?s;En>(0b~PTsXaEEX+1)_^!4R=Z?hU z{2rGywy;to6!GG6$6${A%Vc{PS#H8^Z5?T%a3ROSHSYDY<}BXh-@1P})FIq&V`M#n#kKbOWvT$`~e+2n)4;7^&sF zN0YRwlm)GELI>I1a`bx%{D68$b5E-f14Odov?Hg>y&9$DO{$V%A_bE zjkwzKW+Xhfh%y(x2^h-^AMPYwYQ0AgU&;L|nP-CyFmRU^Mw(BxuP?~gju8qUEcjA? zhhfUC==zdU`5G&;MTuGzGRF*>Z)k-4Z)+$RX0iHnNa>--f2Wr=s87}XEl)9Myn7lHK#xMRIA4!}4tvM_wC_wck`rFD~yS zdg-Ai&jEB0^Risd#*e}L+{BDGRU2Kq^aB}-de>)%YmM7N8{pq7B?~R~YJmZKse?bN zJecu+eBL@=gx-2GPK+jYQfOPHRcOdg&b?r0ene1fFD4FmNps>f{}5{ukv0n}FHr9o z;tRU)XS!A)VG&Zfke`+d?vjOzoDhl}QoLcbXj>FK+3s6Hk8M>aibqBn20uiIEXfjv z8JGs!IQ^>?ShPR?pL5b>g(mBP2xD@}aSEv_x)ru*i$Y*u{+nv&PyFtm3BL)3G{&y# zMtx;c*KsgO7ycUR4wh(HN{PK9$ER-yh!+D-ydt*9%4~nNpbNyeL`v0gwAie4PD>js z7LuQ!8whJjX0$UdhtHa6AsQ`N z(=VX=$8BD@0+agszb3yg+Z(=_hnm(q^&>6Qf#e{RBPs27-if7_0EZNF7;-rt_;`b1 z)6*%w;QR5-q43)$#l1My}(dZePlHf?${CQMxW^l`}S;~1%P*=8s)BY-XP34_6E}m;)musY zZ(Mo`Qhdw6Wn>rsE}pDq&OA$!7$?`JLEmHON48|riur1G9lt?`Xhv=)jV2tmBuy{O z`Eu=pEup~rJ0dS(=mG}cH%hMGv+6l^cI>(|Z;8#vCSNuHQkHX+ZycMPdBNufg-+yb zO`Tb@9(rq@DTHKnUiQHobXH43GR+GwLgHKfVz#Aeg$9>}^Qk4D+VU!#5?ED%n=kf` zsG==JgJ3tIBbO15<0I!hH#S@{+G4$(%A9MNioy-{aQ^~Gcn4%+=D-aFKGJv9yo2c?!4ajvH$4T_5sE!&2ani)kSW5uIKVJ z_Z`gAwO?xkxe&~K))Ys8$u;n24SfzId>fDJhdp~e_WKL|P1-%cSi4z6US>v-u`UKV zlY^3Z6T`N+-C*K@gFVjBQ=}Q@q!<_68z-L{{Ptd@B?1 zFXYdHm)=Oly!DL=z&}8Db&~?ybfuqC*O|gd|0oI)c>k?M2D@%~sF9Wz#G9O|yV1D# zyJ+_*GpfqxC3RiId4L-j^5`34*D#$!Pp;}RVDcUNuj*$!cH7ADTkR8?%$^pBKW6>y z|IRWuwFVM6|M)Y@6fl8{%)KwY#Ui!tQtNP_AosGvIMseH(Z zuym^)>Ntg^rM)cz1-+-^)KnWprAkcoaw9-8MfGyaC$eQ-^@zcm&Mm5%{fLEt+UC2$ zPRcQ=GXJ71KYHcP80JPeUqji*Sh@%u%gd9>bjgoJ$bAzpnjDW2*24Apir8R9j}uCQ z%K%ovryZLng}=nAJi9c>+CYx$)WHg^DkzG^(f}dL@v5I7B(l|?XxePDc}sisTT$f$ z3lU1eUAP1@oBrkkbHZW^trP0QQF?(y5%5~bp*d8T%1SCvoVe`|+zLZ*?PdZ83Q95W zXE-G2wFGrM+~3Er6+JIV^@(EN^-^c_x?SAomS^Cv<#rx*r=1khqw?#lV_WAr39N!5zTNs`e5=hSK=1D%!{gu1m;{QCUQ6E9qSJfXv zq~zte&M*HPpVLTf8YvAa72IoCLH#75|8e^_x0phHO7{A-y_6$I{+~9IAX;+d(Y!<4 zs28h3+PwWPt7iCg6PiaG@HCg13~JX#Oc`P5GZdHbIEXulO~&2elJ%Mrf8ylsP`?N2 zY96y#d8F+Sep|m%*My-(Jh!yk{U^F0uXWK}_i}m)1eK3TD!CRRsL=ye?2zWRlC%*E zs;5v+-EJ@_7ZH4>eXo0E+o;znc1E5*;3rV<;*8G95TRD~)}yTt#WE>Qg>HOOx|9xu zZaML)EWb>=Nw6ZKRurstZY$h75vUQ{3!lVYn2*lUn`*O)lQ6?gxgcCn`lpZwMQESc zLczF@w_S~Y;vY(^!ul6)qa_@__tSeF!RItUGq2R7` z40;#;O2iSsQ#zBsmik0&z_IEuPwMswL{ES0sbVsio$*6G`8f5!t?pHRUO;e_Vd#z$ zdi7rXl{#6d-1{!4yIp0?{kc{2mxFAsN}8prKvY^tN*z3wBLjX!H9(sAjYk8H*y2G6 z3bT1w=En~itx9*-mJ+fB$VWLU#U64orD8EXxrzlTs{R>E;H;70o*kfdgjnsgw2YsR z}i%YAXredTq#GZKWOpk@`hpY#kZ9C=+D1mOMv7U9SrReUURRd$h<`xI~^0U z1G)JTDxBu7y=~;`Po@^G@3z<)5_@Z!WqRO%_RV*<)ems?BsVwlCxRZ!Ks4a0PNUjN@ z-P_-d$@Mm<;iVG1htQs-^GW$N7kPzE&(kp3^#9HLquIAn52S3FhmB%F73Y|wM3qUs z4}uRXvHkIg`-3M0CipN!a`TO7`QL)XHRa9#biB>oxj!;#nAKp`Oj%V@BH?+w2PB27 z%Dswz^lzdy$QyWCxF!1wV=5Uq&1Q-A=0mJ2QdfMVK+b0Si4rl$Q=iO!rTBRZ_dBfu z2M&r9zJ#t&3dWW96oYuLgbvXodD0K8%1t05S*>`QR=M4nS8fTko`rY5&B1($9Am|Q z!JgMOK?S?X^1lxlndW1raB*HldV&fP51|9%<0mQL=~y=Ju*RFz(0)9paXZ(1mqp)w`FGRjiyxS7P`<4Z-*dQII%E{msA(hfS?<^iOoE zF(wp`qy(*1_?=eHUex*afkc+F`NuOcZn>hHt;7v8#(JW82db=(m=hY0+}H0UsL_5p z9BTTmQtrnLf-tCMf30EIA7AJY*{3l{&OO;hy7f7K(Obi3=RgSY;Fp>TMOyyr@66H&_Kqe&PNGbc3Q5a#MB` zBQ$qJ8aR}#0u$h^$FAwtxVN&5>QXzK^<#H{tvfx<#Wo@92Rf#qA&Q%%DJQfWIyK$Q zqMNI7eZ*PLB@G>@dMVukaN10YX$-0Y__8KrI%Qm{nFoT@VmtjuJmlI?5tD1V`PRpR z1Fc-}O6iZkv+1(1rAf_?Hx4kcJdN?cko564Zbm#d2ZcT2`X;&?AZY?&emVRs>3{DL zuA#GVb-rqYZ1y+aS`EWL=a^M9msxRpCga@y7x(`+w;_SW|$DxXGUxY2H9q>>!duEZ70az8TzIWW+a_7 z{bjPNwgvrp*j;5;+A-}T4Vn$QxL%_nMsEtE&pVtt{UIoC9g07JE!6C#ezVv~lN&4g{pDj0TztcSNV2rYg`7I8W^ z0dF0`(!Er4Eot~)Qu-pT4aSLfiL@jP8hC}8BW$yqC=b1-;s$`ATEWz`3NAcHX!@7)#QhBZmW~vBf<(=4-O~Y z8-ICv|LH7VyK3e1o9od|4~Wj75=bOe@A2Hga^3}IqbNT*$HSfeY@HP~k{ezeXY((o z;b`p`zJZo!9D7Zz{?q?k07ZDYuw?$3ggmCWsb0c_?A!O*;Mj)t$S;ebusU8Oq#J)6 z@(@ZCQpD(km#4w-q_{?8xLX-!Q<&vi90?&ek_%pjU=KKeS&g~SjyTciC7<$UR6u>z zFL+SK(VIB^mS(=#tIZ;obVEv%q~>1z+9_yGha^{dEt>tY?Ix{gP%9cY=r)R_VVPL~ zxeCUQd!U0LMkcBUNciDf`awxN4HT+8II5Sc+=bwV^;If z0;N?Aup8zNlNj*Y2GxABP8v!xSFABJ4!^yYj6StZprS=*&4cJT7g@mZ3+pI_ym`2& zsO72+WopsI$o4f)$cCHgXIj*3IX?^5A69<{JJWb8R#8J7cJw>^Omu;?)bs~W|2Xui z6!7HJL2Jn17alMHn8#P&Er%r6R{*tyks{sE1*QxFgDcY#sUEo%2e;VNX)HK>O{pJa}lY}zp1`jg=MLx{yy+kk7y^@;gr z=7mF#e#rQ$;E-iS=znV+qG&R@;+=hm@X36R@_z}HxF0xoSo8Rxtz%t zkfCW!!RlSr`r-<(Yb?c@j)Gb2kiL2nUeU}6oys`WO>GTBO`u?IpG0$z*sG1L>%E)OA@xiC;UnMtFb8?F&)mIDN7N}^zLCRDhL-Pl9UO! z=9P`ApGWY%1|;&|`PH_Oc9A2I-!?C`BWFIQA{zmcO8l?;^+2I*Yxqt;*cKiDh==Kw z)8&$f$L*=;d}{SL{S|?J?^I23!=wCKmU}Dul zxxTM#eA~~5P2b0|yZmz4+LhY%N}K%sZ04KcD0FV6pP`dUV8dhHLYMm`om~7A!yyf2 z^}K+CG-*v%KQXbFJ&kFRyZ={K-`%yAhsztM*1=2LSRJy-n7>TO<@pO= zFOvoi6QJdI&BL?Ov8=9$r+TO3Y%pUy+kwbW>?1uoyVV6gw;YYku!RsJXveW_1ZSYUhjg8oA+kN0e3RvPCpiVwdK; zP?II9*i`wJv+QX$mrdDXVyLhu)156V+fGPjbs?plLJl)!GO)7hPg8tDiVSx^kqO*c zn{Rjf7G__0zhkGbQ>Q4mvHd2M8{2b2hMRSghJ{_%@Rp_|Iln2}@L;+hgd{jWYGI5v zT=r87_#2OeJa4yo{HN~op03li1bqhB_~kq8;ZsW}GkfA?YXGG_?v9%C8xwL+7ydSx z?pf}g?%K4nV=jG)`0!T(GPNF77hQmPnpxM14rnhdDE3JCdNvw%A@@G;?6c~aidN_u z6boB^--Z1ORrdQ^!U)$5=egep8*xSSXEUJh|9R_*&=mpd>uiq4uYJPTIdTi32KmOZ zrFB$)^(ny0DL|;_PWxmjt_bDG#45hsNTcS{rq0u9#>!fwZq)`APTu3G5zfR`H^!Qf zl+~7~OL{g^H#)iX`uZX*PiH2>3SdF&CQCac4nVPn!I-^uOFTEI3B?R}PwHS}4upT9* za#ge!pcx0cCykv>j>sbLC=prMS5RAw`RKxnuJjgK!qMCVM`zPgydPVL`O~Eg;F=Ql zxyO}%5lZd@&qOvPEX@px;5YnBD$i{J~$**y&Ri44KjuuVlwY4y}cMo zUjlvuyi|(_H|2W%`am|~KC{M{crmMJq>5jNKV_i+KektDFtLOGEg+yuiwgMeL1>Bb z$C80p#=iq+Ov#CLmMpyr$!%z}2<1OUR3z}9mgECe@c69h%%r}PNg}NksVBcDan9$_ z4p7T3!mNTZvS#OMZB8p15KN5zp|F&ZpFo!9lPnnRG{uV|ZmO5(lEt@SjV18`mCp%l z3do?_nQ@lJ1k11-3ihMNWcATpA3(yW-v%(C|xpl z3L+(}!O^m)Z+8N(uf0=ZjjRL%D2Ej3Yc=?(7hSODUrrU@HSeWJyK+@S{S$rb`ftU# z&K}iXrC&oBP1Aas{UryNa3;9JEcaUyF|b56KJph=T2XymkF|=oee~i4gb~WN&bm&w zY)rN~lQX^^TM8Y^RF`#hW-C40Obu-~ji5ZQEd!m~yJhFg^JfOwF_w$I=js!6a^Nju=ik4v3BC3rcD9 zWhMdzH#p9C-U0-lKU=Uk?sy=bNP4mo0$2S65(b{TP;!e7moU~5Sa0%tNAlsO!|%U2 z?zwL&4qaRgO6QCdQ4Iqs4qXKWH*)UO5ogx}pY%t(F7t}5$NlY*I?r|zPWQ&Rt>R6f$(1PwsIbiSx* z-PwN6XaMA4Xyv+GCm?;w6he9`Qq~3y=(%d?&D-y>(PwnLbEWTUV5GH zJR?FVNio|!6)&E0fE(tYdi$fmg%w(*cQH<-un%R|k!6mAWiJK|q6ps-0#-S_>|O!Hffu zuRsL3K^%LQJbk4|InYa}?ef%duT_fVkv@O_;E%@%i~StFyzTAFzVc zZRO$UJ%$zet^K4PI5eAw|ER?9wwke5`@PU7R}a~7n-U+rgw3ge|eM*el+}B@3rhR_l#xt0Fy$_06j3B%vyOh2}nGSlf^Zp5mU4=xmqk z=rsB48jai=UyV)Wn84;Q1j)@Mub#oC;c!039r2~pJ0mk?1V18I;x66V6H25GKi>p3 zH&+d>?igH8qZ1?v^DggijXz5e08iL(t`@VvnP7%qaqcHtGh7+$3?;g))`cm17n`Ba z$Z({ZC7}+^%dA^62*A(iLyVwSOE@e`Z@gg7~PDgah5k62@PaWBw5DY@^d- zkR;~dICGgPGMaQS{apsbRuZ;@iJh?^svPW&+zRjF?uA_5d7GU=)iW+osPY;1omKJY zZzkm#eb9a?3jMG1Yl4A4&Ea`%ZZ`+=-(5I;-+#KkS^LC@{JI zZPO8)5)0GW02L)1T`!LTgqsZq+;}FL{c8UL zEc==N+(t5Bx^Hqi3BGe#*$I_P2hL5)G3ntr+|2KO2@pt;m-eQtJxJp?tRa^Bi1`Vg zJ=I2oF_6^cfS*1`GG`c1#k+c(uY`=VK!TrQuh*D5DC*BWi>mYm6wKOULZZ3BNF4i| zMh&f$B+V_cAp0R;mSFway$Si;bygx(dVE(zy?ywd_$uef#04)FApnm~xJv35yx4$9 zhlwFj2!ygOP@!qhPw~~>4j=Rb*MPxvn>Z)LX2!Gkj~k0-sgE#sFOO1@fnRu)yL&En zSv0Psxtx#V&v0gXQ6-x5yL+d;DP`AK@sSQSBuzJsM>BV3bkBq9@@<#x?%W=`Zw(jY zczbjsM&;&b(5FS~u5e)}J<2V&^xF_^{M{Lpt`M+y{cNnfE4;DL)*ECYDvGh(hLVtzpo2;YfO}%AYHqIl67`r*H>B|@z z$Mk5ehtc^%0M{6%b&Qr_ekJ`*`LOQv>~)>pN7d8(Ksh0pTUXsz;~L{u3LE%pgRcK+ z@?OUg$p(jiIa9hJtJ9LAvOL3$VQRqV<%rcZR~2JfT@4^45Gt*0#)=7~VBxBtQzwV1DiO~rOb6B>!B#>Onro0nK&!+9<>}KA;_{|X8X=WG$#VLNF`5N zh}DM!T;|?H>!t;$d0hAj=T}(u<Cg+#tK^>UzN`?#?uf~KAwwS2kgLT$$*8eowqBW8 z$jPOig5Rx`9k-W}D;S6&nwxa_-@nn5&ZW?DRxa13PA<$n$lIKMp|ncTf<=O9z5!kR zrS)Lt_SfV>Y?I!ZwhKwREa$p#PHT~38Df*N=GNTp{NbrTt>$~*-HG1x9{*b7L;Uoy ztM~_gvn?>LU1-^Yj~0PAh`os{TUt~pV8_M-8KbWZp_r=Rhi&;oGOylAw4`J|SdtsY zvFv>4ruc;t4OC2W;J}FsJUX7w#@X6`T`e526UFk zaas@T|B;}=RTc6^&FvM-jM4&LIDx}!N(U^hz7{#OI!KQlS~1cNrk`svCxS(BqGcjD zh4kB7P%_IDh@puX{0AHYGW=S#z%zZHhKk2_in(5`*({Viw^KbE6~A=Nj9TF5OOd_j z_-rDEg@?C25TnMlfZusPwMj#1AgIpQl#O8lIHP1;rhvj^^mShj@r~xm!+7-5j3;6q z`3l1q5WL^wb1kWmS?;#?A&54Iwshp=P3R?f6s%91$+k_VK`(fS#UalZ@iF@+8f)`b z21Vv1G;k$WtECAJ3kw^%n912?>OVZ_Sfk7!3ac7Uh*2Q~I`dz#zNXi(o0C3CMc}EGGlhx-dpb)KhVGV$6-Q!l+*2j&i?v|j#YjC@>G5*7txb0Y* z#0$JvPi5cuKEtq(&ug$3p=B(tIepT;Bn9QSS`ZTcyo-dm z3Ct;ZJ>Rvd@JzU}dN!79Z_RC(@MD_UlB{m@V@wyVlRh3Hh0A&47R@X2`8m#H$fO=- zK`$)wjZmvZ+8!oBttO_6^O3}>gb#jr;?+WZswiSI_UNT%{Yl}yf&}wuWf?k6YgEDY7r!U;bJBQxj&)mwzYyt8A@lnd(32F5wS1n(h%y8PFW~20TyrO7(^~$)wt>d z^b1PC!YQ!g&n|YiR%>-k&|bv2tTwzys{_R1++PO%;~{rCJMlwPrA>Rh>QF2lkQ z48OhrN&DtBXT#P0S2?T!li>)9TjOB+Q(IYI#9$V3=A3yO2d9CL@WaN8XJVxCA(J1n zem@K9b(FX+J*89e2qKY^H}j5Z0wvylLcPL7!Utjj)U*PPh5|>{;9*YkowVa^-_h47 zE@2|^pFn%h90AOiV7nj|o^5j!I)Q*@xALK5U={&eo~uzJdK(uqRpPZ5x)Qbh-)Tg_ z38I`V+a9A~)crT{{x)39Aw<<_9;qbgyoq~_oz4qpviX0D1Gx)Vr2ZhZ<>d2QXs;On)MHD~-glO>@Pr+y^j;vKO?5quwl&9dNymC0QGPCaYI| zm3v~ARq7kQsGy&bw=QVgnhG7=x^cENr3`n|aOuXnX-^Zs1uj~sZk_>ej&`@=V0`qy z`g+pqr@&5{SvD!~S=l1~*o)wJ!jF=;Q8|AjxiM#&lScb2zBXhHg%&ffK`|tj(HV2p zuI8_Jam{|r5I~6G~=~)lv`d&AU(V1yl>E$@Y8Md^x z^3?4GN7_i#5IQxtn}$CT0mIIHh4q^rFV0|mZUoL?UOhSHpswrx0$YFjOQJ8@PwFv= z$J@{Bl3g2{r;Jp@cF05(mFdruery81wu=H)5|;o!*?MpX_e-&95pe=dr|962c9ZJ97bANTHf%c8MKt%p&AAo5yhApNYW|j(?&EV#6Lx3MWRQG zd=65`p$z66dSoFWKkp3hY5MGme>v8%;AJkI!5puh0I7#_qd9TZ8{kU1nAcgMH-`@W zy?+?i-_in@*+zY%+(f4f!N*Mb_WJ!Ko2WMWj?NX_G~tl8s=xH!P6w_{kD6Cv!)Co> zHy*aS-Zfb{CMNszsJ100r28527-u^#&S%B_=4gxH4S4W<-yAQPI5~CERoZ!e0txE+ zQEtFeovLG(Y*Q>v)MGpGa;CsF61OapCI!y3Gzwmi@G;7hK7JaZnZdfQ3^`OX4l9!` zvl9JcE*+V;N+Gg^?ckOkbo_BwgU6R(h1h6q)zUERitW6;C36x^;J{JOG$i|=pq7CF z+a^5_pq56g^fOiepom;8^P7c?pM;MROPXOQj8jk}xv)HUxB9dEt6k8rK5JI2Kgz|N zBtg=T5pb`IwCI>k+N>`xElf-*!lJ#fx4Sa#jET)_tI}d?jtTF-BG%b~qH@(os!Z~? zn-mt^(&V7=#efoF`Z0powMv*-ZBS1Bp9X_*iFRuT^L08OR*&!m7&XWEYk|#y1neCw zS*}r$GcfX^Xyly9=80pMIL~RCLitVxk>vIyeug6>b%kE{t8ha(f?#eugb*uRD+CRZ zhu0S7W)JyLmVZBi|3QA!Bkoe~3$8BL0zTm(Nm20`Lo<)b` zJKYLZ3p9V%!-v`3CNf&De-ar6Sz@$HAI-F{YJ(yRLIs3$^SxNQl1)%_-D$R@L|gV} zz3ku#*AR#D@~sOeZ>yg>Ht4ymKhkBricrCi?%%KLGBwYoZH65iaZnn24Po-DaDw(Bic!y!j{ImEg(xDO}5Px0E{xbhPQz9>w znns0J%K9hSXpa2}<_!W3Isbsn_Ys&R!o4zYCVhTH#3rMTokl^o_#<#@%$Je_;VGXDZr%O|NpqrX|nN>1)>5jhq^M_xxq+XUhrto7Ma6Z*{g=cg1@lM%GF$ z{rKZeIkS$63rT@GUox9T>^2{dvmp*Y8R-#a&&1#Ax9bLa-WW0ZB0b(W4UL3boDk*{ z^9+_nHobv4tm>|QhJ@RX59gvwovydsZob2pu?Dz$!>%v=sI6(9N70v&&zxD`Jf7Kl zL-&VBgsmYIe=Q#KwvmJFXF09+dcQwJcOCD!D{=ytV|RN29OSb}GrLK^Jt26uRr9pR zu)&*RhX%O(4y3J!w%xDl4!e^LWLtjL4$K6XEZXI8A7tCyrt-dO^`#+=K4-w(o@iXw zK`G6ey{gyW`J+|b-{-b^rTCgVwbL2(E;FKN3~(L8)H%wQ3wvF?o!5&vRSHIJx(z0+ zmcL_gyBCQcss8_rT+>xe)H34xZVAdJQ zU@hYiiSjI0xVHD3#05s1e!t8JvT#DvDcp=R+PoR}E4G=1d?y!qX1|bJH1{I;N zPH*^y!eRH;*eY-*O!FfTjpHgOHu&-D04w{KiNkE*WTa{CHc zJI%x+W6qg=NPZnIBs@*8v>fOPVyZ(RQFd3iv>ZmZ$VoJ3JO4x4DRD5>*EIFr(B+hs ztVk($fW|#fV?4WxyV{t3@_>p#F;FE-^;s?K|IuDujrh0Br;G1YKKl{sUs)jI&yq+V zX)j(DR{T+13X0jtrXwnJ0qgt7{9i6a39;sgL8jc^@j2Y4X%~~a(fweL*K1G$aCQH^ zMiUpDFUa~ZB0T;yrkG>%Z~R>%S5pR)8g!>@7OEl+X{Zu58f60tXuRmmd?PT1w~TD%X|XYE}GV#S7`vlCt2pJajcCpO-)`4pXKq0DTV zIaGZmnDpuHKyRmIOJ@oih5-~U_hCl9Qg(jd{r#z|8>3J?|L@l)HmCIolziK0@6*mq z#-Oj-ae8jQ6P$J{LqYHT1?ZD`i>8D!rO)8?J@3Kgecj3Q?uR$e8yE@6d!B=Gwoxl zwLLU1JMU!NND+W=)kCzDJA`S}rTWBpzYBKs=(N02>i$_ltpO$WtH33?h zYb}Eaxy;Sh$FX6dc4CHS;kw&Y=FDl_ji%d}@(hJ$?wSI#1OG_)nl%=!TuwUno_Hs3 zEi4S$T;^l%iq(lo9hLP?v*JcB1{5gE{1k=o{=tExJuhTb50trvK#7uuX8dam+py7i z8m9yIJ;07BAwdH#+J(_qR#9tAQg?Pi^3{sxtntfK@RLuej|8CM@0zv+SL6KQ`>YY# zqZHWY3g}R;fhg;P;&4Hoyv8ux_zel~Vn8+G4$ziw8!sJYcj@3w-LUoKFofxnB;P8i z#VY#m!s=fw_TZW@xe+F!Mz%WUEk>zkSL>rLlJqE^sHTOeLn40(t!25P43`Cm~OhVB&aO{WT};l=7%xcv%!?UmLsJ|Kix$xZd`_YZ`Gl z)aQQp%sCbSJC5RRFkDZPW}y<9exFCqHWw?{i70yrW&v=0UzcA;I;Rw(m!8!g_^CRV zYph7BGCcaJr%S4~S}4qjL{H0NvcXg$>B9Y9pDl_6rAo)ewP*OHWrS#sJ-$)Yp^vFn z8hOeJ1V#H3JClyK`?~~>oC$TYEjz26`Ihv%XiKQEl0uWv$@5d}(TH$3+S|`Iw+;vc zM;j^`44qN~nL%OJx;0H~UT%$KyYA>id;}e%75IMY3fl(y(F3IU}PabxN_6 z^|>IuAf6O)%rJ=fE@OVjd88;JPOr5Ip+FY}I20%1hGenQF!(nujOR$c3vZJi=HSXL z&FL#?Zzv4cOb{Pn$*X5hg=F%4hMTI1|a6 zfv5D-@Awgsxh8(I3)hoD#tAFO#Cihv~b3^Se?!3zy`G_!D2I8i?_z% zB|98ka^nnhqcEs^D)ikH=yqS?3C{MF6Xmv@xV#;e1#C8RJ3zj*=t%hvb7T0h zrQ>8%uespXE0>(kOj}rF)V_b4Mit;^x*He-U?SYh_n!2Bp-$0(US*iHNI=b4bOJ{S zw29MTe6verJ=2JB&vh!~z88g_;U{DNOpGV}`+*b{qHu*%LQjLMCj5}BMA5muq(`Vw zUw{KlQXI}2$;7R{KHp_3M++nwu=UwpA@^O{hp~Rl1A1B25n$3lWY%weB$~$0jXJWo zGS2Uo8iYr+S4Kn&m~(Cc#xpFM>@>Gxct*;3ZfIQ?3(le>>W(kq@L)RTEiDkNU+oj3 z)`vL=9ymi&NsGfxPcvU;^iI=U`cTVsT>6S9Bf7N4_8R}25o!+C$sO!;PyS&= z%({Ku^kz03&^)kOu7B9eJm4O-OqoYwAR(nk)!pU0p#^jN_ziBJ%6jz9EkWd$chz>T zEDQq!Ec%8Vs8Y~S{JK0I%+K$ers`^gOn~M=G z#RLNf@wrhOpxbfRAi@Le-W53l#Co7xz2g4R}ltozM zOf$)90Xi!Z*D5q@>+9d;UHz@GaRrNS!2^fU)WE}G3YSItlvcT091(R5 zinPW;9G~}2Y3a#Mw1I>J*3jf_y3r`@K_~*MGM9^myBztwpft1@xeN1nxrTX{|4!QD z9AV<*mJOTMxLrjy9czsASi=F~)8AC9zW~+KB?Xghy}7;3G1jp8p>f?wMc7eN5`~Yy z{4mtax~RNXj`$!;bc+fjW!;yXm;Hb%29!M?`u{y0LgJdOLb`9wrcHGvCG4WNI-BgI ziY68f%VGIC?f#q~b7wv8UYK-+g~6}QXmhU?5sy1qZ#ij3$_tW zp!<(|tnK{3cj~(34Jp{G@9e1U_`TB(gU5)yw|W7;N%`eZ3a6{Vae=NyYS3{0|U~41PmxE8bLaoniCTUJ%vR zDq#@sq9tWz6-l>S`MIt=$Ona@@0s;8#%$~#vHEV$HS1{qCDxL)r;)7yppjB`@9J{h z%h(7epy9s(Ya)dO&D>5bT8uiB z1<tNTqj{iI7UW{53K)@GDQOAp(p0zO`gw?zJPWNotB&)ZwkhnjY_J89 zQnls#f3(y#{b3Q%b?ftB5@=np1r;6+zE}u`34xr2R^Rbl1P+#IZs+oFN)g{9OrY2~^i%%FIyX{z#^E}k+l*|3F zBmVSw6}#E+x5plkz3_TLhac#^0JTM`Q1bpa$TLC)2}*!c_4G>f*ZSVC&&rY4i=$uF zarAOV_d5Dfnz1)-SDUWD{=ip@U(GoUoy!+2I=w|z`_NBFE8e;>*ujQ7np0e;mw%C1 zc{yO|y&?5}h1aHwpeS`-Sn>pJryZahiV99ExVXC4DzeGh)W?;5lHLziFn_4(P>b)xAPq?fL&eDH&x zc3SQ|rnV{`qkSeLwNrdHA0?rf9@x4N#1;t)pt?CCi|I+@mJen<<`47AGcpW$5&cBl z&a?SPm@Sl+zd-3DjMaR(RaaS|1eBDy;bl~0;$Yd@v@zO?FMpv@z-Y`W8wpC;rDB9& zE!Rai(>qGZ5N&U~8*q0bFYZnh^qP$+g@5!C5|x*((%#&)!+zn#5WH+}MEk&1_sQ~o zSFz)dUqYJj(w4~H%OH61h4vl0v^Pifi}YCUs>Q#Sa8Yz)qvH8Y5=A(c-Ut3`GQ z*mx^41Nb(iqx5yimIUm8FMo^awgiln*gi7>DNea8^q5{Jor5@FD(5|zDjUXhw_;@v zi{wFTgPO$%ShEE;B9*1d-hEp86uTZyQKwz!KmpMK38&K;2s#^LUb{#85&I$129Q+Z+qU)LYiEBESWhiRG0&H-^;yH1@gyOhmZ(_O( z$!tlBR1e(b8Df@Dq*hi-8r2&)HEC9v?k7upK3_}o;`y6)g4YcNhXV?3FYLs0B4*SOV(2(ah5>X)}w~t3U1#L5sZWUR>rEL=}X^lEKbk+ zS<<3Do@Ngn^7KSZ9!OYHW<3Un;u%;d2(+T2Wilv#T^7u+99CS)+;$UAo;8tcc7VH8&;wW<5XWVLN6{j>@a@bUsyA@=c1! z1F48xSrrR>ia-Vm}AP7b&`pSNn?I=Dzp!1Uv7Ys$D`%N1d~SY zNO2>bU2T-kt~SbMmyEL6txv9I8UOzHW>Z>zVuH_EkeDs)a>|>`nq-z~hlf_8bVL!2 z%%llJIca7|dRWYB$WWHQxAvpjxTgJl)!L6zHWZp{gFpV^j}I;%`pLik+d(aPFOxd& zu|^Y~f4m2UQ8TN7+q7jA_M<9%0e^b=nHN5fKSW`#yB9!%X8NoB{3i#N5B>OG*;`?& zwzPV$v$bG2Q=*NAPki%U3;ihn^h7^i%5j3w>o6BV3~lI8>2&-d;2kWW{Bb^w}aN!Q~Q1TV}YbEnP>ZH%a@=WsE53h)#m z1#cve88Ts%Vh=261wMUDFC?#!vXz)_Yc#x*WINqss~&aRk48cZ1yidB6Yj?Q+B2-wry?O_>AXfcX%p ziq~ebzuZmi{;>0pe{_cZcGCT_-D2}9pc0o~ZvAjW@LT6O9Or#2*zn<2+5f_R3`qa4 z8N?F~*11%DdIa&TW@2!6=Ai*VOy9`To!2>WF066M3I54$)(DsyMe72T(d%Na+>1 z2#*S$SC&^*@A5^}4L2&g7GlWU00w#O84$h)!popo{ouaa*BhiTa((qpCu^H{ko&4{ zs@#o77oPveyS7hAf&*OXD`a~*2L;MK^EjH7(k3d|@8{#s!m=m|;q$<9dmAk{p(=|^ zd24x^ah7w{#NojnUrg5s^`&5>;zgqaUxAibM=MzJiZ6i;b-1rwMD9iK(%RS85MVF}~1L9aK8b+Q-CRvFFu^Q-=Il zI<92FHI%SV9o!&j{PpA~ z%(j(6PYr_FB_4!@>HMu}23G-!B;}y(XKQ&)s!%GyD%hd#)Y49c?XV zUT|hh+e}}2)fV%*+dtR?U+4b3T7UP=%YOzx#jT08)}X6p>&|)ec5ZEPRq6E)=-7v) z4yjLCirM_41UK0d`XEfZ!wkhfiY|QFR7QmRrDatXd!a6Xkl4RHCw!*m^)0=r2Gf9T zWR4c1_`~$HIp|t>9{HdemKVs4f&ZX&v8MYr6?_OTzCz~6TpXggM||8M9Ln^!XvNtB zn6J)mgQDVsog>9c+1~&~e+#-?w`Avhk_OmWxR}wzVCuCs;Zx-L?Q+>Vq=B~^MJfH@+8#s3H>1Nh5`-(a6E9}`b=76$l zC;8g^hKM{suxk;BHQ!fQ8EiG1+JY-HSLD{(?PuloGc;Ppo&oEb)?v44qGu%IZ_xCf z&9cEZcvve&0?_Vn%rDJav@uI=nCI@(b9kY0ICulV7i zckI|WUGDe)U+pDNbYpwFjaunHqrK*;UfC(ltVSIfJV%nX{L(^+V$`LY`}r0R+zibF zrE8n22I_V#tCfxM+T;!{r*ZNnc2-8dq{t&1S*nOpeNWZ8e58hC9Ub~Mh#Y;@c1f)I zXBa&*_+76G6P)fesh17;G5DDL)yCt`@AqHWRpBRO!o5&KY;PA9n2kGtA}3$l@K>KB zk(Hqrj$vxQ7rAeA{5jmC^&`47;W4 z66HBCGX*;HhZq|GxIJl_aja%N%ZP5-6YJMFC4kbgJ&qX!IoswZA5}~dX0Ys!+3(R40m1O)+ z<6BH7*(N11mly_$S**bTk&>xwE|}w)!g7N|Pe`2&hO*4i4;UEDjs6y~M;|^Z`TEi+ z`h-P(p|R6UpHM5WY0tE%@qOptmI=u|#cuY7{nqS*=fJvUgNJ+idR-xV>y|CO5c2N% z;z}2&fs67XQ((o0aX4frrUtj-Cjae;M$caEaA?^UnnU4P{(UB^y*(H|V>YFRK+as1yR>ikl9bZjFgv^un&~Qa2OB&dv(ATb9ZrO0 z=usI1uJU9KXc=H8g|tuK?}q2&<7YzML%7!Twn_T}KcKsAaXlw@>p~3>xmUZ0!RWoW zRX5YsSH~Y%loi+hRI|W%>HKJvFDDcS#n^gP1&FYghzNGfG|ZXCAaf?hwvr6DHL{j4 z7FsL#A`pg_uYVm{!VvLknfrepmq+41$He{I#)*)@=?F;B05?SuKzB+Wr)pY_E2`ex@m}81z3K?o)(Lb85(EZzp1c??75|Kf8Cp;s$bqYQkq4g z_VYC(qPNf_7N}EMPMHLXqQ)Z^T==md%l_cGXz9`dK>3t;prBm5;Dd_ovh&pzt502W zhQ)U7(s#=Q#r$Toj{++Bf9 zEgrhZa21T%gxXNp+KSb_|C#-ki)>TCQA78*`z7Twr_lhs_g>&yn+Th$r5%56n_0f9 z6eSTghXL-ME%uShb@80bvh<$&Mm__ZMw~&_Vr@_|eT?0HDAV7cQN8x4Ijzibt~j(L-DZdqO;kZ+*0;w(l< z1GPPTay(~fLhOcV@ZJS8CDk~h7)9k5B0Tf>9RhthcY!5oNN$A2R8$c}RKE3tP87zl zfHZZ%xHLDT_}aT8AHo|xq()pFO4RiN9T_DUKDlB-zM^u6Hxl-NzOfazs0q(4OpFL8 zK4;2AKgjl)pm+<*M)cjg_&D*Zb7vXPj|ge-G(<))3lGE;hupgS6zK;U&p<>O&jW?*iDh ze#3`S@#K=>hn5(^*NLHA9b1`vkL`27;&2RO+l`tb4tXKIolh&K`Jb>U9T$Zxe)zm2 z6mq#jA;;J5Lx{PrL-7=g9_4nTjAQKV#J%W56fgOPjW`16a2#+D+rxSq_A?x#jw|5N zzEf;OSIw7Q5bf`M_txWPN+NKekNYK&27RZOuYC;Z%*XU*zt+TU0FC~ zaKeLAcaX{KWK7J#yY`LTKFxTax=F^IT}~-XC7-28N9rw=q-w(U1%!KUii>DIY!%uV zF_MSY4g&KsV@@~BS!9UqZ-x0$f^O~r&eStRGHA+9EZ@JJ{xQqIJ-rBsixeh%>?Muu zLGV~s^giD^V)l?=dlT_MSpBRTCfdL27kfU}yMi*p!S+VtAz}4%YKUa2uRih8dKf-< z%fVq_b`H4i(mn+IMGD*XPy3)ZAUAp+?O6=4xaU!Cqa5%)ss?}#G}$%nB|c{3^6!|= z5&ehzFqf_`+r~F!PqlHFN>8j{K5wjoZzom1jru#+z^rTBu@G^8Si9#=yG`~4L$|*G z28-tY$M$SLqDL2QItFN{O!m7>m z&_fR?q&coU`z#mXw6S#BVQGmu=g!4_84uPaKA#vrxZpH=F6;)Us-zK#y;}gG%iu)? zO8vf?rw$`LZa`Pv^_YzFasMm-NH$ANlq=dGRt_^bh)tab2}T_-+gOyvtE6>)9PbmU z0IE+3tr&ZT&*F2==0>M2NWOXz)J4FCg zTf@wBgEJni1lZNL`qnh1w(d-EJU||Bm^_WmUap_)Ev%X4Y{fjcceXlbtts>(hwN=` z^q3qR=fImDOE8^jLr_GAH5-&d{g8yU>_p4s$$vo77a^1>)BctHO0H1YL8MS9 zru{1xH7r6h-{N~2R?|ameGM^>a+aMZSz}xptOB{}I5#08UTc!0F%cq^k9{N7eAzYE zX`44}ydQgbfA2L*)*oHB?&$i%Ps;L>c`nrz^j#(?%w@>OZ@%@d!Fls9-lzTVzWZ^M z?w^^-!@~K@CA|NQ1?T`7!4K$nKXoF@K&djh9;+t`5IroPWzWj zF0}8x4ANI$5#G*Ps$F4dCm0%dczgJYt08^aUi*cYX#a8@YvBWi=2famFKh7$-7NF& zGHH#piMA{u+>(**^e3uxEYRDp6Exgskr(JynO;aTZyU^L#Z0+|uJ8EWAHU;{KlKN*?vSbNg{!XofK7S) zYT)_Hi3Gz3Zbbt6!ku@$k!(G7TVC~CevLQysjIKPM`AW{D)_1hD9-?D`oraeNjq1U9EJryVAyd!Ia8A7XBoCthDddQdq)-64|5GJ(dX#Xn%FJ}H!RL@b|!;S&O&u9_C7C_ zgbAXmYcDcgdy;tzqcK{9k@FJ)^@c4t`M`1EofWyOK}T)lH*Q4J%3Lv{J8Q7Ddss8< z2akD2DPL5e!-*CiJrIyVzygpHHLX_$$OFgOYsB^&cmL$L&-A&Nm$mn2Y)VL4t zxV)3?SKG{?oJ)S(aNZk>5=&C$u$>0+8zaA5G*|Uswn`KGNfBlTBiKkPBy?o>Bq>EVfOhc5-;OVeK-1&#?P?67fQuD~#9Z24jb88UrAs1kbZBVF=o0O~rcG!6_G~zcn+ZIvT|GFs zq_h~0rc(4#4L1pJ!yb2x@~+xlk;O~rczyIi`q<#0c7W{}3`fOQ%aUb$oWhLEWGuhb zMls}aX)T?bsbc1)tOUALt6noQ%R0rTk7c9r32!@JjKZ=Ziz+kEhKYA_UFEyvi~dH_ zh-2AoZLnvBb+H_3*ukfA$DHN#G~57RZU~tcR*n>n4n_!e6EmucI#PyKpZ3x2xr1}y z?FPTt*?Vxd=5Gl2JkVRsZJC#%l=G1=nGR6FHHUfoJvA=a}K?IIipJR&%t;d0a0%jvQk&xXnTvKg@K4bE)jRQQC#v4VTdP z7QdmiMU-*xo?5XBW2!=YZ(HPl3=7KFr6(9e(`E|zdNScTn&8O&UJsSw?39WShhx?S z*{gS*WeWw}CYycbw)3~Fv907Pg*0 zW3kO-rSG;5bv#4aWYuD|Y1hi8%1<#@`F_48lVLbw$4$MOXWCGh#02_2CTJ_?oTtQ_ zh;!3AgUpDTD2ABC#i*l>_gO-3CgGYBT_Tq|^MqpbL1v`2x(f3a^}50G4TfOw{UX&F_T5!M%V2ujFXI`s+;m_Y}dq)FIFv~>NRPn1kTD4 zRX31`v)QT5^EcS;H#@!EUZ?q7Xx=W0yR%j`aPk0r0!n@B)|rBC?QwU|v~GjV2CF^Y z5%`(g-k>@>+P^_klwN!!((M`6z7E-s{^`G64gasQYY%PfI^*Y@t7}=-!;uu-n}_09 zwk5}QUbSp1t{qEOUJJ|0@{sfB>VZjcnl2k_8t}TN5o|PnlrR#qZW+z~7|oViY|CJU z!X8a%=^tgV4yv%N-5{Y09W84!D0@}cJKy)6b9I&2ZfcC~y}DP@d7tn3`z;CoTk8Sn z2Z_sdbu;@sM$>|YAIDF&u8Cy1X5>{l@ibwzDc}2K4#;0I(Fs^ZC}x-hsFb=h)Ndt> zK0u0fb(ffuJ4sXJ~&zRaXDc7SzMcpix*74{2N#QWY?k`;fe_L~%&d+qZ0H^8vVM9>9 z6JA8lYRoUwJ`^Re`c?WaCFaZiF%~GO3dNafz8f-iv9i9V%BrFb+~V$Btho2Ksgkj^ z1sV{rW$XGEDk}f=JWbTLSUD^6bVBWipSevH;1vl7(4MU%n=aJ(V(a|vvuIgM^Y?@E z@~5@w9O6?eo{+R>W#bE+8=ho)k7nI)P9l|?0;q*C#a7PrTJ#xzpC*y;{Jw|ff;;#7 z`*`ZXS8FCN+jul3T)0MA|KTHtvUu&VDsmR{iE1*tsXxg)<8`H6{kC|@-dJRsqjzOG z=CYRU@2qo0k@qIkEmVL-T~49XJb$!Np{m-U2Y*|iNKV-b1FRQGJ0&gBa6r@p7$2AG zipRDnphFA-;4u$hJunOmNG)rW?O=PTKC5s=cLTgTkqt`LDl;asAgJUBJJgihcn?pc z04C6grlN6`d}C)bCW_4+V6`xI99B3*Fz?Yyb$E%dx7eMZY&VSd$$WRQ*XO*&OTb3J zON2-?$Np*$cS7>YnE)4X>>Rd(0a2zMUk5DG&fmGK*tKoMG)J~|6?e^)r5sS=_+3s# zROH0%8tUSfg@?603Cq)mpeKMI{XYB2fX>Ylb`$^LK02pgM|?wm|EG3}^Zhz^6s;$7 zg7z=KzXJoIiF=qyhKMu~PJ6ekKSUpY=%L4>j)Pw+=!zS->aF#}|L}=jlblcPQp>mZ zqSVMG3vKnL@eA2j8P*S;M};kmf&L_iD@!KEeL%S^(8lAQWGwF5OMV=iE{^XNeETq3 zgx3|qPhM`#Z}qo4QY=okH0>xvtG}U8+%ACEAFu(DaAeW=m6$8kwl7lSk&N| zA=@pyr$*KMb}DngzdcV@Kc)lDWzTx<9@9`kZngN^vFY)mEcPBKwv)!LO7o^V;-&Ln z&l7*w7$tLV?erS@dxa^6ku2b`QbF9_`eEPLw5&E|a`RP29D4Xtj@BD0_aiOM+wzUg z``vr0vA_AiPNn&{6)F^`GRW9YJcL40_}j-lBUoc10BWXeO)fsI9@3)#PLKtA;47%u_ZlC@x?j^ z)P+EBPSuCAV1TEQS>~Vb1;gRsdlO0l>(gmT`l#cT1o$1AS(L3nsR%T5S)_YT1fvnw z)o_rVtHw`{LcFTYYKBZ54^`$j?)iT6o)i83+)pWOwP#eSnEMNN9qZqZ+_5P@sgC3N zkLGwe=GJpVwX%=J@g2e3`e1I-OLu&-Ykk+wQDgD}ez93Ljon}tGLzmt-!I|@#Q^W11hByh| zVr_C?EP%DfMq>nkZMiU9+Qf?DB@n3^=$MddAAxf%MeNbsP%dgjZex7o>r>y1FIC7~ z=8O(*M^Q22d)YP`jT>go#yW^}s9|Neo< zT$^@_udZtXcSP1S%cd1}s{I?IOM-3Dt~9Ubx>gWV!J0JX{CI%@nVpd(%a<#0l6vSJngaBpnqsHra3>whg7kPCkg1p6p;Z*Stk3 zePTRs*?W)dvn}Uc%iecnuWb#JFCez891E4hz#dbpO5yj$bnPcAk+(=}C;p~a=}Iz zPoW=B4g=etGbko*$ZF-_bIWs^q72dim@mEImP26 z_Lt9wI+8~4sJyY9M=UEI5dNP*N4$#<9fiB0bz%)~Row)X9V_I#eFtMwAUx&ra}WON z1iuzB?2gDO`R*H`c)*BQ!I6(;f58J!!L8OI%Im=R0?s1U@ssn}E)709`;RU2fnB<9(jsiQs5&|C!TI zZ!4VX?->mzEWCdD^tQq?1HB`kGgoFN#!fx8^;9XgG-<|TP06(P+G%N_NVt}dgYxgO zC&Y|6`N7HFu~67&3d0u;jjny-{TaIET$rKI=COFP#V>rE`a z;-{a%=>IqVN3f_fF9&it7??n!0BZvX%Qc${NkWME)!_}{<~!y@wk#{Ziv>I^^; zWWXo{0G|2=W&i*Hc${NlU|?W=$-uzEKx_Q}A8Fzg+4Tm9-$L;lsMuQ)^#8}?|NnwV z{crsIfyT55V~X7KA3K{QGj7n>jXx1#2a9`fIzYm3F=+VWOCtoZ2r+u$b|T`F@&6w> z$K78{{{Q~~mr+JK000000CoV<0V)Av0l)$f0&oJr0}umX1DXTQ1TF-g1lk1-1x5vW z1+oR^1~>+o2L=ab2lfbh2*e2p31A7D3Hl0l3g8PI3v3JE3_c8I489FU4QvgP4YUo` z4i*kj4vG%S4*U;P55^D>5P}gb5vmd(5_S_#6QmRp6jl_R6yOym6>b%<74{Z97bq8M z7r+=27<3ru8AKU+8KxQp8bBJX8yp*G8_XOa9LgOI9flqF9y}hT9_Ak+ABZ39AZQ@6 zApRk|A|fJwBH|-DBeEm*Bw8fSB}yfrCJrWICb%b5Cz>b(C{8G_DDEjdDRe2;Dv~PJ zD^M$%E3_;0EJQ50Ei5g@E*>sQE_N=gF9a`EFP1O(FtjmfG8{6}Gm112G{!X^HEuPQ zHS#t{Hgq=3H$XRvI4(GNS9MIc3-MczhAMz}{1M`%a#NL)ywNaRTxNn}ajN;FD* zOAJe5OV&(2OtwulO^i+=POMJ^Pg+m9Pz+FfP_R)-QMOVTQkqiCQz%nrQ^HgXRFYKE zRWenURn}GnR!CNsR|Z#NSL9eQSkPHYS-@HlTA*6qTLxQFTc%t5Tu@x5T;^RQU5H)C zULIb2Uf^F|U$9^FU{qkhVIEeh{vcAB7v_u5c3_41`9<+r!cnV&_vC|8$S891w+t_BtW$uWU|b)E4DUM zgQzdcRA<`#c@&5B(0ikdv#FZUOecv|xwAVR`)K2RKI-+1=uvD_wls!=#sZ#k1%)M! zj9bL8{1~Q;o^?j5He4NMjBD(XP;-^N|Jl5Z1s%^$ia#Mjzfv=0%u1^EQQ*LPhEzSz zC{9P8lr)jfGYVph-+B@c${rk1(fT$5#8%G zCRuvF%*<~4%FN8nq}YnBzqaKk$;s{(e%t@c%*@Qp%*@Qp%nT#h$?orI&WSyDG_s_b zJ2P7I*81OQ?f?F83?A0uBS44_!vHpPvDdI6h4j5;IsG~K94Wpi}(`0jIZFU z_!_>BZ{VBw7QT(|;Jf%9zKGc)c*C5qB)F{R`p&E=vW+dhJwLCBh{lqzN|E!ZhO>J9quIMJDn4(Dz3V%IvO z%@uNX@e&4X!Bn11nM$*gDHAc1YTDLlrAfD^%+PuE9V|ps#8X~XshrKCVI-MW9XC>% z(ziqYRLb3Cssx{9O!HC3YOa`_5NG7DCTA+PCN)#L>r=TG_6C!z^F4i=JJcR`weW`DCNVxe^Bl6&=|j#YB_zqV-lLbKdf17}Skikg9H()_x}2{hdsz zhN~k%-#)5wv=|gt9!_&a(X~rB1byoey6-JlaKO#qI-RC#*R!@8XNu>7xNeD&DXDcy zRQ7YBvoPlsH+<7htt87+ca(Suqg=_B3<5Xbx6jat$2a&M5v5@jd92x8=leXGab`-c z;u*`hWy5GDDxTJ&>2yTn)?)NW*;Y?OJS0O2AA%9k} zA}A_3<$j?=9+aGz?3Wb2un?x~rh%wg!2{7){!x~4rG3%NWFi_(39ndfwX!pT-Ef*z zV#d>HC-;4e!%7yZXh_z^w{(cCf~-U923o&nqDpGECu(uP)AgFQ5&hGa=G46DHfydm ztv`@`1$&|=a@tl4V#OC89}KsI+UZK>_sihc4=pmmUVi$-N1o}Dv_;pqqdX{4Y8`) z>ct^oJfHNq7FzQ>=>eT)vzJ6e?5ETT92}J7!$OiWX$9}=&)62xVP)USV;k?`=)Jre zBp$RB4Q`@V30s7NRxaqNST1C!DEpWhD?U?PmuZ$QNVO16K2p*!!>wkt8eJqy?ZVe= z&O=Qc%1U}E@@uR!I+av9r0gK)2JS^b@G6frH--+O6TK_ibV@#qblJ^j6_2#YIn~yQ z8yP$m=!#72QIEq$N?{q+~8d#%;F6b6IsYPxqohSSpT(y$~#z$x44AW+L8OwiFwE>=7P3dO(SK zAZ1PDjNO~~Xp3~snmlk@_e&cjswcUN5$(32gr}mwLqVw}GU|R+?o-`t$0e_pu}WIo zxot1m(4}l!>pUv3#xwKSZpn4WW!}fj%3+ID#io(2=&(vhmI0}3Vpq;ch%6(;obMdD zF7)edt@?eBcMk6hgXY+gYr}HVVbiwWNSOr}P3Le{POD&`s(Jowj zol~_uTHDg?|0! + tokenType: 'Bearer', + + // ** Value of this property will be used as key to store JWT token in storage + storageTokenKeyName: 'accessToken', + storageRefreshTokenKeyName: 'refreshToken' +} diff --git a/src/@core/auth/jwt/jwtService.js b/src/@core/auth/jwt/jwtService.js new file mode 100644 index 0000000..2ea1018 --- /dev/null +++ b/src/@core/auth/jwt/jwtService.js @@ -0,0 +1,108 @@ +import axios from 'axios' +import jwtDefaultConfig from './jwtDefaultConfig' + +export default class JwtService { + // ** jwtConfig <= Will be used by this service + jwtConfig = { ...jwtDefaultConfig } + + // ** For Refreshing Token + isAlreadyFetchingAccessToken = false + + // ** For Refreshing Token + subscribers = [] + + constructor(jwtOverrideConfig) { + this.jwtConfig = { ...this.jwtConfig, ...jwtOverrideConfig } + + // ** Request Interceptor + axios.interceptors.request.use( + config => { + // ** Get token from localStorage + const accessToken = this.getToken() + + // ** If token is present add it to request's Authorization Header + if (accessToken) { + // ** eslint-disable-next-line no-param-reassign + config.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}` + } + return config + }, + error => Promise.reject(error) + ) + + // ** Add request/response interceptor + axios.interceptors.response.use( + response => response, + error => { + // ** const { config, response: { status } } = error + const { config, response } = error + const originalRequest = config + + // ** if (status === 401) { + if (response && response.status === 401) { + if (!this.isAlreadyFetchingAccessToken) { + this.isAlreadyFetchingAccessToken = true + this.refreshToken().then(r => { + this.isAlreadyFetchingAccessToken = false + + // ** Update accessToken in localStorage + this.setToken(r.data.accessToken) + this.setRefreshToken(r.data.refreshToken) + + this.onAccessTokenFetched(r.data.accessToken) + }) + } + const retryOriginalRequest = new Promise(resolve => { + this.addSubscriber(accessToken => { + // ** Make sure to assign accessToken according to your response. + // ** Check: https://pixinvent.ticksy.com/ticket/2413870 + // ** Change Authorization header + originalRequest.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}` + resolve(this.axios(originalRequest)) + }) + }) + return retryOriginalRequest + } + return Promise.reject(error) + } + ) + } + + onAccessTokenFetched(accessToken) { + this.subscribers = this.subscribers.filter(callback => callback(accessToken)) + } + + addSubscriber(callback) { + this.subscribers.push(callback) + } + + getToken() { + return localStorage.getItem(this.jwtConfig.storageTokenKeyName) + } + + getRefreshToken() { + return localStorage.getItem(this.jwtConfig.storageRefreshTokenKeyName) + } + + setToken(value) { + localStorage.setItem(this.jwtConfig.storageTokenKeyName, value) + } + + setRefreshToken(value) { + localStorage.setItem(this.jwtConfig.storageRefreshTokenKeyName, value) + } + + login(...args) { + return axios.post(this.jwtConfig.loginEndpoint, ...args) + } + + register(...args) { + return axios.post(this.jwtConfig.registerEndpoint, ...args) + } + + refreshToken() { + return axios.post(this.jwtConfig.refreshEndpoint, { + refreshToken: this.getRefreshToken() + }) + } +} diff --git a/src/@core/auth/jwt/useJwt.js b/src/@core/auth/jwt/useJwt.js new file mode 100644 index 0000000..7a0e4be --- /dev/null +++ b/src/@core/auth/jwt/useJwt.js @@ -0,0 +1,11 @@ +// ** JWT Service Import +import JwtService from './jwtService' + +// ** Export Service as useJwt +export default function useJwt(jwtOverrideConfig) { + const jwt = new JwtService(jwtOverrideConfig) + + return { + jwt + } +} diff --git a/src/@core/components/app-collapse/index.js b/src/@core/components/app-collapse/index.js new file mode 100644 index 0000000..f4d6eac --- /dev/null +++ b/src/@core/components/app-collapse/index.js @@ -0,0 +1,120 @@ +// ** React Imports +import { useState } from 'react' + +// ** Third Party Components +import Proptypes from 'prop-types' +import classnames from 'classnames' +import { ChevronUp } from 'react-feather' +import { Collapse, Card, CardHeader, CardBody, CardTitle } from 'reactstrap' + +const AppCollapse = props => { + // ** Props + const { data, type, accordion, active, toggle, titleKey, contentKey, className } = props + + /** + ** If accordion is true then return only one active index else return an Array + */ + const defaultActive = () => { + if (accordion) { + return active + } else { + return [...active] + } + } + + // ** State + const [openCollapse, setOpenCollapse] = useState(defaultActive()) + + // ** Function to handle Collapse Toggle + const handleCollapseToggle = id => { + if (accordion) { + if (id === openCollapse) { + setOpenCollapse(null) + } else { + setOpenCollapse(id) + } + } else { + const arr = openCollapse, + index = arr.indexOf(id) + if (arr.includes(id)) { + arr.splice(index, 1) + setOpenCollapse([...arr]) + } else { + arr.push(id) + setOpenCollapse([...arr]) + } + } + } + + // ** Function to render collapse + const renderData = () => { + return data.map((item, index) => { + const title = titleKey ? item[titleKey] : item.title, + content = contentKey ? item[contentKey] : item.content + + return ( + + handleCollapseToggle(index) + } + : { + onClick: () => handleCollapseToggle(index) + })} + /*eslint-enable */ + > + {title} + + + + {content} + + + ) + }) + } + + return ( +