From 5dae880c20d4b1b85d7fea436e63cffa96491de6 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Tue, 29 Mar 2022 22:40:38 -0400 Subject: [PATCH 001/102] Renamed Schdeule to Schedule --- App.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/App.js b/App.js index 710f0a40..272d0d5e 100644 --- a/App.js +++ b/App.js @@ -103,18 +103,18 @@ function HackGTitle() { return ; } -const SchdeuleStack = createStackNavigator(); +const ScheduleStack = createStackNavigator(); const InformationStack = createStackNavigator(); const ScavengerHuntStack = createStackNavigator(); const CheckInStack = createStackNavigator(); -function SchdeuleStackScreen({ navigation }) { +function ScheduleStackScreen({ navigation }) { const dStyles = useDynamicStyleSheet(dynamicStyles); return ( {({ isStarSchedule, toggleIsStarSchedule }) => ( - - + , @@ -148,9 +148,9 @@ function SchdeuleStackScreen({ navigation }) { name="HackGT" > {(props) => } - + - - + )} ); @@ -668,7 +668,7 @@ class App extends React.Component { )} From fb9e1e1db24257422ca4cb8523f8da183a6c33f3 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Tue, 29 Mar 2022 23:57:48 -0400 Subject: [PATCH 002/102] moved all stack screens to their own files --- App.js | 163 +---------------------- info/InformationStackScreen.js | 26 ++++ participantCheckin/CheckInStackScreen.js | 35 +++++ scav_hunt/ScavengerHuntStackScreen.js | 46 +++++++ schedule/ScheduleStackScreen.js | 72 ++++++++++ stacks/index.js | 6 + 6 files changed, 192 insertions(+), 156 deletions(-) create mode 100644 info/InformationStackScreen.js create mode 100644 participantCheckin/CheckInStackScreen.js create mode 100644 scav_hunt/ScavengerHuntStackScreen.js create mode 100644 schedule/ScheduleStackScreen.js create mode 100644 stacks/index.js diff --git a/App.js b/App.js index 272d0d5e..41a83940 100644 --- a/App.js +++ b/App.js @@ -3,27 +3,16 @@ import React from "react"; import { fetchHackathonData } from "./cms"; import { HackathonContext, AuthContext, ThemeContext, ScavHuntContext } from "./context"; import { StatusBar, Modal, View, Clipboard } from "react-native"; -import { ScheduleTab } from "./schedule/ScheduleTab"; -import { InformationTab } from "./info/InformationTab"; -import { ScavengerHuntTab } from "./scav_hunt/ScavengerHuntTab" -import { ScavHuntItem } from "./scav_hunt/ScavHuntItem"; -import ScavHuntProvider from "./state_management/scavHunt"; -import CheckInProvider from "./state_management/checkIn"; -import { ScheduleSearch } from "./schedule/ScheduleSearch"; import { LoginOnboarding } from "./onboarding/LoginOnboarding"; import SplashScreen from "./components/SplashScreen"; import { EventOnboarding } from "./onboarding/EventOnboarding"; import { NavigationContainer } from "@react-navigation/native"; import { createStackNavigator } from "@react-navigation/stack"; import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; -import SearchIcon from "./assets/Search"; -import StarOnIcon from "./assets/StarLargeOn"; -import StarOffIcon from "./assets/StarLargeOff"; import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; -import { faInfoCircle, faCalendar, faMapSigns } from "@fortawesome/free-solid-svg-icons"; +import { faInfoCircle, faCalendar, faMapSigns, faClipboardCheck } from "@fortawesome/free-solid-svg-icons"; import HackGTIcon from "./assets/HackGTIcon"; import AsyncStorage from "@react-native-community/async-storage"; -import { TouchableOpacity } from "react-native-gesture-handler"; import { authorize } from "react-native-app-auth"; import PushNotificationIOS from "@react-native-community/push-notification-ios"; import PushNotification from "react-native-push-notification"; @@ -35,7 +24,11 @@ import { import { dynamicStyles } from "./themes"; import firebase from "@react-native-firebase/app"; import messaging from "@react-native-firebase/messaging"; -import { CheckInTab } from "./participantCheckin/CheckInTab"; + +import ScheduleStackScreen from "./schedule/ScheduleStackScreen"; +import InformationStackScreen from "./info/InformationStackScreen"; +import ScavengerHuntStackScreen from "./scav_hunt/ScavengerHuntStackScreen"; +import CheckInStackScreen from "./participantCheckin/CheckInStackScreen"; const authUrl = "https://login.hack.gt"; @@ -103,148 +96,6 @@ function HackGTitle() { return ; } -const ScheduleStack = createStackNavigator(); -const InformationStack = createStackNavigator(); -const ScavengerHuntStack = createStackNavigator(); -const CheckInStack = createStackNavigator(); - -function ScheduleStackScreen({ navigation }) { - const dStyles = useDynamicStyleSheet(dynamicStyles); - return ( - - {({ isStarSchedule, toggleIsStarSchedule }) => ( - - , - headerRight: () => ( - - - {isStarSchedule ? ( - - ) : ( - - )} - - { - navigation.navigate("ScheduleSearch"); - }} - > - - - - ), - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - - - - )} - - ); -} - -function InformationStackScreen({ navigation }) { - const dStyles = useDynamicStyleSheet(dynamicStyles); - return ( - - , - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - - ); -} - -function ScavengerHuntStackScreen({ navigation }) { - const dStyles = useDynamicStyleSheet(dynamicStyles); - return ( - - - {({user}) => { - return ( - - , - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - , - headerStyle: dStyles.tabBarBackgroundColor, - headerLeft: null - }} - name="ScavHuntItem" - component={ScavHuntItem} - /> - - )}} - - - ); -} - -function CheckInStackScreen({ navigation }) { - const dStyles = useDynamicStyleSheet(dynamicStyles); - return ( - - - {({ user }) => { - return ( - - , - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - - ) - }} - - - ); -} - - // for editing styles shown on tabs, see https://reactnavigation.org/docs/tab-based-navigation const Tab = createBottomTabNavigator(); @@ -636,7 +487,7 @@ class App extends React.Component { } else if (route.name === "ScavengerHunt") { icon = faMapSigns } else if (route.name === "CheckIn") { - icon = faMapSigns; + icon = faClipboardCheck; } return ( diff --git a/info/InformationStackScreen.js b/info/InformationStackScreen.js new file mode 100644 index 00000000..74ac46b5 --- /dev/null +++ b/info/InformationStackScreen.js @@ -0,0 +1,26 @@ +import React from "react"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; + +import { InformationTab } from "./InformationTab"; +import { InformationStack } from "../stacks" +import { dynamicStyles } from "../themes"; + +import HackGTIcon from "../assets/HackGTIcon"; + +export default function InformationStackScreen({ navigation }) { + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + + ); +} \ No newline at end of file diff --git a/participantCheckin/CheckInStackScreen.js b/participantCheckin/CheckInStackScreen.js new file mode 100644 index 00000000..3d029ad4 --- /dev/null +++ b/participantCheckin/CheckInStackScreen.js @@ -0,0 +1,35 @@ +import React from "react"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; + +import { CheckInTab } from "./CheckInTab"; +import { AuthContext } from "../context"; +import { CheckInStack } from "../stacks" +import { dynamicStyles } from "../themes"; +import CheckInProvider from "../state_management/checkIn"; +import HackGTIcon from "../assets/HackGTIcon"; + +export default function CheckInStackScreen({ navigation }) { + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + + {({ user }) => { + return ( + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + + ) + }} + + + ); +} \ No newline at end of file diff --git a/scav_hunt/ScavengerHuntStackScreen.js b/scav_hunt/ScavengerHuntStackScreen.js new file mode 100644 index 00000000..b64ed4e0 --- /dev/null +++ b/scav_hunt/ScavengerHuntStackScreen.js @@ -0,0 +1,46 @@ +import React from "react"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; + +import { ScavengerHuntTab } from "./ScavengerHuntTab"; +import { AuthContext } from "../context"; +import { ScavengerHuntStack } from "../stacks" +import { dynamicStyles } from "../themes"; +import ScavHuntProvider from "../state_management/scavHunt"; +import { ScavHuntItem } from "./ScavHuntItem"; +import HackGTIcon from "../assets/HackGTIcon"; + +export default function ScavengerHuntStackScreen({ navigation }) { + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + + {({ user }) => { + return ( + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + , + headerStyle: dStyles.tabBarBackgroundColor, + headerLeft: null + }} + name="ScavHuntItem" + component={ScavHuntItem} + /> + + ) + }} + + + ); +} \ No newline at end of file diff --git a/schedule/ScheduleStackScreen.js b/schedule/ScheduleStackScreen.js new file mode 100644 index 00000000..af43e38f --- /dev/null +++ b/schedule/ScheduleStackScreen.js @@ -0,0 +1,72 @@ +import React from "react"; +import { TouchableOpacity } from "react-native-gesture-handler"; +import { View } from "react-native"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; + +import { ScheduleSearch } from "./ScheduleSearch"; +import { ScheduleTab } from "./ScheduleTab"; +import { HackathonContext } from "../context"; +import { ScheduleStack } from "../stacks" +import { dynamicStyles } from "../themes"; + +import SearchIcon from "../assets/Search"; +import StarOnIcon from "../assets/StarLargeOn"; +import StarOffIcon from "../assets/StarLargeOff"; +import HackGTIcon from "../assets/HackGTIcon"; + +export default function ScheduleStackScreen({ navigation }) { + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + {({ isStarSchedule, toggleIsStarSchedule }) => ( + + , + headerRight: () => ( + + + {isStarSchedule ? ( + + ) : ( + + )} + + { + navigation.navigate("ScheduleSearch"); + }} + > + + + + ), + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + + + + )} + + ); +} \ No newline at end of file diff --git a/stacks/index.js b/stacks/index.js new file mode 100644 index 00000000..12a341a0 --- /dev/null +++ b/stacks/index.js @@ -0,0 +1,6 @@ +import { createStackNavigator } from "@react-navigation/stack"; + +export const ScheduleStack = createStackNavigator(); +export const InformationStack = createStackNavigator(); +export const ScavengerHuntStack = createStackNavigator(); +export const CheckInStack = createStackNavigator(); \ No newline at end of file From c1b54a62d59dbace031963537a8e900ac549621c Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 30 Mar 2022 00:24:41 -0400 Subject: [PATCH 003/102] made importing more clean for stack screens --- App.js | 10 ++++++---- stacks/index.js | 7 ++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/App.js b/App.js index 41a83940..6323efda 100644 --- a/App.js +++ b/App.js @@ -25,10 +25,12 @@ import { dynamicStyles } from "./themes"; import firebase from "@react-native-firebase/app"; import messaging from "@react-native-firebase/messaging"; -import ScheduleStackScreen from "./schedule/ScheduleStackScreen"; -import InformationStackScreen from "./info/InformationStackScreen"; -import ScavengerHuntStackScreen from "./scav_hunt/ScavengerHuntStackScreen"; -import CheckInStackScreen from "./participantCheckin/CheckInStackScreen"; +import { + ScheduleStackScreen, + InformationStackScreen, + ScavengerHuntStackScreen, + CheckInStackScreen +} from "./stacks" const authUrl = "https://login.hack.gt"; diff --git a/stacks/index.js b/stacks/index.js index 12a341a0..690d6d52 100644 --- a/stacks/index.js +++ b/stacks/index.js @@ -1,6 +1,11 @@ import { createStackNavigator } from "@react-navigation/stack"; +export { default as ScheduleStackScreen } from "../schedule/ScheduleStackScreen"; +export { default as InformationStackScreen } from "../info/InformationStackScreen"; +export { default as ScavengerHuntStackScreen } from "../scav_hunt/ScavengerHuntStackScreen"; +export { default as CheckInStackScreen } from "../participantCheckin/CheckInStackScreen"; + export const ScheduleStack = createStackNavigator(); export const InformationStack = createStackNavigator(); export const ScavengerHuntStack = createStackNavigator(); -export const CheckInStack = createStackNavigator(); \ No newline at end of file +export const CheckInStack = createStackNavigator(); From fb9cea2b5fcbcb31a4c48b131045a7e6719858ce Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 30 Mar 2022 00:26:31 -0400 Subject: [PATCH 004/102] deleted comment bloat --- App.js | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) diff --git a/App.js b/App.js index 6323efda..c17437c0 100644 --- a/App.js +++ b/App.js @@ -94,10 +94,6 @@ PushNotification.configure({ requestPermissions: true, }); -function HackGTitle() { - return ; -} - // for editing styles shown on tabs, see https://reactnavigation.org/docs/tab-based-navigation const Tab = createBottomTabNavigator(); @@ -210,11 +206,6 @@ class App extends React.Component { }); }; - // login = () => { - // this.setState({ skipOnboarding: true }); - // AsyncStorage.setItem("skipOnboarding", "true"); - // }; - login = async () => { try { const result = await authorize(config); @@ -254,11 +245,6 @@ class App extends React.Component { }; componentDidMount() { - // AsyncStorage.getItem("skipOnboarding", (error, result) => { - // console.log(error); - // result && - // this.setState({ skipOnboarding: result === "true" ? true : false }); - // }); AsyncStorage.getItem( "starredIds", @@ -396,40 +382,6 @@ class App extends React.Component { // if logging in with a hexlabs email const showCheckin = /@hexlabs.org\s*$/.test(this.state.user.email) - // if(showCheckin) { - // return ( - // - // - // - - // - - // - // - // - // ); - // } - // once logged in and all data is loaded, present full app after grow animation return ( From a936ba86212097c11142d40247e895ec2a0dc697 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 30 Mar 2022 00:32:30 -0400 Subject: [PATCH 005/102] clean up --- state_management/checkIn/CheckInReducer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/state_management/checkIn/CheckInReducer.js b/state_management/checkIn/CheckInReducer.js index 6c00df1b..865deb46 100644 --- a/state_management/checkIn/CheckInReducer.js +++ b/state_management/checkIn/CheckInReducer.js @@ -1,4 +1,4 @@ -import { COMPLETE_HINT } from './CheckInActionTypes' +import { } from './CheckInActionTypes' export const initialValue = { From 3478c597c6979c0b78be32caa195c483f2959ac5 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 30 Mar 2022 00:47:29 -0400 Subject: [PATCH 006/102] created reducers for useContext hook --- state_management/auth/AuthActionTypes.ts | 0 state_management/auth/AuthReducer.js | 12 ++++++++++++ state_management/auth/index.js | 19 +++++++++++++++++++ .../hackathon/HackathonActionTypes.ts | 0 .../hackathon/HackathonReducer.js | 12 ++++++++++++ state_management/hackathon/index.js | 19 +++++++++++++++++++ state_management/theme/ThemeActionTypes.ts | 0 state_management/theme/ThemeReducer.js | 12 ++++++++++++ state_management/theme/index.js | 19 +++++++++++++++++++ 9 files changed, 93 insertions(+) create mode 100644 state_management/auth/AuthActionTypes.ts create mode 100644 state_management/auth/AuthReducer.js create mode 100644 state_management/auth/index.js create mode 100644 state_management/hackathon/HackathonActionTypes.ts create mode 100644 state_management/hackathon/HackathonReducer.js create mode 100644 state_management/hackathon/index.js create mode 100644 state_management/theme/ThemeActionTypes.ts create mode 100644 state_management/theme/ThemeReducer.js create mode 100644 state_management/theme/index.js diff --git a/state_management/auth/AuthActionTypes.ts b/state_management/auth/AuthActionTypes.ts new file mode 100644 index 00000000..e69de29b diff --git a/state_management/auth/AuthReducer.js b/state_management/auth/AuthReducer.js new file mode 100644 index 00000000..2f6fcc30 --- /dev/null +++ b/state_management/auth/AuthReducer.js @@ -0,0 +1,12 @@ +import { } from './AuthActionTypes' + +export const initialValue = { + +} + +export function authReducer(state, action) { + switch (action.type) { + default: + return state + } +} diff --git a/state_management/auth/index.js b/state_management/auth/index.js new file mode 100644 index 00000000..cefd997b --- /dev/null +++ b/state_management/auth/index.js @@ -0,0 +1,19 @@ +import React from 'react' +import { initialValue, authReducer } from './AuthReducer' +import { } from "./CheckInActionTypes"; +import { AuthContext } from '../../context' + +export default function AuthProvider({ children }) { + + const [state, dispatch] = React.useReducer(authReducer, initialValue) + + const value = { + state: state + } + + return ( + + {children} + + ) +} \ No newline at end of file diff --git a/state_management/hackathon/HackathonActionTypes.ts b/state_management/hackathon/HackathonActionTypes.ts new file mode 100644 index 00000000..e69de29b diff --git a/state_management/hackathon/HackathonReducer.js b/state_management/hackathon/HackathonReducer.js new file mode 100644 index 00000000..3c040cee --- /dev/null +++ b/state_management/hackathon/HackathonReducer.js @@ -0,0 +1,12 @@ +import { } from './HackathonActionTypes' + +export const initialValue = { + +} + +export function hackathonReducer(state, action) { + switch (action.type) { + default: + return state + } +} diff --git a/state_management/hackathon/index.js b/state_management/hackathon/index.js new file mode 100644 index 00000000..2402f065 --- /dev/null +++ b/state_management/hackathon/index.js @@ -0,0 +1,19 @@ +import React from 'react' +import { initialValue, hackathonReducer } from './HackathonReducer' +import { } from "./HackathonActionTypes"; +import { HackathonContext } from '../../context' + +export default function HackathonProvider({ children }) { + + const [state, dispatch] = React.useReducer(hackathonReducer, initialValue) + + const value = { + state: state + } + + return ( + + {children} + + ) +} diff --git a/state_management/theme/ThemeActionTypes.ts b/state_management/theme/ThemeActionTypes.ts new file mode 100644 index 00000000..e69de29b diff --git a/state_management/theme/ThemeReducer.js b/state_management/theme/ThemeReducer.js new file mode 100644 index 00000000..e047283e --- /dev/null +++ b/state_management/theme/ThemeReducer.js @@ -0,0 +1,12 @@ +import { } from './ThemActionTypes' + +export const initialValue = { + +} + +export function themeReducer(state, action) { + switch (action.type) { + default: + return state + } +} diff --git a/state_management/theme/index.js b/state_management/theme/index.js new file mode 100644 index 00000000..8a3b7665 --- /dev/null +++ b/state_management/theme/index.js @@ -0,0 +1,19 @@ +import React from 'react' +import { initialValue, themeReducer } from './ThemeReducer' +import { } from "./ThemeActionTypes"; +import { ThemeContext } from '../../context' + +export default function ThemeProvider({ children }) { + + const [state, dispatch] = React.useReducer(themeReducer, initialValue) + + const value = { + state: state + } + + return ( + + {children} + + ) +} From 645367ed09bf912a89d8bc031247f07c4de0363e Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 30 Mar 2022 00:57:30 -0400 Subject: [PATCH 007/102] organized exports --- state_management/index.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 state_management/index.js diff --git a/state_management/index.js b/state_management/index.js new file mode 100644 index 00000000..c75bc360 --- /dev/null +++ b/state_management/index.js @@ -0,0 +1,5 @@ +export { default as ThemeProvider } from "./theme"; +export { default as ScavHuntProvider } from "./scavHunt"; +export { default as HackathonProvider } from "./hackathon"; +export { default as CheckInProvider } from "./checkIn"; +export { default as AuthProvider } from "./auth"; \ No newline at end of file From 1d70cec0bb599aa28474a6c6fc8d16aee7d0fc46 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 30 Mar 2022 01:00:28 -0400 Subject: [PATCH 008/102] removed unnecessary imports --- App.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/App.js b/App.js index c17437c0..4ba06761 100644 --- a/App.js +++ b/App.js @@ -2,7 +2,7 @@ import "react-native-gesture-handler"; import React from "react"; import { fetchHackathonData } from "./cms"; import { HackathonContext, AuthContext, ThemeContext, ScavHuntContext } from "./context"; -import { StatusBar, Modal, View, Clipboard } from "react-native"; +import { StatusBar, Modal } from "react-native"; import { LoginOnboarding } from "./onboarding/LoginOnboarding"; import SplashScreen from "./components/SplashScreen"; import { EventOnboarding } from "./onboarding/EventOnboarding"; @@ -11,7 +11,6 @@ import { createStackNavigator } from "@react-navigation/stack"; import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; import { faInfoCircle, faCalendar, faMapSigns, faClipboardCheck } from "@fortawesome/free-solid-svg-icons"; -import HackGTIcon from "./assets/HackGTIcon"; import AsyncStorage from "@react-native-community/async-storage"; import { authorize } from "react-native-app-auth"; import PushNotificationIOS from "@react-native-community/push-notification-ios"; From b24ed94bef46378e80a3f10ffd8afdafbc11f21c Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 30 Mar 2022 01:02:22 -0400 Subject: [PATCH 009/102] import adjustments --- App.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/App.js b/App.js index 4ba06761..b97ebccf 100644 --- a/App.js +++ b/App.js @@ -1,7 +1,7 @@ import "react-native-gesture-handler"; import React from "react"; import { fetchHackathonData } from "./cms"; -import { HackathonContext, AuthContext, ThemeContext, ScavHuntContext } from "./context"; +import { HackathonContext, AuthContext, ThemeContext } from "./context"; import { StatusBar, Modal } from "react-native"; import { LoginOnboarding } from "./onboarding/LoginOnboarding"; import SplashScreen from "./components/SplashScreen"; @@ -31,6 +31,8 @@ import { CheckInStackScreen } from "./stacks" +import { ThemeProvider, HackathonProvider, AuthProvider } from "./state_management"; + const authUrl = "https://login.hack.gt"; const config = { From f486490094855003125286f43461d61d784dc06d Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 30 Mar 2022 01:30:47 -0400 Subject: [PATCH 010/102] typos --- state_management/auth/index.js | 2 +- state_management/theme/ThemeReducer.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/state_management/auth/index.js b/state_management/auth/index.js index cefd997b..b9e71962 100644 --- a/state_management/auth/index.js +++ b/state_management/auth/index.js @@ -1,6 +1,6 @@ import React from 'react' import { initialValue, authReducer } from './AuthReducer' -import { } from "./CheckInActionTypes"; +import { } from "./AuthActionTypes"; import { AuthContext } from '../../context' export default function AuthProvider({ children }) { diff --git a/state_management/theme/ThemeReducer.js b/state_management/theme/ThemeReducer.js index e047283e..98f7f1e5 100644 --- a/state_management/theme/ThemeReducer.js +++ b/state_management/theme/ThemeReducer.js @@ -1,4 +1,4 @@ -import { } from './ThemActionTypes' +import { } from './ThemeActionTypes' export const initialValue = { From f3bb598a70c89472406f1dac5ee5f6967dfd860c Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 04:44:08 -0400 Subject: [PATCH 011/102] refactored App.js to be functional instead of class-based --- App.js | 564 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 277 insertions(+), 287 deletions(-) diff --git a/App.js b/App.js index b97ebccf..2c248ed7 100644 --- a/App.js +++ b/App.js @@ -1,5 +1,5 @@ import "react-native-gesture-handler"; -import React from "react"; +import React, { useState, useEffect } from "react"; import { fetchHackathonData } from "./cms"; import { HackathonContext, AuthContext, ThemeContext } from "./context"; import { StatusBar, Modal } from "react-native"; @@ -98,10 +98,100 @@ PushNotification.configure({ // for editing styles shown on tabs, see https://reactnavigation.org/docs/tab-based-navigation const Tab = createBottomTabNavigator(); -class App extends React.Component { - constructor(props) { - super(props); +function App(props) { + // event data + const [hackathon, setHackathon] = useState(null) + const [eventTypes, setEventTypes] = useState([]) + const [types, setTypes] = useState([]) + const [starredIds, setStarredIds] = useState([]) + const [isStarSchedule, setIsStarSchedule] = useState(false) + + // used for finding current state of screen for loading/login components + const [isFetchingData, setIsFetchingData] = useState(true) + const [isFetchingLogin, setIsFetchingLogin] = useState(true) + // login data + const [user, setUser] = useState(null) + const [accessToken, setAccessToken] = useState(null) + + // TODO: temporay, onboarding login should show when user is null. login is disabled so remove this whn fixed + const [skipOnboarding, setSkipOnboarding] = useState(false) + const [scheduleModal, setScheduleModal] = useState(false) + const [pastEventOnboardID, setPastEventOnboardID] = useState(null) + + + const configAsyncStorage = () => { + AsyncStorage.getItem( + "starredIds", + (error, result) => + result && setStarredIds(JSON.parse(result)) + ); + + AsyncStorage.getItem( + "pastEventOnboardID", + (error, result) => result && setPastEventOnboardID(result) + ); + + AsyncStorage.getItem("isStarSchedule", (error, result) => { + result && + setIsStarSchedule(result === true ? true : false) + console.log(isStarSchedule) + }); + + AsyncStorage.getItem("userData", (error, result) => { + if (result) { + setUser(JSON.parse(result)) + } + setIsFetchingLogin(false) + }); + + AsyncStorage.getItem("localEventTypeData", (error, result) => { + if (result) { + const eventTypes = JSON.parse(result); + if (eventTypes != null) { + setEventTypes(eventTypes) + } + } + }); + + AsyncStorage.getItem("localHackathonData", (error, result) => { + if (result) { + console.log("Hackathon found locally."); + const hackathon = JSON.parse(result); + + if (hackathon != null) { + setHackathon(hackathon) + setIsFetchingData(false) + } + } + + fetchHackathonData().then((data) => { + // no response back, just return + if (data == null || data.data == null) { + return; + } + + const hackathons = data.data.allHackathons; + const eventTypes = data.data.allTypes; + + if (hackathons != null && hackathons.length != 0) { + console.log("Hackathon found remotely."); + const hackathon = hackathons[0]; + + AsyncStorage.setItem("localHackathonData", JSON.stringify(hackathon)); + AsyncStorage.setItem("localTypeData", JSON.stringify(eventTypes)); + + setEventTypes(eventTypes) + setHackathon(hackathon) + setIsFetchingData(false) + } else { + // if still loading, present error asking for retry + } + }); + }); + } + + useEffect(() => { // setup firebase notification support firebase.messaging().subscribeToTopic("all"); // alert(firebase.messaging().getToken()); @@ -115,44 +205,33 @@ class App extends React.Component { (created) => console.log(`createChannel returned '${created}'`) ); - this.state = { - // event data - hackathon: null, - eventTypes: [], - types: [], - starredIds: [], - isStarSchedule: false, - - // used for finding current state of screen for loading/login components - isFetchingData: true, - isFetchingLogin: true, - - // login data - user: null, - accessToken: null, - - // TODO: temporay, onboarding login should show when user is null. login is disabled so remove this whn fixed - skipOnboarding: false, - }; + configAsyncStorage() + + }, []) + + useEffect(() => { + AsyncStorage.setItem( + "isStarSchedule", + isStarSchedule == true ? "true" : "false" + ); + }, [isStarSchedule]) + + useEffect(() => { + updateStorage() + }, [starredIds]) + + const updateStorage = () => { + AsyncStorage.setItem("starredIds", JSON.stringify(starredIds)); } - toggleIsStarSchedule = () => { - this.setState({ isStarSchedule: !this.state.isStarSchedule }, () => { - AsyncStorage.setItem( - "isStarSchedule", - this.state.isStarSchedule == true ? "true" : "false" - ); - }); + const toggleIsStarSchedule = () => { + setIsStarSchedule(!isStarSchedule) }; - toggleStarred = (event) => { + const toggleStarred = (event) => { const toggleEventId = event.id; - function updateStorage() { - AsyncStorage.setItem("starredIds", JSON.stringify(this.state.starredIds)); - } - - isNowStarred = this.state.starredIds.indexOf(toggleEventId) == -1; + isNowStarred = starredIds.indexOf(toggleEventId) == -1; let eventIdNumber = toggleEventId.replace(/\D/g, "").substring(1, 5); eventIdNumber = Number.parseInt(eventIdNumber); @@ -167,12 +246,7 @@ class App extends React.Component { }); // add to starred state, then update storage - this.setState( - (prevState) => ({ - starredIds: [...prevState.starredIds, toggleEventId], - }), - updateStorage - ); + setStarredIds([...starredIds, toggleEventId]); return true; } else { @@ -182,44 +256,38 @@ class App extends React.Component { }); // remove from starred state, then update storage - this.setState( - { - starredIds: this.state.starredIds.filter( - (id) => id !== toggleEventId - ), - }, - updateStorage - ); + setStarredIds(starredIds.filter((id) => id !== toggleEventId)); return false; } }; - logout = async () => { + const logout = async () => { fetch(`${authUrl}/api/user/logout`, { method: "POST", headers: { - Authorization: "Bearer " + this.state.accessToken, + Authorization: "Bearer " + accessToken, }, }).then((response) => { AsyncStorage.removeItem("accessToken"); AsyncStorage.removeItem("userData"); - this.setState({ accessToken: "", user: null }); + setAccessToken("") + setUser(null) }); }; - login = async () => { + const login = async () => { try { const result = await authorize(config); console.log('Login result: ', result, result['accessToken'], result.accessToken) - this.setState({ accessToken: result.accessToken }); - this.fetchUserDetails(result.accessToken); + setAccessToken(result.accessToken) + fetchUserDetails(result.accessToken); AsyncStorage.setItem("accessToken", result.accessToken); } catch (error) { console.log(error); } }; - fetchUserDetails = async (accessToken) => { + const fetchUserDetails = async (accessToken) => { fetch(`${authUrl}/api/user`, { method: "GET", headers: { @@ -241,263 +309,185 @@ class App extends React.Component { }; AsyncStorage.setItem("userData", JSON.stringify(user)); - this.setState({ user: user }); + setUser(user) }); }; - componentDidMount() { + const Stack = createStackNavigator(); - AsyncStorage.getItem( - "starredIds", - (error, result) => - result && this.setState({ starredIds: JSON.parse(result) }) - ); + console.log(hackathon) - AsyncStorage.getItem( - "pastEventOnboardID", - (error, result) => result && this.setState({ pastEventOnboardID: result }) - ); + // TODO: login re-enable + const needsLogin = user == null; + const isLoading = isFetchingData || isFetchingLogin; - AsyncStorage.getItem("isStarSchedule", (error, result) => { - result && - this.setState({ isStarSchedule: result === "true" ? true : false }); - console.log(this.state.isStarSchedule); - }); + const splashGrowModal = ( + + setScheduleModal(true)} + /> + + ); - AsyncStorage.getItem("userData", (error, result) => { - if (result) { - this.setState({ user: JSON.parse(result) }); - } - this.setState({ isFetchingLogin: false }); - }); - - AsyncStorage.getItem("localEventTypeData", (error, result) => { - if (result) { - const eventTypes = JSON.parse(result); - if (eventTypes != null) { - this.setState({ eventTypes: eventTypes }); - } - } - }); - - AsyncStorage.getItem("localHackathonData", (error, result) => { - if (result) { - console.log("Hackathon found locally."); - const hackathon = JSON.parse(result); - - if (hackathon != null) { - this.setState({ hackathon: hackathon, isFetchingData: false }); - } - } - - fetchHackathonData().then((data) => { - // no response back, just return - if (data == null || data.data == null) { - return; - } - - const hackathons = data.data.allHackathons; - const eventTypes = data.data.allTypes; - - if (hackathons != null && hackathons.length != 0) { - console.log("Hackathon found remotely."); - const hackathon = hackathons[0]; - - AsyncStorage.setItem("localHackathonData", JSON.stringify(hackathon)); - AsyncStorage.setItem("localTypeData", JSON.stringify(eventTypes)); - - this.setState({ - eventTypes: eventTypes, - hackathon: hackathon, - isFetchingData: false, - }); - } else { - // if still loading, present error asking for retry - } - }); - }); - } - - render() { - const Stack = createStackNavigator(); - - const hackathon = this.state.hackathon; - console.log(hackathon) - const starredIds = this.state.starredIds; - const eventTypes = this.state.eventTypes; - - // TODO: login re-enable - const needsLogin = this.state.user == null; - const isLoading = this.state.isFetchingData || this.state.isFetchingLogin; - - const splashGrowModal = ( - + // until app is done loading data, show the splash screen + if (isLoading) { + return ( + this.setState({ scheduleModal: true })} + onGrowDone={() => setScheduleModal(true)} /> - + ); + } - // until app is done loading data, show the splash screen - if (isLoading) { - return ( - - this.setState({ scheduleModal: true })} - /> - - ); - } - - // if user needs to login, do splash grow/fade out animation then show login - if (needsLogin) { - return ( - + - - {!this.state.scheduleModal && splashGrowModal} - - - - ); - } + {!scheduleModal && splashGrowModal} + + + + ); + } - const showEventOnboard = this.state.pastEventOnboardID !== hackathon.id; + const showEventOnboard = pastEventOnboardID !== hackathon.id; - // if logging in with a hexlabs email - const showCheckin = /@hexlabs.org\s*$/.test(this.state.user.email) + // if logging in with a hexlabs email + const showCheckin = /@hexlabs.org\s*$/.test(user.email) - // once logged in and all data is loaded, present full app after grow animation - return ( - + - - - {!this.state.scheduleModal && splashGrowModal} - - - - {/* TODO: when need tab bottom bar, convert "Stack." to "Tab." and remoe headerMode="none" and finally add different screens below */} - ({ - tabBarIcon: ({ focused, color, size }) => { - let icon; - const selectedColor = focused - ? this.props.styles.tintColor.color - : this.props.styles.text.color; - - if (route.name === "Schedule") { - icon = faCalendar; - } else if (route.name === "Information") { - icon = faInfoCircle; - } else if (route.name === "ScavengerHunt") { - icon = faMapSigns - } else if (route.name === "CheckIn") { - icon = faClipboardCheck; - } - - return ( - - ); - }, - })} - > - {showEventOnboard ? ( - ( - { - this.setState({ pastEventOnboardID: hackathon.id }); - AsyncStorage.setItem( - "pastEventOnboardID", - hackathon.id - ); - }} - > - )} - > - ) : ( - - )} - + {!scheduleModal && splashGrowModal} + + + + {/* TODO: when need tab bottom bar, convert "Stack." to "Tab." and remoe headerMode="none" and finally add different screens below */} + ({ + tabBarIcon: ({ focused, color, size }) => { + let icon; + const selectedColor = focused + ? props.styles.tintColor.color + : props.styles.text.color; + + if (route.name === "Schedule") { + icon = faCalendar; + } else if (route.name === "Information") { + icon = faInfoCircle; + } else if (route.name === "ScavengerHunt") { + icon = faMapSigns + } else if (route.name === "CheckIn") { + icon = faClipboardCheck; + } + + return ( + + ); + }, + })} + > + {showEventOnboard ? ( - + name="Schedule" + children={() => ( + { + setPastEventOnboardID(hackathon.id) + AsyncStorage.setItem( + "pastEventOnboardID", + hackathon.id + ); + }} + > + )} + > + ) : ( - - - - - - ); - } + )} + + + + + + + + + + ); } export default withThemeHook(App); From 1e52f0667f09fd70dbb45668ec2914437841c3fc Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 04:47:46 -0400 Subject: [PATCH 012/102] refactored info tab and and added key --- info/InformationTab.js | 210 ++++++++++++++++++++--------------------- 1 file changed, 104 insertions(+), 106 deletions(-) diff --git a/info/InformationTab.js b/info/InformationTab.js index f8fab7da..dd9381b7 100644 --- a/info/InformationTab.js +++ b/info/InformationTab.js @@ -13,118 +13,116 @@ import { Card } from "../components/Card"; import { Linking } from "react-native"; import FontMarkdown from "../components/FontMarkdown"; -export class InformationTab extends Component { - render() { - return ( - - {({ dynamicStyles }) => ( - - {({ hackathon }) => { - // create button blocks for "Join Slack", "View Event site", etc - const buttonBlock = hackathon.blocks.find( - (e) => e.slug && e.slug === "info-button-links" - ); - - const faqBlock = hackathon.blocks.find( - (e) => e.slug && e.slug === "info-faq" - ); - - headerButtons = []; - - if (buttonBlock && buttonBlock.content) { - const buttonJSON = JSON.parse(buttonBlock.content); - if (buttonJSON) { - headerButtons = buttonJSON.map((button) => { - return ( - { - Linking.openURL(button.url).catch((err) => { - if (err) { - if (button.backupURL) { - Linking.openURL(button.backupURL).catch((err) => - Alert.alert( - "Redirect Error", - "The link you selected cannot be opened." - ) - ); - } else { +export function InformationTab(props) { + return ( + + {({ dynamicStyles }) => ( + + {({ hackathon }) => { + // create button blocks for "Join Slack", "View Event site", etc + const buttonBlock = hackathon.blocks.find( + (e) => e.slug && e.slug === "info-button-links" + ); + + const faqBlock = hackathon.blocks.find( + (e) => e.slug && e.slug === "info-faq" + ); + + headerButtons = []; + + if (buttonBlock && buttonBlock.content) { + const buttonJSON = JSON.parse(buttonBlock.content); + if (buttonJSON) { + headerButtons = buttonJSON.map((button) => { + return ( + { + Linking.openURL(button.url).catch((err) => { + if (err) { + if (button.backupURL) { + Linking.openURL(button.backupURL).catch((err) => Alert.alert( "Redirect Error", "The link you selected cannot be opened." - ); - } + ) + ); + } else { + Alert.alert( + "Redirect Error", + "The link you selected cannot be opened." + ); } - }); - }} - > - - {button.title} - - - ); - }); - } - } - - let infoBlocks = hackathon.blocks.filter( - (e) => e.slug && e.slug === "info-faq" - ); - - // let faqCopy = [...hackathon.faqs]; - // let faqList = []; - // // sort faq based on priority so important questions come first - // faqCopy.sort(function (a, b) { - // return parseFloat(a.index) - parseFloat(b.index); - // }); - - // for (i in faqCopy) { - // faqList.push( - // - // **{faqCopy[i].question}** - // , - // - // {faqCopy[i].answer} - // - // ); - // } - - return ( - - - {"Welcome to " + hackathon.name} - - - {headerButtons} - - {infoBlocks.map((block, i) => ( - - - {block.name} + } + }); + }} + > + + {button.title} - - - - - {block.content} - - - + + ); + }); + } + } + + let infoBlocks = hackathon.blocks.filter( + (e) => e.slug && e.slug === "info-faq" + ); + + // let faqCopy = [...hackathon.faqs]; + // let faqList = []; + // // sort faq based on priority so important questions come first + // faqCopy.sort(function (a, b) { + // return parseFloat(a.index) - parseFloat(b.index); + // }); + + // for (i in faqCopy) { + // faqList.push( + // + // **{faqCopy[i].question}** + // , + // + // {faqCopy[i].answer} + // + // ); + // } + + return ( + + + {"Welcome to " + hackathon.name} + + + {headerButtons} + + {infoBlocks.map((block, i) => ( + + + {block.name} + + + + + + {block.content} + + - ))} - - ); - }} - - )} - - ); - } + + ))} + + ); + }} + + )} + + ); } const styles = StyleSheet.create({ From fd831c75bb430be263732dda6e7ee71dcaee5c33 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 12:06:02 -0400 Subject: [PATCH 013/102] Made schedule mostly functional components and adjusted/reimplemented the way redux is handled for starring events and viewing the starred schedule --- App.js | 99 +++---- schedule/EventBottomSheet.js | 116 ++++---- schedule/ScheduleEventCell.js | 154 +++++------ schedule/ScheduleStackScreen.js | 101 ++++--- schedule/ScheduleTab.js | 260 +++++++++--------- .../hackathon/HackathonActionTypes.ts | 2 + .../hackathon/HackathonReducer.js | 44 ++- state_management/hackathon/index.js | 18 +- 8 files changed, 408 insertions(+), 386 deletions(-) diff --git a/App.js b/App.js index 2c248ed7..45cf5a93 100644 --- a/App.js +++ b/App.js @@ -216,50 +216,53 @@ function App(props) { ); }, [isStarSchedule]) - useEffect(() => { - updateStorage() - }, [starredIds]) - - const updateStorage = () => { - AsyncStorage.setItem("starredIds", JSON.stringify(starredIds)); - } - - const toggleIsStarSchedule = () => { - setIsStarSchedule(!isStarSchedule) - }; - - const toggleStarred = (event) => { - const toggleEventId = event.id; - - isNowStarred = starredIds.indexOf(toggleEventId) == -1; - - let eventIdNumber = toggleEventId.replace(/\D/g, "").substring(1, 5); - eventIdNumber = Number.parseInt(eventIdNumber); - - if (isNowStarred) { - // schedule notification for 15 min before - PushNotification.localNotificationSchedule({ - channelId: "hackgt-channel", - id: eventIdNumber + "", // map string into a unique id for cancellation - message: event.name + " is starting in 15 minutes! ", - date: new Date(turnToEst(event.startDate).toDate() - 15 * 60 * 1000), // schedule it for its time - 15 minutes - }); - - // add to starred state, then update storage - setStarredIds([...starredIds, toggleEventId]); - - return true; - } else { - // cancel notification if previously starred - PushNotification.cancelLocalNotifications({ - id: eventIdNumber + "", - }); - - // remove from starred state, then update storage - setStarredIds(starredIds.filter((id) => id !== toggleEventId)); - return false; - } - }; + // useEffect(() => { + // console.log('toggling starred ids', starredIds) + // updateStorage() + // }, [starredIds]) + + // const updateStorage = () => { + // AsyncStorage.setItem("starredIds", JSON.stringify(starredIds)); + // } + + // Not used anymore, but keeping just in case (look at HackathonReducer.js) + // const toggleIsStarSchedule = () => { + // setIsStarSchedule(!isStarSchedule) + // }; + + // Not used anymore, but keeping just in case (look at HackathonReducer.js) + // const toggleStarred = (event) => { + // const toggleEventId = event.id; + + // const isNowStarred = starredIds.indexOf(toggleEventId) == -1; + + // let eventIdNumber = toggleEventId.replace(/\D/g, "").substring(1, 5); + // eventIdNumber = Number.parseInt(eventIdNumber); + + // if (isNowStarred) { + // // schedule notification for 15 min before + // PushNotification.localNotificationSchedule({ + // channelId: "hackgt-channel", + // id: eventIdNumber + "", // map string into a unique id for cancellation + // message: event.name + " is starting in 15 minutes! ", + // date: new Date(turnToEst(event.startDate).toDate() - 15 * 60 * 1000), // schedule it for its time - 15 minutes + // }); + + // // add to starred state, then update storage + // setStarredIds([...starredIds, toggleEventId]); + + // return true; + // } else { + // // cancel notification if previously starred + // PushNotification.cancelLocalNotifications({ + // id: eventIdNumber + "", + // }); + + // // remove from starred state, then update storage + // setStarredIds(starredIds.filter((id) => id !== toggleEventId)); + // return false; + // } + // }; const logout = async () => { fetch(`${authUrl}/api/user/logout`, { @@ -383,14 +386,12 @@ function App(props) { dynamicStyles: props.styles, }} > - - + ); } diff --git a/schedule/EventBottomSheet.js b/schedule/EventBottomSheet.js index ca2fefbd..c22131d8 100644 --- a/schedule/EventBottomSheet.js +++ b/schedule/EventBottomSheet.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { useRef, useContext, useState } from "react"; import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; import { EventTypeView } from "./EventTypeView"; import RBSheet from "react-native-raw-bottom-sheet"; @@ -9,9 +9,13 @@ import { HackathonContext, ThemeContext } from "../context"; import FontMarkdown from "../components/FontMarkdown"; import { Linking } from "react-native"; -export class EventBottomSheet extends Component { - bottomSheetContent = () => { - const event = this.props.event; +export function EventBottomSheet(props) { + const { state, toggleStar } = useContext(HackathonContext) + const sheetRef = useRef(null) + const [addStarButton, setAddStarButton] = useState(props.event ? state.starredIds.indexOf(props.event.id) == -1 : true) + + const bottomSheetContent = () => { + const event = props.event; const title = event.name; const description = event.description; const location = @@ -30,10 +34,7 @@ export class EventBottomSheet extends Component { return ( - {({ dynamicStyles }) => ( - - {({ starredIds }) => { - const addStarButton = starredIds.indexOf(event.id) == -1; + {({ dynamicStyles }) => { const eventTags = event.tags ? event.tags.map((tag) => tag.name) : []; @@ -45,7 +46,7 @@ export class EventBottomSheet extends Component { { - this.RBSheet.close(); + props.reference.current.close(); }} > - - {({ toggleStar }) => { - return ( - - this.setState({ - addStarButton: !toggleStar(this.props.event), - }) - } - > - {addStarButton ? ( - - ) : ( - - )} - - ); - }} - + { + toggleStar(props.event) + setAddStarButton(state.starredIds.indexOf(props.event.id) == -1) + } + } + > + {addStarButton ? ( + + ) : ( + + )} + ); }} - - )} ); }; - render() { - return ( - - {({ dynamicStyles }) => ( - { - this.props.reference(ref); - this.RBSheet = ref; - }} - height={450} - openDuration={250} - closeDuration={250} - closeOnDragDown - customStyles={{ - container: { - backgroundColor: - dynamicStyles.tritaryBackgroundColor.backgroundColor, - borderTopLeftRadius: 20, - borderTopRightRadius: 20, - }, - draggableIcon: { - backgroundColor: - dynamicStyles.secondaryBackgroundColor.backgroundColor, - }, - }} - > - {this.props.event != null ? this.bottomSheetContent() : null} - - )} - - ); - } + return ( + + {({ dynamicStyles }) => ( + + {props.event != null ? bottomSheetContent() : null} + + )} + + ); } const styles = StyleSheet.create({ diff --git a/schedule/ScheduleEventCell.js b/schedule/ScheduleEventCell.js index 40cb1d03..cd82cd77 100644 --- a/schedule/ScheduleEventCell.js +++ b/schedule/ScheduleEventCell.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { Component, useState, useContext } from "react"; import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; import StarOff from "../assets/StarOff"; import StarOn from "../assets/StarOn"; @@ -6,94 +6,84 @@ import { HackathonContext, ThemeContext } from "../context"; import { EventTypeView } from "./EventTypeView"; import { Card } from "../components/Card"; -export class ScheduleEventCell extends Component { - constructor(props) { - super(props); - - this.state = { - isStarred: false, - }; - } - - render() { - const event = this.props.event; - const eventType = - event != null && event.type != null - ? event.type - : { name: "none", color: "gray" }; - const title = event.name; - const location = - event != null && - event.location != null && - event.location[0] != null && - event.location[0].name != null - ? event.location[0].name + " • " - : ""; - const start = event.startTime; - const end = event.endTime; - return ( - - {({ dynamicStyles }) => ( - - {({ toggleStar, starredIds }) => { - const isStarred = starredIds.indexOf(event.id) != -1; - return ( - - - - {title} - - toggleStar(event)} - > - {isStarred ? ( - - ) : ( - - )} - - +export function ScheduleEventCell(props) { + const { state, toggleStar } = useContext(HackathonContext) + const [isStarred, setIsStarred] = useState(false) + const event = props.event; + const eventType = + event != null && event.type != null + ? event.type + : { name: "none", color: "gray" }; + const title = event.name; + const location = + event != null && + event.location != null && + event.location[0] != null && + event.location[0].name != null + ? event.location[0].name + " • " + : ""; + const start = event.startTime; + const end = event.endTime; + return ( + + {({ dynamicStyles }) => { + const isStarred = state.starredIds.indexOf(event.id) != -1; + console.log('toggling star function: ', toggleStar) + return ( + + - {location} - {start} - {end} + {title} + { console.log('toggling star pressed', event.id);toggleStar(event)}} + > + {isStarred ? ( + + ) : ( + + )} + + + + + {location} + {start} - {end} + - - - {event.tags && - event.tags.map((tag) => ( - - {tag.name} - - ))} - - - ); - }} - - )} - - ); - } + + + {event.tags && + event.tags.map((tag) => ( + + {tag.name} + + ))} + + + ); + }} + + ); } const styles = StyleSheet.create({ diff --git a/schedule/ScheduleStackScreen.js b/schedule/ScheduleStackScreen.js index af43e38f..f914dfcf 100644 --- a/schedule/ScheduleStackScreen.js +++ b/schedule/ScheduleStackScreen.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import { TouchableOpacity } from "react-native-gesture-handler"; import { View } from "react-native"; import { useDynamicStyleSheet } from "react-native-dark-mode"; @@ -15,58 +15,55 @@ import StarOffIcon from "../assets/StarLargeOff"; import HackGTIcon from "../assets/HackGTIcon"; export default function ScheduleStackScreen({ navigation }) { - const dStyles = useDynamicStyleSheet(dynamicStyles); + const { state, toggleIsStarSchedule } = useContext(HackathonContext) + const dStyles = useDynamicStyleSheet(dynamicStyles) return ( - - {({ isStarSchedule, toggleIsStarSchedule }) => ( - - , - headerRight: () => ( - - - {isStarSchedule ? ( - - ) : ( - - )} - - { - navigation.navigate("ScheduleSearch"); - }} - > - - - - ), - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - + + , + headerRight: () => ( + + + {state.isStarSchedule ? ( + + ) : ( + + )} + + { + navigation.navigate("ScheduleSearch"); + }} + > + + + + ), + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + - - - )} - + + ); } \ No newline at end of file diff --git a/schedule/ScheduleTab.js b/schedule/ScheduleTab.js index bc48aa33..39902137 100644 --- a/schedule/ScheduleTab.js +++ b/schedule/ScheduleTab.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { useState, useEffect, useContext, useRef } from "react"; import { TouchableOpacity, @@ -21,155 +21,147 @@ import { getCurrentEventIndex, } from "../cms/DataHandler"; -export class ScheduleTab extends Component { - static contextType = HackathonContext; +export function ScheduleTab(props) { + const { state } = useContext(HackathonContext); + const sheetRef = useRef(null) + const [selectedEvent, setSelectedEvent] = useState(null) + const [eventsHappeningNow, setEventsHappeningNow] = useState([]) - state = { - selectedEvent: null, - eventsHappeningNow: [], - }; - - componentDidMount() { - this.refreshEventState(); + useEffect(() => { + console.log('REFRESHING') + refreshEventState() // update time changes whenever app opens AppState.addEventListener("change", (state) => { if (state == "active") { - this.refreshEventState(); + refreshEventState() } }); - } + }, []) - refreshEventState() { - const events = this.context.hackathon.events; - - this.setState({ - eventsHappeningNow: getEventsHappeningNow(events), - }); + const refreshEventState = () => { + const events = state.hackathon.events; + setEventsHappeningNow(getEventsHappeningNow(events)) } - setSelectedEvent = (event) => { + const onPressEvent = (event) => { if (event) { - this.setState({ selectedEvent: event }); - this.RBSheet.open(); + setSelectedEvent(event) + console.log('REF', sheetRef) + sheetRef.current.open(); } else { - this.setState({ selectedEvent: null }); - this.RBSheet.close(); + setSelectedEvent(null) + sheetRef.current.close(); } }; - render() { - return ( - - {({ dynamicStyles }) => ( - - {({ hackathon, isStarSchedule, starredIds }) => { - let events = hackathon.events; - const eventsHappeningNow = this.state.eventsHappeningNow; - const hasEventsNow = eventsHappeningNow.length > 0; - const happeningNowView = ( - - - - - item && item.id ? item.id : index - } - renderItem={({ item }) => { - return ( - { - this.setSelectedEvent(item); - }} - > - - - ); + return ( + + {({ dynamicStyles }) => { + console.log('PENIS', state) + let events = state.hackathon.events; + const hasEventsNow = eventsHappeningNow.length > 0; + const happeningNowView = ( + + + + + item && item.id ? item.id : index + } + renderItem={({ item }) => { + console.log("ITEM: ", item) + return ( + { + onPressEvent(item); }} - /> - - - ); - - if (isStarSchedule) { - events = events.filter( - (event) => starredIds.indexOf(event.id) != -1 - ); - } - - const daysForEvents = getDaysForEvent(events); - const currentDayIndex = getCurrentDayIndex(events); - const initialEventIndex = getCurrentEventIndex( - events, - daysForEvents[currentDayIndex] - ); - - if (isStarSchedule && starredIds.length === 0) { - return ( - - You have no starred events. - - ); - } else if (events.length == 0) { - return ( - - No events found. - - ); - } - - return ( - - (this.RBSheet = ref)} - event={this.state.selectedEvent} - /> - - {hasEventsNow ? happeningNowView : null} - {!hasEventsNow ? : null} - - - ); - }} - - )} - - ); - } + > + + + ); + }} + /> + + + ); + + if (state.isStarSchedule) { + events = events.filter( + (event) => state.starredIds.indexOf(event.id) != -1 + ); + } + + const daysForEvents = getDaysForEvent(events); + const currentDayIndex = getCurrentDayIndex(events); + const initialEventIndex = getCurrentEventIndex( + events, + daysForEvents[currentDayIndex] + ); + + if (state.isStarSchedule && state.starredIds.length === 0) { + return ( + + You have no starred events. + + ); + } else if (events.length == 0) { + return ( + + No events found. + + ); + } + + return ( + + + + {hasEventsNow ? happeningNowView : null} + {!hasEventsNow ? : null} + + + ); + }} + + ); } const styles = StyleSheet.create({ diff --git a/state_management/hackathon/HackathonActionTypes.ts b/state_management/hackathon/HackathonActionTypes.ts index e69de29b..397262d5 100644 --- a/state_management/hackathon/HackathonActionTypes.ts +++ b/state_management/hackathon/HackathonActionTypes.ts @@ -0,0 +1,2 @@ +export const TOGGLE_STAR = "TOGGLE_STAR" +export const TOGGLE_STAR_SCHEDULE = "TOGGLE_STAR_SCHEDULE" \ No newline at end of file diff --git a/state_management/hackathon/HackathonReducer.js b/state_management/hackathon/HackathonReducer.js index 3c040cee..90699951 100644 --- a/state_management/hackathon/HackathonReducer.js +++ b/state_management/hackathon/HackathonReducer.js @@ -1,4 +1,8 @@ -import { } from './HackathonActionTypes' +import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE } from './HackathonActionTypes' +import { turnToEst } from "../../cms/DataHandler"; + +import AsyncStorage from "@react-native-community/async-storage" +import PushNotification from "react-native-push-notification" export const initialValue = { @@ -6,7 +10,45 @@ export const initialValue = { export function hackathonReducer(state, action) { switch (action.type) { + case TOGGLE_STAR: + return { ...state, 'starredIds': toggleStarred(state.starredIds, action.value) } + case TOGGLE_STAR_SCHEDULE : + return { ...state, 'isStarSchedule': !state.isStarSchedule } default: return state } } + +function toggleStarred(starredIds, event) { + const toggleEventId = event.id; + + const isNowStarred = starredIds.indexOf(toggleEventId) == -1; + + let eventIdNumber = toggleEventId.replace(/\D/g, "").substring(1, 5); + eventIdNumber = Number.parseInt(eventIdNumber); + + if (isNowStarred) { + // schedule notification for 15 min before + PushNotification.localNotificationSchedule({ + channelId: "hackgt-channel", + id: eventIdNumber + "", // map string into a unique id for cancellation + message: event.name + " is starting in 15 minutes! ", + date: new Date(turnToEst(event.startDate).toDate() - 15 * 60 * 1000), // schedule it for its time - 15 minutes + }); + + // add to starred state, then update storage + const newStarred = [...starredIds, toggleEventId] + AsyncStorage.setItem("starredIds", JSON.stringify(starredIds)); + return newStarred; + } else { + // cancel notification if previously starred + PushNotification.cancelLocalNotifications({ + id: eventIdNumber + "", + }); + + // remove from starred state, then update storage + const newStarred = starredIds.filter((id) => id !== toggleEventId); + AsyncStorage.setItem("starredIds", JSON.stringify(starredIds)); + return newStarred; + } +}; \ No newline at end of file diff --git a/state_management/hackathon/index.js b/state_management/hackathon/index.js index 2402f065..66070562 100644 --- a/state_management/hackathon/index.js +++ b/state_management/hackathon/index.js @@ -1,16 +1,26 @@ import React from 'react' -import { initialValue, hackathonReducer } from './HackathonReducer' -import { } from "./HackathonActionTypes"; +import { hackathonReducer } from './HackathonReducer' +import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE } from "./HackathonActionTypes"; import { HackathonContext } from '../../context' -export default function HackathonProvider({ children }) { +export default function HackathonProvider({ initialValue, children }) { const [state, dispatch] = React.useReducer(hackathonReducer, initialValue) const value = { - state: state + state: state, + toggleStar: (event) => dispatch({ + type: TOGGLE_STAR, + value: event + }), + toggleIsStarSchedule: () => dispatch({ + type: TOGGLE_STAR_SCHEDULE, + value: null + }) } + console.log('value', value) + return ( {children} From c7043d44381233085b0018d79ac624af98e80bd6 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 12:34:26 -0400 Subject: [PATCH 014/102] fixed bug where addStarButton wouldn't be set properly initially --- components/FilterSelect.js | 303 +++++++++--------- schedule/EventBottomSheet.js | 10 +- schedule/ScheduleSearch.js | 601 +++++++++++++++++------------------ 3 files changed, 443 insertions(+), 471 deletions(-) diff --git a/components/FilterSelect.js b/components/FilterSelect.js index 6d2d19fc..88c085a9 100644 --- a/components/FilterSelect.js +++ b/components/FilterSelect.js @@ -1,177 +1,162 @@ import { StyleSheet, View, Text } from "react-native"; -import React, { Component } from "react"; +import React, { useState, useContext } from "react"; import { ThemeContext, HackathonContext } from "../context"; import { TouchableOpacity } from "react-native-gesture-handler"; -export default class FilterSelect extends Component { - constructor() { - super(); - this.state = { - showMenu: false, - filterType: null, - }; - } +export default function FilterSelect(props) { + const { state } = useContext(HackathonContext) + const eventTypes = state.eventTypes - render() { - hideFilterMenu = (item) => { - let newFilter = item.name === "clear" ? null : item; + const [showMenu, setShowMenu] = useState(false) + const [filterType, setFilterType] = useState(null) - this.setState({ - showMenu: false, - filterType: newFilter, - }); + const hideFilterMenu = (item) => { + let newFilter = item.name === "clear" ? null : item; + setShowMenu(false) + setFilterType(newFilter) - this.props.onFilterMenuChange(false); + props.onFilterMenuChange(false); - if (this.props.onSelectFilter) { - this.props.onSelectFilter(newFilter); - } - }; + if (props.onSelectFilter) { + props.onSelectFilter(newFilter); + } + } - return ( - - {({ eventTypes }) => ( - - {({ dynamicStyles }) => { - const filterList = [...eventTypes]; - // filterList.push({ name: "clear", color: "#C3C3C3" }); + return ( + + {({ dynamicStyles }) => { + const filterList = [...eventTypes]; + // filterList.push({ name: "clear", color: "#C3C3C3" }); + + if (showMenu) { + return ( + + + { + setShowMenu(false) + props.onFilterMenuChange(false); + }} + > + + {" "} + x{" "} + + + + {filterList.map(function (item, index) { + const name = item.name ?? "unknown"; + const color = item.color ?? "white"; - if (this.state.showMenu) { return ( - - - { - this.setState({ showMenu: false }); - this.props.onFilterMenuChange(false); + + + - - {" "} - x{" "} - - - - {filterList.map(function (item, index) { - const name = item.name ?? "unknown"; - const color = item.color ?? "white"; - - return ( - - - - {" "} - {name}{" "} - - - - ); - })} + {" "} + {name}{" "} + + ); - } else { - if (this.state.filterType) { - return ( - - { - this.setState({ - showMenu: true, - }); - this.props.onFilterMenuChange(true); - }} - > - - - {" "} - {this.state.filterType.name}{" "} - - { - hideFilterMenu({ name: "clear" }); - }} - > - x - - - - - ); - } else { - return ( - - { - this.setState({ - showMenu: true, - }); - this.props.onFilterMenuChange(true); - }} - > - - {" "} - Filter{" "} - - - - ); - } - } - }} - - )} - - ); - } + })} + + ); + } else { + if (filterType) { + return ( + + { + setShowMenu(true) + props.onFilterMenuChange(true); + }} + > + + + {" "} + {filterType.name}{" "} + + { + hideFilterMenu({ name: "clear" }); + }} + > + x + + + + + ); + } else { + return ( + + { + setShowMenu(true) + props.onFilterMenuChange(true); + }} + > + + {" "} + Filter{" "} + + + + ); + } + } + }} + + ); } const styles = StyleSheet.create({ diff --git a/schedule/EventBottomSheet.js b/schedule/EventBottomSheet.js index c22131d8..25f4f659 100644 --- a/schedule/EventBottomSheet.js +++ b/schedule/EventBottomSheet.js @@ -1,4 +1,4 @@ -import React, { useRef, useContext, useState } from "react"; +import React, { useEffect, useContext, useState } from "react"; import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; import { EventTypeView } from "./EventTypeView"; import RBSheet from "react-native-raw-bottom-sheet"; @@ -11,9 +11,11 @@ import { Linking } from "react-native"; export function EventBottomSheet(props) { const { state, toggleStar } = useContext(HackathonContext) - const sheetRef = useRef(null) const [addStarButton, setAddStarButton] = useState(props.event ? state.starredIds.indexOf(props.event.id) == -1 : true) - + console.log('SELECTED EVENT: ', props.event) + useEffect(() => { + setAddStarButton(props.event ? state.starredIds.indexOf(props.event.id) == -1 : false) + }) const bottomSheetContent = () => { const event = props.event; const title = event.name; @@ -102,8 +104,8 @@ export function EventBottomSheet(props) { { + setAddStarButton(!addStarButton) toggleStar(props.event) - setAddStarButton(state.starredIds.indexOf(props.event.id) == -1) } } > diff --git a/schedule/ScheduleSearch.js b/schedule/ScheduleSearch.js index 19b33d95..b2ad7bc3 100644 --- a/schedule/ScheduleSearch.js +++ b/schedule/ScheduleSearch.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { useState, useContext, useRef } from "react"; import { HackathonContext, ThemeContext } from "../context"; import { getEventsForDay, getDaysForEvent } from "../cms/DataHandler"; import { SearchBar } from "react-native-elements"; @@ -18,13 +18,24 @@ import { EventBottomSheet } from "./EventBottomSheet"; import FilterSelect from "../components/FilterSelect"; import TagScrollView from "../components/TagScrollView"; -export class ScheduleSearch extends Component { - backButton = () => { - const { navigation } = this.props; +export function ScheduleSearch(props) { + const { state } = useContext(HackathonContext) + const hackathon = state.hackathon + + const [searchText, setSearchText] = useState("") + const [selectedEvent, setSelectedEvent] = useState(null) + const [filterItem, setFilterItem] = useState(null) + const [highlightedTags, setHighlightedTags] = useState([]) + const [filterMenuOpen, setFilterMenuOpen] = useState(false) + + const sheetRef = useRef(null) + + const backButton = () => { + const { navigation } = props; return ( navigation.goBack()} > @@ -33,326 +44,300 @@ export class ScheduleSearch extends Component { ); }; - constructor() { - super(); - this.state = { - searchText: "", - selectedEvent: null, - filterItem: null, - highlightedTags: [], - filterMenuOpen: false, - }; - } - - setSelectedEvent = (event) => { + const onPressEvent = (event) => { if (event) { - this.setState({ selectedEvent: event }); - this.RBSheet.open(); + setSelectedEvent(event) + sheetRef.current.open(); } else { - this.setState({ selectedEvent: null }); - this.RBSheet.close(); + setSelectedEvent(null) + sheetRef.current.close(); } }; - searchEvents = (value) => { - this.setState({ searchText: value }); + const searchEvents = (value) => { + setSearchText(value) }; - render() { - return ( - - {({ dynamicStyles }) => ( - - {({ hackathon }) => { - let highlightedTagsCopy = [...this.state.highlightedTags]; - let sortedEvents = [...hackathon.events]; - var days = [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ]; - - sortedEvents = sortedEvents.filter((event) => { - var date = new Date(event.startDate); - var dayName = days[date.getDay()]; - let eventNameLowerCase = event.name.toLowerCase(); - let eventDescriptionLowerCase = ""; - let eventTypeLowerCase = ""; - const name = - event.type && event.type.name ? event.type.name : null; - - if (event.description != null) { - eventDescriptionLowerCase = event.description.toLowerCase(); + return ( + + {({ dynamicStyles }) => { + let highlightedTagsCopy = [...highlightedTags]; + let sortedEvents = [...hackathon.events]; + var days = [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ]; + + sortedEvents = sortedEvents.filter((event) => { + var date = new Date(event.startDate); + var dayName = days[date.getDay()]; + let eventNameLowerCase = event.name.toLowerCase(); + let eventDescriptionLowerCase = ""; + let eventTypeLowerCase = ""; + const name = + event.type && event.type.name ? event.type.name : null; + + if (event.description != null) { + eventDescriptionLowerCase = event.description.toLowerCase(); + } + + if (name != null) { + eventTypeLowerCase = name.toLowerCase(); + } + + const filterName = + filterItem == null + ? null + : filterItem.name; + if (name === filterName) { + return ( + (eventNameLowerCase.includes( + searchText.trim().toLowerCase() + ) && + name === filterName) || + (eventDescriptionLowerCase.includes( + searchText.trim().toLowerCase() + ) && + name === filterName) || + (eventTypeLowerCase.includes( + searchText.trim().toLowerCase() + ) && + name === filterName) || + (dayName.includes( + searchText.trim().toLowerCase() + ) && + name === filterName) + ); + } else if (filterName === null) { + return ( + eventNameLowerCase.includes( + searchText.trim().toLowerCase() + ) || + eventDescriptionLowerCase.includes( + searchText.trim().toLowerCase() + ) || + dayName.includes( + searchText.trim().toLowerCase() + ) || + eventTypeLowerCase.includes( + searchText.trim().toLowerCase() + ) + ); + } + }); + + let tagArr = []; + for (event of sortedEvents) { + for (var { name } of event.tags) { + tagArr.push(name); + } + } + + const counter = Object.create(null); + tagArr.forEach(function (tag) { + counter[tag] = (counter[tag] || 0) + 1; + }); + tagArr.sort(function (x, y) { + return counter[y] - counter[x]; + }); + + let uniquetagArr = [...new Set(tagArr)]; + + sortedEvents = sortedEvents.filter((event) => { + let result = event.tags && event.tags.map((a) => a.name); + let found = result.some((r) => + highlightedTags.includes(r) + ); + + if (highlightedTags.length != 0) { + if (!found) { + return false; + } + } + return true; + }); + + const events = []; + let eventDays = ["Friday", "Saturday", "Sunday"]; + + for (let day of getDaysForEvent(sortedEvents)) { + if (day == "friday") { + events.push({ day: eventDays[0] }); + } + if (day == "saturday") { + events.push({ day: eventDays[1] }); + } + if (day == "sunday") { + events.push({ day: eventDays[2] }); + } + for (const event of getEventsForDay(sortedEvents, day)) { + events.push(event); + } + } + + return ( + + + } - - if (name != null) { - eventTypeLowerCase = name.toLowerCase(); - } - - const filterName = - this.state.filterItem == null - ? null - : this.state.filterItem.name; - if (name === filterName) { - return ( - (eventNameLowerCase.includes( - this.state.searchText.trim().toLowerCase() - ) && - name === filterName) || - (eventDescriptionLowerCase.includes( - this.state.searchText.trim().toLowerCase() - ) && - name === filterName) || - (eventTypeLowerCase.includes( - this.state.searchText.trim().toLowerCase() - ) && - name === filterName) || - (dayName.includes( - this.state.searchText.trim().toLowerCase() - ) && - name === filterName) - ); - } else if (filterName === null) { - return ( - eventNameLowerCase.includes( - this.state.searchText.trim().toLowerCase() - ) || - eventDescriptionLowerCase.includes( - this.state.searchText.trim().toLowerCase() - ) || - dayName.includes( - this.state.searchText.trim().toLowerCase() - ) || - eventTypeLowerCase.includes( - this.state.searchText.trim().toLowerCase() - ) - ); - } - }); - - let tagArr = []; - for (event of sortedEvents) { - for (var { name } of event.tags) { - tagArr.push(name); - } - } - - counter = Object.create(null); - tagArr.forEach(function (tag) { - counter[tag] = (counter[tag] || 0) + 1; - }); - tagArr.sort(function (x, y) { - return counter[y] - counter[x]; - }); - - let uniquetagArr = [...new Set(tagArr)]; - - sortedEvents = sortedEvents.filter((event) => { - let result = event.tags && event.tags.map((a) => a.name); - let found = result.some((r) => - this.state.highlightedTags.includes(r) - ); - - if (this.state.highlightedTags.length != 0) { - if (!found) { - return false; + containerStyle={[ + styles.searchContainer, + dynamicStyles.backgroundColor, + dynamicStyles.searchBorderTopColor, + dynamicStyles.searchBorderBottomColor, + ]} + inputContainerStyle={[ + styles.inputContainer, + dynamicStyles.searchBackgroundColor, + ]} + clearIcon={null} + disabled={filterMenuOpen} + lightTheme + round + placeholder="Search..." + onChangeText={(value) => searchEvents(value)} + value={searchText} + /> + + {backButton()} + + + + { + setFilterItem(newFilter) + setHighlightedTags([]) } } - return true; - }); - - const events = []; - let eventDays = ["Friday", "Saturday", "Sunday"]; - - for (let day of getDaysForEvent(sortedEvents)) { - if (day == "friday") { - events.push({ day: eventDays[0] }); - } - if (day == "saturday") { - events.push({ day: eventDays[1] }); + onFilterMenuChange={(isOpen) => + setFilterMenuOpen(isOpen) } - if (day == "sunday") { - events.push({ day: eventDays[2] }); - } - for (const event of getEventsForDay(sortedEvents, day)) { - events.push(event); - } - } - - return ( - - - + /> + + {/* Trending Topics */} + {uniquetagArr.length > 0 && ( + + + Trending Topics + + {highlightedTags.length > 0 && ( + + setHighlightedTags([]) } - containerStyle={[ - styles.searchContainer, - dynamicStyles.backgroundColor, - dynamicStyles.searchBorderTopColor, - dynamicStyles.searchBorderBottomColor, - ]} - inputContainerStyle={[ - styles.inputContainer, - dynamicStyles.searchBackgroundColor, + style={[ + styles.clearButtonStyle, + dynamicStyles.borderColor, ]} - clearIcon={null} - disabled={this.state.filterMenuOpen} - lightTheme - round - placeholder="Search..." - onChangeText={(value) => this.searchEvents(value)} - value={this.state.searchText} - /> - - {this.backButton()} - - - - - this.setState({ - filterItem: newFilter, - highlightedTags: [], - }) - } - onFilterMenuChange={(isOpen) => - this.setState({ - filterMenuOpen: isOpen, - }) - } - /> - - {/* Trending Topics */} - {uniquetagArr.length > 0 && ( - - - Trending Topics - - {this.state.highlightedTags.length > 0 && ( - - this.setState({ - highlightedTags: [], - }) - } + > + + clear + + + )} + + )} + {/*Tags */} + + { + if (highlightedTags.includes(tag)) { + highlightedTagsCopy.splice( + highlightedTagsCopy.indexOf(tag), + 1 + ); + setHighlightedTags(highlightedTagsCopy); + } else { + highlightedTagsCopy.push(tag), + setHighlightedTags(highlightedTagsCopy) + } + }} + /> + + + {events.length == 0 ? ( + + {" "} + No Events Found{" "} + + ) : ( + { + if (item.day) { + return ( + + - - clear + + {item.day} - - )} - - )} - {/*Tags */} - - { - if (this.state.highlightedTags.includes(tag)) { - highlightedTagsCopy.splice( - highlightedTagsCopy.indexOf(tag), - 1 - ); - this.setState({ - highlightedTags: highlightedTagsCopy, - }); - } else { - highlightedTagsCopy.push(tag), - this.setState({ - highlightedTags: highlightedTagsCopy, - }); - } - }} - /> - - - {events.length == 0 ? ( - - {" "} - No Events Found{" "} - - ) : ( - { - if (item.day) { - return ( - - - - {item.day} - - - - ); - } else { - return ( - { - this.setSelectedEvent(item); - }} - > - - - ); - } - }} - contentContainerStyle={{ - paddingBottom: 200, - }} - keyExtractor={(item, index) => - item && item.id ? item.id : index - } - /> - )} - (this.RBSheet = ref)} - event={this.state.selectedEvent} - /> - - - ); - }} - - )} - - ); - } + + + ); + } else { + return ( + { + onPressEvent(item); + }} + > + + + ); + } + }} + contentContainerStyle={{ + paddingBottom: 200, + }} + keyExtractor={(item, index) => + item && item.id ? item.id : index + } + /> + )} + + + + ); + }} + + ); } const styles = StyleSheet.create({ From d27028c3689240080348af660a6c11fd26d77555 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 12:39:28 -0400 Subject: [PATCH 015/102] spacing adjustments --- schedule/EventBottomSheet.js | 164 +++++++++++++++++------------------ 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/schedule/EventBottomSheet.js b/schedule/EventBottomSheet.js index 25f4f659..fab943e8 100644 --- a/schedule/EventBottomSheet.js +++ b/schedule/EventBottomSheet.js @@ -37,90 +37,90 @@ export function EventBottomSheet(props) { return ( {({ dynamicStyles }) => { - const eventTags = event.tags - ? event.tags.map((tag) => tag.name) - : []; - - return ( - tag.name) + : []; + + return ( + + { + props.reference.current.close(); + }} + > + + + + + {title} + + + {location} + {start} - {end} + + + + + {event.tags && + event.tags.map((tag) => ( + + {tag.name} + + ))} + + + {event.url !== null ? ( + Linking.openURL(event.url)} > - { - props.reference.current.close(); - }} - > - - - - - {title} - - - {location} - {start} - {end} + + Join - - - - {event.tags && - event.tags.map((tag) => ( - - {tag.name} - - ))} - - - {event.url !== null ? ( - Linking.openURL(event.url)} - > - - Join - - - ) : null} - - - {description} - - - - { - setAddStarButton(!addStarButton) - toggleStar(props.event) - } - } - > - {addStarButton ? ( - - ) : ( - - )} - - - - ); - }} + + ) : null} + + + {description} + + + + { + setAddStarButton(!addStarButton) + toggleStar(props.event) + } + } + > + {addStarButton ? ( + + ) : ( + + )} + + + + ); + }} ); }; From 6da465c2bee5a9ff588b040e560096e2f5d09e47 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 13:34:17 -0400 Subject: [PATCH 016/102] fixed a bug with eventTypes being an empty array in the hackathon context --- state_management/hackathon/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/state_management/hackathon/index.js b/state_management/hackathon/index.js index 66070562..85ddc6e5 100644 --- a/state_management/hackathon/index.js +++ b/state_management/hackathon/index.js @@ -8,7 +8,7 @@ export default function HackathonProvider({ initialValue, children }) { const [state, dispatch] = React.useReducer(hackathonReducer, initialValue) const value = { - state: state, + state: initialValue, toggleStar: (event) => dispatch({ type: TOGGLE_STAR, value: event @@ -19,7 +19,7 @@ export default function HackathonProvider({ initialValue, children }) { }) } - console.log('value', value) + console.log('value', value, initialValue) return ( From b6ce026240dcc52e2613cd641897d67d90d82634 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 13:36:36 -0400 Subject: [PATCH 017/102] made EventTypeView a functional component --- schedule/EventTypeView.js | 46 +++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/schedule/EventTypeView.js b/schedule/EventTypeView.js index 800404c1..b41631b2 100644 --- a/schedule/EventTypeView.js +++ b/schedule/EventTypeView.js @@ -1,31 +1,29 @@ -import React, { Component } from "react"; +import React from "react"; import { View, StyleSheet, Text } from "react-native"; import Svg, { Circle } from "react-native-svg"; -export class EventTypeView extends Component { - render() { - const radius = 6; - const size = radius * 2; - const eventType = this.props.eventType ?? { name: "none", color: "gray" }; - const color = eventType.color ?? "white"; +export function EventTypeView(props) { + const radius = 6; + const size = radius * 2; + const eventType = props.eventType ?? { name: "none", color: "gray" }; + const color = eventType.color ?? "white"; - return ( - - - - - - {eventType.name} - - - ); - } + return ( + + + + + + {eventType.name} + + + ); } const styles = StyleSheet.create({ From c0243a8a3339d68551ee6c98c46e6ad1b44af934 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 13:47:44 -0400 Subject: [PATCH 018/102] made ScheduleDayView a functional component --- schedule/ScheduleDayView.js | 194 +++++++++++++++++------------------- 1 file changed, 91 insertions(+), 103 deletions(-) diff --git a/schedule/ScheduleDayView.js b/schedule/ScheduleDayView.js index cf478ecb..e03c73c1 100644 --- a/schedule/ScheduleDayView.js +++ b/schedule/ScheduleDayView.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { useState, useEffect, useRef } from "react"; import { Text, @@ -21,64 +21,56 @@ import Underline from "../assets/UnderlineGradient"; import { getTimeblocksForDay, isEventHappeningNow } from "../cms/DataHandler"; import BackToTop from "../assets/ChevronUp"; -export class ScheduleDayView extends Component { - constructor(props) { - super(props); +export function ScheduleDayView(props) { - const dayIndex = - this.props.initialDayIndex == -1 ? 0 : this.props.initialDayIndex; + const initDayIndex = + props.initialDayIndex == -1 ? 0 : props.initialDayIndex; + const [dayIndex, setDayIndex] = useState(initDayIndex) - this.state = { - dayIndex: dayIndex, - }; + const tabListRef = useRef(null) + const currentScheduleRef = useRef(null) - this.tabListRef = React.createRef(); - this.currentScheduleRef = React.createRef(); - } - - componentDidMount() { - if (this.props.events.count > 0) { - this.tabListRef.current.scrollToIndex({ - index: this.state.dayIndex, + useEffect(() => { + if (props.events.count > 0) { + tabListRef.current.scrollToIndex({ + index: dayIndex, animated: false, }); - if (this.props.initialEventIndex > 0) { - if (this.currentScheduleRef != null) { - this.currentScheduleRef.scrollToIndex({ - index: this.props.initialEventIndex, + if (props.initialEventIndex > 0) { + if (currentScheduleRef != null && props.days[dayIndex] == currentDayString) { + currentScheduleRef.current.scrollToIndex({ + index: props.initialEventIndex, animated: false, }); } } } - } + }, []) - tabContent = (day) => ( + const tabContent = (day) => ( {({ dynamicStyles }) => { - const events = this.props.events; + const events = props.events; const currentDayString = day; const timeblocks = getTimeblocksForDay(events, currentDayString); return ( { - if (this.props.days[this.state.dayIndex] == currentDayString) { - this.currentScheduleRef = ref; - } - }} + ref={currentScheduleRef} showsVerticalScrollIndicator={false} contentContainerStyle={{ - paddingBottom: this.props.paddingHeight, + paddingBottom: props.paddingHeight, }} data={timeblocks} keyExtractor={(item, index) => (item && item.id ? item.id : index)} onScrollToIndexFailed={(error) => { setTimeout(() => { - this.currentScheduleRef.scrollToIndex({ - index: error.index, - animated: false, - }); + if (props.days[dayIndex] == currentDayString) { + currentScheduleRef.current.scrollToIndex({ + index: error.index, + animated: false, + }); + } }, 100); }} renderItem={({ item, index }) => { @@ -138,7 +130,7 @@ export class ScheduleDayView extends Component { { - this.props.onSelectEvent(item); + props.onSelectEvent(item); }} > @@ -152,14 +144,14 @@ export class ScheduleDayView extends Component { ); - dayTabView = (width) => { + const dayTabView = (width) => { return ( {({ dynamicStyles }) => ( - {this.props.days.map((dayString, i) => { - const isHighlight = this.state.dayIndex == i; + {props.days.map((dayString, i) => { + const isHighlight = dayIndex == i; let button; if (dayString == "friday") { @@ -191,9 +183,9 @@ export class ScheduleDayView extends Component { alignSelf: "center", top: 7, height: 3, - width: (width * 0.9) / this.props.days.length, + width: (width * 0.9) / props.days.length, }; - if (i == this.state.dayIndex) { + if (i == dayIndex) { underline = ( ); } else { @@ -220,9 +212,9 @@ export class ScheduleDayView extends Component { { - if (this.tabListRef.current != null) { - this.tabListRef.current.scrollToIndex({ index: i }); - this.setState({ dayIndex: i }); + if (tabListRef.current != null) { + tabListRef.current.scrollToIndex({ index: i }); + setDayIndex(i) } }} > @@ -238,18 +230,18 @@ export class ScheduleDayView extends Component { ); }; - backToTopButton = () => { + const backToTopButton = () => { return ( { - if (this.currentScheduleRef != null) { - this.currentScheduleRef.scrollToIndex({ - index: this.props.initialEventIndex, + if (currentScheduleRef != null && props.days[dayIndex] == currentDayString) { + currentScheduleRef.current.scrollToIndex({ + index: props.initialEventIndex, animated: true, }); } @@ -260,64 +252,60 @@ export class ScheduleDayView extends Component { ); }; - render() { - const width = Dimensions.get("window").width; - // only show back to top button if the current tab is on the current day, and there are events - const shouldShowBackToTopButton = - this.state.dayIndex == this.props.initialDayIndex && - this.props.initialEventIndex != -1; - const itemStyle = { - width: width, - justifyContent: "center", - alignItems: "center", - }; + const width = Dimensions.get("window").width; + // only show back to top button if the current tab is on the current day, and there are events + const shouldShowBackToTopButton = + dayIndex == props.initialDayIndex && + props.initialEventIndex != -1; + const itemStyle = { + width: width, + justifyContent: "center", + alignItems: "center", + }; - return ( - - {({ dynamicStyles }) => ( - - {this.dayTabView(width)} + return ( + + {({ dynamicStyles }) => ( + + {dayTabView(width)} - item} - onMomentumScrollEnd={(scrollData) => { - this.setState({ - dayIndex: Math.round( - scrollData.nativeEvent.contentOffset.x / width - ), + item} + onMomentumScrollEnd={(scrollData) => { + setDayIndex(Math.round( + scrollData.nativeEvent.contentOffset.x / width + )) + }} + onScrollToIndexFailed={(error) => { + setTimeout(() => { + tabListRef.current.scrollToIndex({ + index: error.index, + animated: false, }); - }} - onScrollToIndexFailed={(error) => { - setTimeout(() => { - this.tabListRef.current.scrollToIndex({ - index: error.index, - animated: false, - }); - }, 100); - }} - renderItem={({ item }) => { - return ( - - {this.tabContent(item)} - - ); - }} - /> + }, 100); + }} + renderItem={({ item }) => { + return ( + + {tabContent(item)} + + ); + }} + /> - {shouldShowBackToTopButton && this.backToTopButton()} - - )} - - ); - } + {shouldShowBackToTopButton && backToTopButton()} + + )} + + ); } const styles = StyleSheet.create({ From 4a56e469320464ccd000c15b4c6c054679d7d74a Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 13:53:58 -0400 Subject: [PATCH 019/102] added useContext to InformationTab --- info/InformationTab.js | 204 ++++++++++++++++++++--------------------- 1 file changed, 101 insertions(+), 103 deletions(-) diff --git a/info/InformationTab.js b/info/InformationTab.js index dd9381b7..9a5a3fbc 100644 --- a/info/InformationTab.js +++ b/info/InformationTab.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { useContext } from "react"; import { View, @@ -14,113 +14,111 @@ import { Linking } from "react-native"; import FontMarkdown from "../components/FontMarkdown"; export function InformationTab(props) { + const { state } = useContext(HackathonContext) + const hackathon = state.hackathon return ( - {({ dynamicStyles }) => ( - - {({ hackathon }) => { - // create button blocks for "Join Slack", "View Event site", etc - const buttonBlock = hackathon.blocks.find( - (e) => e.slug && e.slug === "info-button-links" - ); - - const faqBlock = hackathon.blocks.find( - (e) => e.slug && e.slug === "info-faq" - ); - - headerButtons = []; - - if (buttonBlock && buttonBlock.content) { - const buttonJSON = JSON.parse(buttonBlock.content); - if (buttonJSON) { - headerButtons = buttonJSON.map((button) => { - return ( - { - Linking.openURL(button.url).catch((err) => { - if (err) { - if (button.backupURL) { - Linking.openURL(button.backupURL).catch((err) => - Alert.alert( - "Redirect Error", - "The link you selected cannot be opened." - ) - ); - } else { - Alert.alert( - "Redirect Error", - "The link you selected cannot be opened." - ); - } - } - }); - }} - > - - {button.title} - - - ); - }); - } - } - - let infoBlocks = hackathon.blocks.filter( - (e) => e.slug && e.slug === "info-faq" - ); - - // let faqCopy = [...hackathon.faqs]; - // let faqList = []; - // // sort faq based on priority so important questions come first - // faqCopy.sort(function (a, b) { - // return parseFloat(a.index) - parseFloat(b.index); - // }); - - // for (i in faqCopy) { - // faqList.push( - // - // **{faqCopy[i].question}** - // , - // - // {faqCopy[i].answer} - // - // ); - // } - - return ( - + {({ dynamicStyles }) => { + // create button blocks for "Join Slack", "View Event site", etc + const buttonBlock = hackathon.blocks.find( + (e) => e.slug && e.slug === "info-button-links" + ); + + const faqBlock = hackathon.blocks.find( + (e) => e.slug && e.slug === "info-faq" + ); + + const headerButtons = []; + + if (buttonBlock && buttonBlock.content) { + const buttonJSON = JSON.parse(buttonBlock.content); + if (buttonJSON) { + headerButtons = buttonJSON.map((button) => { + return ( + { + Linking.openURL(button.url).catch((err) => { + if (err) { + if (button.backupURL) { + Linking.openURL(button.backupURL).catch((err) => + Alert.alert( + "Redirect Error", + "The link you selected cannot be opened." + ) + ); + } else { + Alert.alert( + "Redirect Error", + "The link you selected cannot be opened." + ); + } + } + }); + }} + > + + {button.title} + + + ); + }); + } + } + + let infoBlocks = hackathon.blocks.filter( + (e) => e.slug && e.slug === "info-faq" + ); + + // let faqCopy = [...hackathon.faqs]; + // let faqList = []; + // // sort faq based on priority so important questions come first + // faqCopy.sort(function (a, b) { + // return parseFloat(a.index) - parseFloat(b.index); + // }); + + // for (i in faqCopy) { + // faqList.push( + // + // **{faqCopy[i].question}** + // , + // + // {faqCopy[i].answer} + // + // ); + // } + + return ( + + + {"Welcome to " + hackathon.name} + + + {headerButtons} + + {infoBlocks.map((block, i) => ( + - {"Welcome to " + hackathon.name} + {block.name} - {headerButtons} - - {infoBlocks.map((block, i) => ( - - - {block.name} - - - - - - {block.content} - - - - - ))} - - ); - }} - - )} + + + + {block.content} + + + + + ))} + + ); + }} ); } From 04d44afb0959e574ce568604bdbf6d7f3b1b0a77 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 14:03:38 -0400 Subject: [PATCH 020/102] made various components functional components --- components/Card.js | 42 ++++++++--------- components/FontMarkdown.js | 66 +++++++++++++-------------- components/GradientButton.js | 58 ++++++++++++------------ components/SplashScreen.js | 81 ++++++++++++++++----------------- components/TagScrollView.js | 88 ++++++++++++++++++------------------ 5 files changed, 162 insertions(+), 173 deletions(-) diff --git a/components/Card.js b/components/Card.js index e4c3bd51..27b0f0e9 100644 --- a/components/Card.js +++ b/components/Card.js @@ -1,18 +1,18 @@ -import React, { Component } from "react"; +import React from "react"; import { View, StyleSheet } from "react-native"; import { ThemeContext } from "../context"; -export class Card extends Component { - createCardStyle = (dynamicStyles) => { +export function Card(props) { + const createCardStyle = (dynamicStyles) => { const style = { padding: 17, flexDirection: "column", alignItems: "flex-start", justifyContent: "space-evenly", - height: this.props.height, + height: props.height, borderWidth: 1.3, borderRadius: 12, - borderColor: this.props.highlighted + borderColor: props.highlighted ? dynamicStyles.tintColor.color : dynamicStyles.tritaryBackgroundColor.backgroundColor, elevation: 1, // android shadow @@ -25,24 +25,22 @@ export class Card extends Component { return style; }; - render() { - return ( - - {({ dynamicStyles }) => ( - - - {this.props.children} - + return ( + + {({ dynamicStyles }) => ( + + + {props.children} - )} - - ); - } + + )} + + ); } const styles = StyleSheet.create({ diff --git a/components/FontMarkdown.js b/components/FontMarkdown.js index c7be36d8..d8b0ed80 100644 --- a/components/FontMarkdown.js +++ b/components/FontMarkdown.js @@ -1,57 +1,57 @@ import { StyleSheet } from "react-native"; -import React, { Component } from "react"; +import React from "react"; import Markdown from "react-native-markdown-renderer"; import { ThemeContext } from "../context"; -export default class FontMarkdown extends Component { - createStyles = (dynamicStyles) => { +export default function FontMarkdown(props) { + const createStyles = (dynamicStyles) => { return StyleSheet.create({ em: { fontStyle: "italic", color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Italic`, + fontFamily: `${props.fontFamily}-Italic`, }, heading1: { fontSize: 32, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, heading2: { fontSize: 24, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, heading3: { fontSize: 18, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, heading4: { fontSize: 16, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, heading5: { fontSize: 13, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, heading6: { fontSize: 11, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, hr: { backgroundColor: "#000000", height: 1, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, listItem: { flex: 1, flexWrap: "wrap", color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, listUnordered: {}, @@ -59,23 +59,23 @@ export default class FontMarkdown extends Component { flexDirection: "row", justifyContent: "flex-start", color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, listUnorderedItemText: { fontSize: 20, lineHeight: 20, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, listOrderedItem: { flexDirection: "row", color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, listOrderedItemText: { lineHeight: 20, color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Bold`, + fontFamily: `${props.fontFamily}-Bold`, }, paragraph: { marginTop: 10, @@ -85,51 +85,49 @@ export default class FontMarkdown extends Component { alignItems: "flex-start", justifyContent: "flex-start", color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, strong: { color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Bold`, + fontFamily: `${props.fontFamily}-Bold`, }, text: { color: dynamicStyles.text.color, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, strikethrough: { color: dynamicStyles.text.color, textDecorationLine: "line-through", - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, link: { color: dynamicStyles.text.color, textDecorationLine: "underline", - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, blocklink: { flex: 1, color: dynamicStyles.text.color, borderColor: "#000000", borderBottomWidth: 1, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, u: { color: dynamicStyles.text.color, borderColor: "#000000", borderBottomWidth: 1, - fontFamily: `${this.props.fontFamily}-Regular`, + fontFamily: `${props.fontFamily}-Regular`, }, }); }; - render() { - return ( - - {({ dynamicStyles }) => ( - - {this.props.children} - - )} - - ); - } + return ( + + {({ dynamicStyles }) => ( + + {props.children} + + )} + + ); } diff --git a/components/GradientButton.js b/components/GradientButton.js index 52e7f4e9..996539f1 100644 --- a/components/GradientButton.js +++ b/components/GradientButton.js @@ -1,39 +1,37 @@ -import React, { Component } from "react"; -import { View, StyleSheet, TouchableOpacity, Text } from "react-native"; +import React from "react"; +import { StyleSheet, TouchableOpacity, Text } from "react-native"; import { ThemeContext } from "../context"; import ButtonBackground from "../assets/ButtonBackground"; -export class GradientButton extends Component { - render() { - return ( - - {({ dynamicStyles }) => ( - + {({ dynamicStyles }) => ( + + + - - - {this.props.text} - - - )} - - ); - } + {props.text} + + + )} + + ); } const styles = StyleSheet.create({ diff --git a/components/SplashScreen.js b/components/SplashScreen.js index 66280e54..04ff3e4d 100644 --- a/components/SplashScreen.js +++ b/components/SplashScreen.js @@ -1,57 +1,54 @@ -import React, { Component } from "react"; -import { View, Animated, Easing } from "react-native"; +import React, { useEffect } from "react"; +import { Animated, Easing } from "react-native"; import HackGTIcon from "../assets/Logo"; import { ThemeContext } from "../context"; -export default class SplashScreen extends Component { - state = { - opacity: new Animated.Value(0), - }; +export default function SplashScreen(props) { + + const opacity = new Animated.Value(0) - growAnimation = () => { - Animated.timing(this.state.opacity, { + const growAnimation = () => { + Animated.timing(opacity, { toValue: 1, duration: 500, useNativeDriver: true, easing: Easing.ease, - }).start(() => this.props.onGrowDone()); - this.props.onGrowDone(); + }).start(() => props.onGrowDone()); + props.onGrowDone(); }; - componentDidMount() { - if (this.props.grow) { - this.growAnimation(); + useEffect(() => { + if (props.grow) { + growAnimation(); } else { - if (this.props.onGrowDone) { - this.props.onGrowDone(); + if (props.onGrowDone) { + props.onGrowDone(); } } - } + }, []) - render() { - return ( - - {({ dynamicStyles }) => ( - - - - )} - - ); - } + return ( + + {({ dynamicStyles }) => ( + + + + )} + + ); } diff --git a/components/TagScrollView.js b/components/TagScrollView.js index 27cf5f2c..928ca7e7 100644 --- a/components/TagScrollView.js +++ b/components/TagScrollView.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React from "react"; import { ThemeContext } from "../context"; import { Text, @@ -8,53 +8,51 @@ import { TouchableOpacity, } from "react-native"; -export default class TagScrollView extends Component { - render() { - return ( - - {({ dynamicStyles }) => ( - - - {this.props.tags.map((value, i) => { - return ( - - this.props.onPress && this.props.onPress(value) - } - disabled={this.props.disabled} +export default function TagScrollView(props) { + return ( + + {({ dynamicStyles }) => ( + + + {props.tags.map((value, i) => { + return ( + + props.onPress && props.onPress(value) + } + disabled={props.disabled} + style={[ + styles.tagStyle, + props.highlightedTags && + props.highlightedTags.includes(value) + ? dynamicStyles.tintBackgroundColor + : dynamicStyles.searchBackgroundColor, + ]} + > + - - {" "} - {value}{" "} - - - ); - })} - - - )} - - ); - } + {" "} + {value}{" "} + + + ); + })} + + + )} + + ); } const styles = StyleSheet.create({ From a0925fded301fdd1f932ab3fdab92a18bde2134c Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 14:04:03 -0400 Subject: [PATCH 021/102] comment --- state_management/hackathon/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/state_management/hackathon/index.js b/state_management/hackathon/index.js index 85ddc6e5..42e7de21 100644 --- a/state_management/hackathon/index.js +++ b/state_management/hackathon/index.js @@ -7,6 +7,7 @@ export default function HackathonProvider({ initialValue, children }) { const [state, dispatch] = React.useReducer(hackathonReducer, initialValue) + // could set state to state from useReducer, but for some reason it sets eventTypes to an emtpy array, so I'm just directly setting state to initialValues const value = { state: initialValue, toggleStar: (event) => dispatch({ From f76526e494f1db5daf8431cb9e689c0012da12fb Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 14:08:49 -0400 Subject: [PATCH 022/102] adjusted keys to ensure they are strings --- schedule/ScheduleDayView.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schedule/ScheduleDayView.js b/schedule/ScheduleDayView.js index e03c73c1..eb17ab71 100644 --- a/schedule/ScheduleDayView.js +++ b/schedule/ScheduleDayView.js @@ -62,7 +62,7 @@ export function ScheduleDayView(props) { paddingBottom: props.paddingHeight, }} data={timeblocks} - keyExtractor={(item, index) => (item && item.id ? item.id : index)} + keyExtractor={(item, index) => '' + (item && item.id ? item.id : index)} onScrollToIndexFailed={(error) => { setTimeout(() => { if (props.days[dayIndex] == currentDayString) { @@ -88,7 +88,7 @@ export function ScheduleDayView(props) { if (item && item.time) { return ( - + Date: Fri, 1 Apr 2022 14:26:26 -0400 Subject: [PATCH 023/102] made onboarding components functional components --- onboarding/ContentInfo.js | 38 +++++---- onboarding/EventOnboarding.js | 120 ++++++++++++++-------------- onboarding/LoginOnboarding.js | 146 +++++++++++++++------------------- 3 files changed, 142 insertions(+), 162 deletions(-) diff --git a/onboarding/ContentInfo.js b/onboarding/ContentInfo.js index 8fcd57cb..e08541d1 100644 --- a/onboarding/ContentInfo.js +++ b/onboarding/ContentInfo.js @@ -3,27 +3,25 @@ import { Text, View, StyleSheet } from "react-native"; import Logo from "../assets/Logo"; import { ThemeContext } from "../context"; -export class ContentInfo extends Component { - render() { - return ( - - {({ dynamicStyles }) => ( - - {this.props.image ? this.props.image : } - - {this.props.title} +export function ContentInfo(props) { + return ( + + {({ dynamicStyles }) => ( + + {props.image ? props.image : } + + {props.title} + + {props.subtitles.map((subtitle, i) => ( + + {subtitle} - {this.props.subtitles.map((subtitle, i) => ( - - {subtitle} - - ))} - {this.props.button ? this.props.button : null} - - )} - - ); - } + ))} + {props.button ? props.button : null} + + )} + + ); } const styles = StyleSheet.create({ diff --git a/onboarding/EventOnboarding.js b/onboarding/EventOnboarding.js index 9cf893a3..4c063120 100644 --- a/onboarding/EventOnboarding.js +++ b/onboarding/EventOnboarding.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { useContext, useState, useEffect, useRef } from "react"; import { Dimensions, Clipboard } from "react-native"; import { ScrollView, @@ -21,20 +21,27 @@ import QRCode from "react-native-qrcode-svg"; import { Linking } from "react-native"; import { AuthContext, HackathonContext, ThemeContext } from "../context"; -export class EventOnboarding extends Component { - static contextType = HackathonContext; +export function EventOnboarding(props) { + const { state } = useContext(HackathonContext) + const hackathon = state.hackathon - constructor(props) { - super(props); - this.state = { - pageIndex: 0, - pageCount: 3, - }; - } + const [pageIndex, setPageIndex] = useState(0) + const [pageCount, setPageCount] = useState(3) + + const scrollViewRef = useRef(null) - createScreens(width) { - const hackathonName = this.context.hackathon.name; - const slackUrl = this.context.hackathon.slackUrl; + useEffect(() => { + const screenWidth = Dimensions.get("window").width; + + const newHorizontalPosition = pageIndex * screenWidth; + if (scrollViewRef != null) { + scrollViewRef.current.scrollTo({ x: newHorizontalPosition }); + } + }) + + const createScreens = (width) => { + const hackathonName = hackathon.name; + const slackUrl = hackathon.slackUrl; // TODO: test this const qrCode = ( @@ -184,8 +191,8 @@ export class EventOnboarding extends Component { ); } - statusHeader() { - const portionComplete = (this.state.pageIndex + 1) / this.state.pageCount; + const statusHeader = () => { + const portionComplete = (pageIndex + 1) / pageCount; return ( @@ -194,8 +201,8 @@ export class EventOnboarding extends Component { { - if (this.state.pageIndex - 1 >= 0) { - this.setState({ pageIndex: this.state.pageIndex - 1 }); + if (pageIndex - 1 >= 0) { + setPageIndex(pageIndex - 1) } }} > @@ -226,56 +233,45 @@ export class EventOnboarding extends Component { ); } - componentDidUpdate() { - const screenWidth = Dimensions.get("window").width; - - const newHorizontalPosition = this.state.pageIndex * screenWidth; - if (this.scrollView != null) { - this.scrollView.scrollTo({ x: newHorizontalPosition }); - } - } + const screenWidth = Dimensions.get("window").width; - render() { - const screenWidth = Dimensions.get("window").width; + return ( + + {({ dynamicStyles }) => ( + + {statusHeader()} - return ( - - {({ dynamicStyles }) => ( - - {this.statusHeader()} + {createScreens(screenWidth)} + - (this.scrollView = ref)} - horizontal={true} - showsHorizontalScrollIndicator={false} - pagingEnabled={true} - scrollEnabled={false} + + { + if (pageIndex < pageCount - 1) { + setPageIndex(pageIndex + 1) + } else { + // reached end, onboarding complete + props.onDone(); + } + }} > - {this.createScreens(screenWidth)} - - - - { - if (this.state.pageIndex < this.state.pageCount - 1) { - this.setState({ pageIndex: this.state.pageIndex + 1 }); - } else { - // reached end, onboarding complete - this.props.onDone(); - } - }} - > - - - - - )} - - ); - } + + + + + )} + + ); } const styles = StyleSheet.create({ diff --git a/onboarding/LoginOnboarding.js b/onboarding/LoginOnboarding.js index 88046dfb..d7be7b89 100644 --- a/onboarding/LoginOnboarding.js +++ b/onboarding/LoginOnboarding.js @@ -1,11 +1,9 @@ -import React, { Component } from "react"; +import React, { useState } from "react"; import { Dimensions } from "react-native"; import { - Text, ScrollView, View, StyleSheet, - TouchableOpacity, } from "react-native"; import Svg, { Circle } from "react-native-svg"; import Logo from "../assets/Logo"; @@ -16,18 +14,12 @@ import { ContentInfo } from "./ContentInfo"; import { AuthContext, ThemeContext } from "../context"; import { GradientButton } from "../components/GradientButton"; -export class LoginOnboarding extends Component { - static contextType = ThemeContext; +export function LoginOnboarding(props) { - constructor(props) { - super(props); - this.state = { - pageIndex: 0, - pageCount: 3, - }; - } + const [pageIndex, setPageIndex] = useState(0) + const [pageCount, setPageCount] = useState(3) - createScreens(width) { + const createScreens = (width) => { const hackgtLogo = ( @@ -92,10 +84,10 @@ export class LoginOnboarding extends Component { } // render the dots indicating which page user is on - indexIndicator() { + const indexIndicator = () => { const radius = 4; const size = radius * 2; - const bubbles = Array.from(new Array(this.state.pageCount).keys()).map( + const bubbles = Array.from(new Array(pageCount).keys()).map( (i) => { return ( @@ -106,7 +98,7 @@ export class LoginOnboarding extends Component { cy={radius} r={radius} fill={ - i == this.state.pageIndex + i == pageIndex ? dynamicStyles.tintColor.color : dynamicStyles.secondaryBackgroundColor.backgroundColor } @@ -121,68 +113,64 @@ export class LoginOnboarding extends Component { return {bubbles}; } - render() { - const screenWidth = Dimensions.get("window").width; - - return ( - - {({ dynamicStyles }) => ( - - {({ login, user, logout }) => { - return ( - - { - // update page indicator - this.setState({ - pageIndex: Math.round( - scrollData.nativeEvent.contentOffset.x / screenWidth - ), - }); - }} - > - {this.createScreens(screenWidth)} - - - - {this.indexIndicator()} - - login()} - > - - {/* TODO: put back login stuff */} - {/* login()}> - - Don't have an account? - - */} - - {/* TOOD: logout button */} - {/* logout()}> - - Logout (for testing.) - {user != null ? user.email : "None."} - - */} - + const screenWidth = Dimensions.get("window").width; + + return ( + + {({ dynamicStyles }) => ( + + {({ login, user, logout }) => { + return ( + + { + // update page indicator + setPageIndex(Math.round( + scrollData.nativeEvent.contentOffset.x / screenWidth + )) + }} + > + {createScreens(screenWidth)} + + + + {indexIndicator()} + + login()} + > + + {/* TODO: put back login stuff */} + {/* login()}> + + Don't have an account? + + */} + + {/* TOOD: logout button */} + {/* logout()}> + + Logout (for testing.) + {user != null ? user.email : "None."} + + */} - ); - }} - - )} - - ); - } + + ); + }} + + )} + + ); } const styles = StyleSheet.create({ @@ -228,6 +216,4 @@ const styles = StyleSheet.create({ fontFamily: "SpaceMono-Bold", letterSpacing: 0.05, }, -}); - -LoginOnboarding.contextType = AuthContext; +}); \ No newline at end of file From 60b423746a308dc9a058e51c0092eb7c5aca87c2 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 14:50:02 -0400 Subject: [PATCH 024/102] adjusted all of checkin to be functional components --- participantCheckin/CheckInTab.js | 291 +++++++++++++------------- participantCheckin/EventSel.js | 126 ++++++----- participantCheckin/ScanScreen.js | 27 ++- participantCheckin/SearchComponent.js | 95 ++++----- 4 files changed, 256 insertions(+), 283 deletions(-) diff --git a/participantCheckin/CheckInTab.js b/participantCheckin/CheckInTab.js index f61d27eb..267ebfef 100644 --- a/participantCheckin/CheckInTab.js +++ b/participantCheckin/CheckInTab.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { useState, useEffect } from "react"; import { Text, View, StyleSheet,ScrollView, FlatList, TouchableOpacity, Button } from "react-native"; import { ThemeContext } from "../context"; import { EventSel } from "./EventSel"; @@ -7,35 +7,24 @@ import SearchIcon from "../assets/Search"; import { SearchBar } from "react-native-elements"; import { dynamicStyles } from "../themes"; -export class CheckInTab extends Component { +export function CheckInTab(props) { - state = { - events: null, - selectedEvent: null, - searchText: "", - searchResults: null - } - - async componentDidMount() { - this.refreshEventState(); - - // AppState.addEventListener("change", (state) => { - // if (state == "active") { - // this.refreshEventState(); - // } - // }); - } + const [events, setEvents] = useState(null) + const [selectedEvent, setSelectedEvent] = useState(null) + const [searchText, setSearchText] = useState("") + const [searchResults, setSearchResults] = useState(null) - async refreshEventState() { - // const response = await fetch("https://keystone.dev.hack.gt/admin/api", { - const response = await fetch("https://cms.hack.gt/admin/api", { + useEffect(() => { + async function refreshEventState() { + // const response = await fetch("https://keystone.dev.hack.gt/admin/api", { + const response = await fetch("https://cms.hack.gt/admin/api", { method: "POST", headers: { - "Content-Type": `application/json`, - Accept: `application/json`, + "Content-Type": `application/json`, + Accept: `application/json`, }, body: JSON.stringify({ - query: `query { + query: `query { allEvents (orderBy: "name", where: { hackathon: { isUsedForMobileApp:true } }) { name endTime @@ -53,145 +42,145 @@ export class CheckInTab extends Component { } }`, }), - }); - const data = await response.json(); - this.setState({events: data.data.allEvents}) + }); + const data = await response.json(); + setEvents(data.data.allEvents) + } - } + refreshEventState() + }, []) - searchEvents = (value) => { - var newEvents = this.state.events.filter(e => e.name.includes(this.state.searchText)); - this.setState({ searchText: value, searchResults: newEvents }); + const searchEvents = (value) => { + var newEvents = events.filter(e => e.name.includes(searchText)); + setSearchResults(newEvents) + setSearchText(value) }; - setSelectedEvent = (event) => { + const onPressEvent = (event) => { if (event) { - this.setState({ selectedEvent: event }); + setSelectedEvent(event) } else { - this.setState({ selectedEvent: null }); + setSelectedEvent(null) } }; - - - render() { - - if(this.state.events != null) { // there are no events getting properly populated - var formattedEvents = []; - var events = this.state.searchText.length != 0 ? this.state.searchResults : this.state.events; - events.forEach((event)=>{ - const eventType = event != null && event.type != null - ? event.type - : { name: "none", color: "gray" }; - const loc = event != null && event.location != null && event.location[0] != null && event.location[0].name != null - ? event.location[0].name + " • " - : ""; - formattedEvents.push( - { - this.setSelectedEvent(event); - }} - > - - - ); - }) - if(this.state.selectedEvent == null) { - return ( - - {({ dynamicStyles }) => ( - - - - } - containerStyle={[ - styles.searchContainer, - dynamicStyles.backgroundColor, - dynamicStyles.searchBorderTopColor, - dynamicStyles.searchBorderBottomColor, - { flex: 1 } - ]} - inputContainerStyle={[ - styles.inputContainer, - dynamicStyles.searchBackgroundColor, - ]} - clearIcon={null} - lightTheme - round - placeholder="Search..." - onChangeText={(value) => this.searchEvents(value)} - value={this.state.searchText} - /> - - - - - - {formattedEvents} - - - - - )} - - ); - } else { - return ( - - {({ dynamicStyles }) => ( - - - {this.state.selectedEvent.name} - - {this.state.selectedEvent != null && this.state.selectedEvent.location != null && this.state.selectedEvent.location[0] != null && this.state.selectedEvent.location[0].name != null - ? this.state.selectedEvent.location[0].name + " • " - : ""} - {this.state.selectedEvent.startTime + ' - ' + this.state.selectedEvent.endTime} - - + )} + ); - - } - - } else { return (); } + } else { + return ( + + {({ dynamicStyles }) => ( + + + {selectedEvent.name} + + {selectedEvent != null && selectedEvent.location != null && selectedEvent.location[0] != null && selectedEvent.location[0].name != null + ? selectedEvent.location[0].name + " • " + : ""} + {selectedEvent.startTime + ' - ' + selectedEvent.endTime} + + + + )} + + ); + + } + + } else { + return (); } } diff --git a/participantCheckin/EventSel.js b/participantCheckin/EventSel.js index 096b0952..086f2365 100644 --- a/participantCheckin/EventSel.js +++ b/participantCheckin/EventSel.js @@ -3,77 +3,75 @@ import { Text, View, StyleSheet } from "react-native"; import { ThemeContext } from "../context"; import { Card } from "../components/Card"; -export class EventSel extends Component { - render() { - return ( - - {({ dynamicStyles }) => (( - - - - - {this.props.name} - - +export function EventSel(props) { + return ( + + {({ dynamicStyles }) => (( + + + + + {props.name} + + - - {this.props.location} - {this.props.startTime} - {this.props.endTime} - + + {props.location} + {props.startTime} - {props.endTime} + - - - - ))} - - ); - } + + + + ))} + + ); } const styles = StyleSheet.create({ - card: { - marginBottom: 10 - }, - titleHeader: { - flexDirection: "row", - width: "100%", - letterSpacing: 0.005, - }, + card: { + marginBottom: 10 + }, + titleHeader: { + flexDirection: "row", + width: "100%", + letterSpacing: 0.005, + }, - titleFont: { - fontSize: 16, - width: "90%", - fontWeight: "bold", - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - marginRight: 10, - }, + titleFont: { + fontSize: 16, + width: "90%", + fontWeight: "bold", + fontFamily: "SpaceMono-Regular", + letterSpacing: 0.005, + marginRight: 10, + }, - subtitleFont: { - marginTop: 2, - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - }, + subtitleFont: { + marginTop: 2, + fontFamily: "SpaceMono-Regular", + letterSpacing: 0.005, + }, - tagFont: { - marginTop: 2, - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - marginTop: -0.2, - marginLeft: 8, - }, + tagFont: { + marginTop: 2, + fontFamily: "SpaceMono-Regular", + letterSpacing: 0.005, + marginTop: -0.2, + marginLeft: 8, + }, - wrappable: { - flexWrap: "wrap", - }, + wrappable: { + flexWrap: "wrap", + }, }); \ No newline at end of file diff --git a/participantCheckin/ScanScreen.js b/participantCheckin/ScanScreen.js index 8928d405..c23d125d 100644 --- a/participantCheckin/ScanScreen.js +++ b/participantCheckin/ScanScreen.js @@ -1,22 +1,19 @@ -import React, { Component } from "react"; -import { Text, View, StyleSheet } from "react-native"; +import React from "react"; +import { View, StyleSheet } from "react-native"; import { ThemeContext } from "../context"; -import { Card } from "../components/Card"; import QRScan from "./QRScan" -export class ScanScreen extends Component { - render() { - return ( - - {({ dynamicStyles }) => (( - - - +export function ScanScreen(props) { + return ( + + {({ dynamicStyles }) => (( + + + - ))} - - ); - } + ))} + + ); } const styles = StyleSheet.create({ diff --git a/participantCheckin/SearchComponent.js b/participantCheckin/SearchComponent.js index 745a5ef1..4635402e 100644 --- a/participantCheckin/SearchComponent.js +++ b/participantCheckin/SearchComponent.js @@ -1,65 +1,54 @@ -import React, { Component } from "react"; -import { HackathonContext, ThemeContext } from "../context"; -import { getEventsForDay, getDaysForEvent } from "../cms/DataHandler"; +import React, { useState } from "react"; +import { ThemeContext } from "../context"; import { SearchBar } from "react-native-elements"; import { - FlatList, - Text, View, StyleSheet, - TouchableOpacity, } from "react-native"; import SearchIcon from "../assets/Search"; -export class SearchComponent extends Component { +export function SearchComponent(props) { - constructor() { - super(); - this.state = { - searchText: "" - }; - } + const [searchText, setSearchText] = useState("") - searchEvents = (value) => { - console.log(value) - this.setState({ searchText: value }); + const searchEvents = (value) => { + setSearchText(value) }; - render() { - return ( - - {({ dynamicStyles }) => ( - - - } - containerStyle={[ - styles.searchContainer, - dynamicStyles.backgroundColor, - dynamicStyles.searchBorderTopColor, - dynamicStyles.searchBorderBottomColor, - ]} - inputContainerStyle={[ - styles.inputContainer, - dynamicStyles.searchBackgroundColor, - ]} - clearIcon={null} - lightTheme - round - placeholder="Search..." - onChangeText={(value) => this.searchEvents(value)} - value={this.state.searchText} - /> - - )} - ); - } + return ( + + {({ dynamicStyles }) => ( + + + } + containerStyle={[ + styles.searchContainer, + dynamicStyles.backgroundColor, + dynamicStyles.searchBorderTopColor, + dynamicStyles.searchBorderBottomColor, + ]} + inputContainerStyle={[ + styles.inputContainer, + dynamicStyles.searchBackgroundColor, + ]} + clearIcon={null} + lightTheme + round + placeholder="Search..." + onChangeText={(value) => searchEvents(value)} + value={searchText} + /> + + )} + + ); } const styles = StyleSheet.create({ @@ -68,8 +57,8 @@ const styles = StyleSheet.create({ textAlign: "center", fontSize: 22, marginTop: 34, - marginBottom: 10, - backgroundColor: "#ADD8E6" + marginBottom: 10, + backgroundColor: "#ADD8E6" }, searchHeader: { marginTop: 34, From 18bd917dde5f3b04a1cffb70a40e9d4db074faad Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 15:54:44 -0400 Subject: [PATCH 025/102] fixed scav hunt hackathon context bug --- scav_hunt/ScavengerHuntTab.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/scav_hunt/ScavengerHuntTab.js b/scav_hunt/ScavengerHuntTab.js index d3414f38..8d8e38cd 100644 --- a/scav_hunt/ScavengerHuntTab.js +++ b/scav_hunt/ScavengerHuntTab.js @@ -16,6 +16,8 @@ import moment from "moment-timezone"; export function ScavengerHuntTab(props) { const { state, completeHint } = useContext(ScavHuntContext) + const hackathonContext = useContext(HackathonContext) + const hackathon = hackathonContext.state.hackathon const [currentDate, setCurrentDate] = useState(Date.parse("2000-01-01T20:30:00.000000-04:00")) useEffect(() => { AsyncStorage.getItem( @@ -47,10 +49,7 @@ export function ScavengerHuntTab(props) { return ( - {({ dynamicStyles }) => ( - - {({ hackathon }) => { - console.log('blah',hackathon.scavengerHunts) + {({ dynamicStyles }) => { var scavHunts = hackathon.scavengerHunts scavHunts.sort((item1, item2) => { const d1 = Date.parse(item1.releaseDate) @@ -122,8 +121,6 @@ export function ScavengerHuntTab(props) { ); }} - - )} ); } From dbd480e6cb4bdcf108fc9846176cdcc54619711c Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 16:02:24 -0400 Subject: [PATCH 026/102] fixed minor bug --- scav_hunt/ScavengerHuntStackScreen.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scav_hunt/ScavengerHuntStackScreen.js b/scav_hunt/ScavengerHuntStackScreen.js index b64ed4e0..6fdb22c5 100644 --- a/scav_hunt/ScavengerHuntStackScreen.js +++ b/scav_hunt/ScavengerHuntStackScreen.js @@ -30,7 +30,7 @@ export default function ScavengerHuntStackScreen({ navigation }) { , + headerTitle: (props) => , headerStyle: dStyles.tabBarBackgroundColor, headerLeft: null }} From 0a58af0eeda949872de3568e384388e8a82dae90 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 16:07:49 -0400 Subject: [PATCH 027/102] fixed starring issue, but broke filtering (eventTypes is empty) --- state_management/hackathon/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/state_management/hackathon/index.js b/state_management/hackathon/index.js index 42e7de21..e2e03347 100644 --- a/state_management/hackathon/index.js +++ b/state_management/hackathon/index.js @@ -9,7 +9,7 @@ export default function HackathonProvider({ initialValue, children }) { // could set state to state from useReducer, but for some reason it sets eventTypes to an emtpy array, so I'm just directly setting state to initialValues const value = { - state: initialValue, + state: state, toggleStar: (event) => dispatch({ type: TOGGLE_STAR, value: event From a3a36f4764db6ae6a5f49fe15c48c22a5663406b Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Fri, 1 Apr 2022 16:14:06 -0400 Subject: [PATCH 028/102] removed console log --- schedule/ScheduleTab.js | 1 - 1 file changed, 1 deletion(-) diff --git a/schedule/ScheduleTab.js b/schedule/ScheduleTab.js index 39902137..a7ab032e 100644 --- a/schedule/ScheduleTab.js +++ b/schedule/ScheduleTab.js @@ -58,7 +58,6 @@ export function ScheduleTab(props) { return ( {({ dynamicStyles }) => { - console.log('PENIS', state) let events = state.hackathon.events; const hasEventsNow = eventsHappeningNow.length > 0; const happeningNowView = ( From d52c646ca243c232d0000d7c784456df28eb8d36 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 13 Apr 2022 19:02:37 -0400 Subject: [PATCH 029/102] Change interactions endpoint url --- yac/index.js | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/yac/index.js b/yac/index.js index 8f0b7c1c..cdacb781 100644 --- a/yac/index.js +++ b/yac/index.js @@ -1,12 +1,11 @@ const _logInteraction = async (hackathonName, type, userId, identifier) => { + const dev = false; - const dev = false - - const prodUrl = "https://interactions.api.hexlabs.org/" - const devUrl = "https://log.dev.hack.gt/log/interaction" - const keys = require('../keys/keys.json') - const prodToken = keys.scavHunt - const devToken = 'rangerover' + const prodUrl = "https://interactions.api.hexlabs.org/interactions"; + const devUrl = "https://log.dev.hack.gt/log/interaction"; + const keys = require("../keys/keys.json"); + const prodToken = keys.scavHunt; + const devToken = "rangerover"; // const body = { // 'uuid': uid, @@ -15,12 +14,17 @@ const _logInteraction = async (hackathonName, type, userId, identifier) => { // 'eventType': 'scavengerhunt' // } const body = { - 'userId': userId, - 'identifier': identifier, - 'type': type, - 'hackathon': hackathonName - } - console.log('Notifying that interaction occured for ', body, '\nwith auth: ', 'Bearer ' + (dev ? devToken : prodToken)) + userId: userId, + identifier: identifier, + type: type, + hackathon: hackathonName, + }; + console.log( + "Notifying that interaction occured for ", + body, + "\nwith auth: ", + "Bearer " + (dev ? devToken : prodToken) + ); try { const response = await fetch(dev ? devUrl : prodUrl, { method: "POST", @@ -36,18 +40,15 @@ const _logInteraction = async (hackathonName, type, userId, identifier) => { console.log("Hint complete notification response: ", json); - return {json, status: response.status}; + return { json, status: response.status }; } catch (err) { console.error("Hint complete notification error: ", err); return false; } -} - - -const _getPoints = () => { +}; -} +const _getPoints = () => {}; -export const logInteraction = _logInteraction.bind(this) +export const logInteraction = _logInteraction.bind(this); // export const notifyHintComplete = _notifyHintComplete.bind(this) From 002da56d3d087ba2808cb1ba7e59b2e4a6393ca3 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 14 Sep 2022 07:22:27 -0400 Subject: [PATCH 030/102] added react-native-webview and react-native-user-agent --- ios/Podfile | 11 +- ios/Podfile.lock | 506 +- package-lock.json | 16644 +++++++++++++++++++++++++++++++++++++++++++- package.json | 4 +- 4 files changed, 16901 insertions(+), 264 deletions(-) diff --git a/ios/Podfile b/ios/Podfile index 2d72b5ff..7d1360f5 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -2,11 +2,13 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' platform :ios, '10.0' - +# Changes marked with 'c1' are due to error & solution found here: https://github.com/facebook/react-native/issues/31440 target 'AppGT' do # Pods for AppGT pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" - pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" + # c1 replace + # pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" + pod 'FBReactNativeSpec', :path => "../node_modules/react-native/React/FBReactNativeSpec" pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety" pod 'React', :path => '../node_modules/react-native/' @@ -34,7 +36,10 @@ target 'AppGT' do pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' - pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + # pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + pod 'RCT-Folly', :podspec => '../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec' + pod 'React-perflogger', :path => '../node_modules/react-native/ReactCommon/reactperflogger' + pod 'React-runtimeexecutor', :path => '../node_modules/react-native/ReactCommon/runtimeexecutor' permissions_path = '../node_modules/react-native-permissions/ios' pod 'Permission-Camera', :path => "#{permissions_path}/Camera" diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 08606dd7..714355b7 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -6,14 +6,14 @@ PODS: - AppAuth/ExternalUserAgent (1.4.0) - boost-for-react-native (1.63.0) - DoubleConversion (1.1.6) - - FBLazyVector (0.63.2) - - FBReactNativeSpec (0.63.2): - - Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.2) - - RCTTypeSafety (= 0.63.2) - - React-Core (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) + - FBLazyVector (0.64.1) + - FBReactNativeSpec (0.64.1): + - RCT-Folly (= 2020.01.13.00) + - RCTRequired (= 0.64.1) + - RCTTypeSafety (= 0.64.1) + - React-Core (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) - Firebase/CoreOnly (7.11.0): - FirebaseCore (= 7.11.0) - Firebase/Messaging (7.11.0): @@ -46,15 +46,6 @@ PODS: - GoogleUtilities/Environment (~> 7.0) - GoogleUtilities/Reachability (~> 7.0) - GoogleUtilities/UserDefaults (~> 7.0) - - Folly (2020.01.13.00): - - boost-for-react-native - - DoubleConversion - - Folly/Default (= 2020.01.13.00) - - glog - - Folly/Default (2020.01.13.00): - - boost-for-react-native - - DoubleConversion - - glog - glog (0.3.5) - GoogleDataTransport (8.4.0): - GoogleUtilities/Environment (~> 7.2) @@ -85,172 +76,199 @@ PODS: - Permission-Camera (3.3.0): - RNPermissions - PromisesObjC (1.2.12) - - RCTRequired (0.63.2) - - RCTTypeSafety (0.63.2): - - FBLazyVector (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.2) - - React-Core (= 0.63.2) - - React (0.63.2): - - React-Core (= 0.63.2) - - React-Core/DevSupport (= 0.63.2) - - React-Core/RCTWebSocket (= 0.63.2) - - React-RCTActionSheet (= 0.63.2) - - React-RCTAnimation (= 0.63.2) - - React-RCTBlob (= 0.63.2) - - React-RCTImage (= 0.63.2) - - React-RCTLinking (= 0.63.2) - - React-RCTNetwork (= 0.63.2) - - React-RCTSettings (= 0.63.2) - - React-RCTText (= 0.63.2) - - React-RCTVibration (= 0.63.2) - - React-callinvoker (0.63.2) - - React-Core (0.63.2): - - Folly (= 2020.01.13.00) + - RCT-Folly (2020.01.13.00): + - boost-for-react-native + - DoubleConversion + - glog + - RCT-Folly/Default (= 2020.01.13.00) + - RCT-Folly/Default (2020.01.13.00): + - boost-for-react-native + - DoubleConversion - glog - - React-Core/Default (= 0.63.2) - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - RCTRequired (0.64.1) + - RCTTypeSafety (0.64.1): + - FBLazyVector (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTRequired (= 0.64.1) + - React-Core (= 0.64.1) + - React (0.64.1): + - React-Core (= 0.64.1) + - React-Core/DevSupport (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-RCTActionSheet (= 0.64.1) + - React-RCTAnimation (= 0.64.1) + - React-RCTBlob (= 0.64.1) + - React-RCTImage (= 0.64.1) + - React-RCTLinking (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - React-RCTSettings (= 0.64.1) + - React-RCTText (= 0.64.1) + - React-RCTVibration (= 0.64.1) + - React-callinvoker (0.64.1) + - React-Core (0.64.1): + - glog + - RCT-Folly (= 2020.01.13.00) + - React-Core/Default (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/CoreModulesHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/CoreModulesHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/Default (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/Default (0.64.1): - glog - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/DevSupport (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/DevSupport (0.64.1): - glog - - React-Core/Default (= 0.63.2) - - React-Core/RCTWebSocket (= 0.63.2) - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) - - React-jsinspector (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-Core/Default (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-jsinspector (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTActionSheetHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTAnimationHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTAnimationHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTBlobHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTBlobHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTImageHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTImageHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTLinkingHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTLinkingHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTNetworkHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTNetworkHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTSettingsHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTSettingsHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTTextHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTTextHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTVibrationHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTVibrationHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTWebSocket (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTWebSocket (0.64.1): - glog - - React-Core/Default (= 0.63.2) - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-Core/Default (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-CoreModules (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/CoreModulesHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - React-RCTImage (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-cxxreact (0.63.2): + - React-CoreModules (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/CoreModulesHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTImage (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-cxxreact (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.2) - - React-jsinspector (= 0.63.2) - - React-jsi (0.63.2): + - RCT-Folly (= 2020.01.13.00) + - React-callinvoker (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsinspector (= 0.64.1) + - React-perflogger (= 0.64.1) + - React-runtimeexecutor (= 0.64.1) + - React-jsi (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-jsi/Default (= 0.63.2) - - React-jsi/Default (0.63.2): + - RCT-Folly (= 2020.01.13.00) + - React-jsi/Default (= 0.64.1) + - React-jsi/Default (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-jsiexecutor (0.63.2): + - RCT-Folly (= 2020.01.13.00) + - React-jsiexecutor (0.64.1): - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsinspector (0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-perflogger (= 0.64.1) + - React-jsinspector (0.64.1) - react-native-app-auth (6.4.0): - AppAuth (= 1.4.0) - React-Core @@ -264,66 +282,74 @@ PODS: - React-Core - react-native-safe-area-context (3.3.2): - React-Core - - React-RCTActionSheet (0.63.2): - - React-Core/RCTActionSheetHeaders (= 0.63.2) - - React-RCTAnimation (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/RCTAnimationHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTBlob (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - React-Core/RCTBlobHeaders (= 0.63.2) - - React-Core/RCTWebSocket (= 0.63.2) - - React-jsi (= 0.63.2) - - React-RCTNetwork (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTImage (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/RCTImageHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - React-RCTNetwork (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTLinking (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - React-Core/RCTLinkingHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTNetwork (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/RCTNetworkHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTSettings (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/RCTSettingsHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTText (0.63.2): - - React-Core/RCTTextHeaders (= 0.63.2) - - React-RCTVibration (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - React-Core/RCTVibrationHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - ReactCommon/turbomodule/core (0.63.2): + - react-native-user-agent (2.3.1): + - React + - react-native-webview (11.23.1): + - React-Core + - React-perflogger (0.64.1) + - React-RCTActionSheet (0.64.1): + - React-Core/RCTActionSheetHeaders (= 0.64.1) + - React-RCTAnimation (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTAnimationHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTBlob (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - React-Core/RCTBlobHeaders (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTImage (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTImageHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTLinking (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - React-Core/RCTLinkingHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTNetwork (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTNetworkHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTSettings (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTSettingsHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTText (0.64.1): + - React-Core/RCTTextHeaders (= 0.64.1) + - React-RCTVibration (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - React-Core/RCTVibrationHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-runtimeexecutor (0.64.1): + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (0.64.1): - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.2) - - React-Core (= 0.63.2) - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-callinvoker (= 0.64.1) + - React-Core (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-perflogger (= 0.64.1) - ReactNativeDarkMode (0.2.2): - React - RNCAsyncStorage (1.12.1): @@ -361,10 +387,10 @@ PODS: DEPENDENCIES: - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`) - - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) @@ -380,6 +406,9 @@ DEPENDENCIES: - react-native-app-auth (from `../node_modules/react-native-app-auth`) - react-native-camera (from `../node_modules/react-native-camera`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) + - react-native-user-agent (from `../node_modules/react-native-user-agent`) + - react-native-webview (from `../node_modules/react-native-webview`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) @@ -389,6 +418,7 @@ DEPENDENCIES: - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - ReactNativeDarkMode (from `../node_modules/react-native-dark-mode`) - "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)" @@ -426,13 +456,13 @@ EXTERNAL SOURCES: FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: - :path: "../node_modules/react-native/Libraries/FBReactNativeSpec" - Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" + :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" Permission-Camera: :path: "../node_modules/react-native-permissions/ios/Camera" + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: :path: "../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: @@ -459,6 +489,12 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-camera" react-native-safe-area-context: :path: "../node_modules/react-native-safe-area-context" + react-native-user-agent: + :path: "../node_modules/react-native-user-agent" + react-native-webview: + :path: "../node_modules/react-native-webview" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: @@ -477,6 +513,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: :path: "../node_modules/react-native/ReactCommon" ReactNativeDarkMode: @@ -511,60 +549,64 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7 boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c - DoubleConversion: cde416483dac037923206447da6e1454df403714 - FBLazyVector: 3ef4a7f62e7db01092f9d517d2ebc0d0677c4a37 - FBReactNativeSpec: dc7fa9088f0f2a998503a352b0554d69a4391c5a + DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de + FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 + FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c FirebaseInstallations: a58d4f72ec5861840b84df489f2668d970df558a FirebaseInstanceID: ad5135045a498d7775903efd39762d2cdfa1be27 FirebaseMessaging: 163435fb6db065e3b6228f1e577b10ed2cc506d2 - Folly: b73c3869541e86821df3c387eb0af5f65addfab4 - glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 + glog: 73c2498ac6884b13ede40eda8228cb1eee9d9d62 GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 + Permission-Camera: 597646618d1edcc055a3f660844c2ee6de8e0596 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 - RCTRequired: f13f25e7b12f925f1f6a6a8c69d929a03c0129fe - RCTTypeSafety: 44982c5c8e43ff4141eb519a8ddc88059acd1f3a - React: e1c65dd41cb9db13b99f24608e47dd595f28ca9a - React-callinvoker: 552a6a6bc8b3bb794cf108ad59e5a9e2e3b4fc98 - React-Core: 9d341e725dc9cd2f49e4c49ad1fc4e8776aa2639 - React-CoreModules: 5335e168165da7f7083ce7147768d36d3e292318 - React-cxxreact: d3261ec5f7d11743fbf21e263a34ea51d1f13ebc - React-jsi: 54245e1d5f4b690dec614a73a3795964eeef13a8 - React-jsiexecutor: 8ca588cc921e70590820ce72b8789b02c67cce38 - React-jsinspector: b14e62ebe7a66e9231e9581279909f2fc3db6606 - react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 - react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa - react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 - React-RCTActionSheet: 910163b6b09685a35c4ebbc52b66d1bfbbe39fc5 - React-RCTAnimation: 9a883bbe1e9d2e158d4fb53765ed64c8dc2200c6 - React-RCTBlob: 39cf0ece1927996c4466510e25d2105f67010e13 - React-RCTImage: de355d738727b09ad3692f2a979affbd54b5f378 - React-RCTLinking: 8122f221d395a63364b2c0078ce284214bd04575 - React-RCTNetwork: 8f96c7b49ea6a0f28f98258f347b6ad218bc0830 - React-RCTSettings: 8a49622aff9c1925f5455fa340b6fe4853d64ab6 - React-RCTText: 1b6773e776e4b33f90468c20fe3b16ca3e224bb8 - React-RCTVibration: 4d2e726957f4087449739b595f107c0d4b6c2d2d - ReactCommon: a0a1edbebcac5e91338371b72ffc66aa822792ce + RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c + RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 + RCTTypeSafety: 22567f31e67c3e088c7ac23ea46ab6d4779c0ea5 + React: a241e3dbb1e91d06332f1dbd2b3ab26e1a4c4b9d + React-callinvoker: da4d1c6141696a00163960906bc8a55b985e4ce4 + React-Core: 46ba164c437d7dac607b470c83c8308b05799748 + React-CoreModules: 217bd14904491c7b9940ff8b34a3fe08013c2f14 + React-cxxreact: 0090588ae6660c4615d3629fdd5c768d0983add4 + React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 + React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 + React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 + react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 + react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f + react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 + react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 + react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 + React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 + React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a + React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 + React-RCTBlob: f758d4403fc5828a326dc69e27b41e1a92f34947 + React-RCTImage: ce57088705f4a8d03f6594b066a59c29143ba73e + React-RCTLinking: 852a3a95c65fa63f657a4b4e2d3d83a815e00a7c + React-RCTNetwork: 9d7ccb8a08d522d71700b4fb677d9fa28cccd118 + React-RCTSettings: d8aaf4389ff06114dee8c42ef5f0f2915946011e + React-RCTText: 809c12ed6b261796ba056c04fcd20d8b90bcc81d + React-RCTVibration: 4b99a7f5c6c0abbc5256410cc5425fb8531986e1 + React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 + ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 - RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 - RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 - RNCPushNotificationIOS: 089da3b657e1e3d464f38195fd2e3069608ef5af + RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 + RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 + RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45 RNFBApp: 9c90f9d576861947ba75fe0830567c570bcbcf6d RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNPermissions: b4522b438784c979764461e1beba55250654bada + RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f RNVectorIcons: bc69e6a278b14842063605de32bec61f0b251a59 - Yoga: 7740b94929bbacbddda59bf115b5317e9a161598 + Yoga: a7de31c64fe738607e7a3803e3f591a4b1df7393 -PODFILE CHECKSUM: 4d332ec7a1d62fb17ce2401299cc3e6ce6ba67bd +PODFILE CHECKSUM: e1f418a9f57dd614e87ed172b615b101271eb2d5 COCOAPODS: 1.11.2 diff --git a/package-lock.json b/package-lock.json index 14e0f513..31d2f2fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,16550 @@ { "name": "AppGT", "version": "0.0.1", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "AppGT", + "version": "0.0.1", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^1.2.36", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@fortawesome/react-native-fontawesome": "^0.2.7", + "@react-native-community/async-storage": "^1.12.1", + "@react-native-community/masked-view": "^0.1.11", + "@react-native-community/push-notification-ios": "^1.10.1", + "@react-native-firebase/app": "^11.5.0", + "@react-native-firebase/iid": "^11.5.0", + "@react-native-firebase/messaging": "^11.5.0", + "@react-navigation/bottom-tabs": "^5.11.15", + "@react-navigation/native": "^5.9.8", + "@react-navigation/stack": "^5.14.9", + "moment": "^2.29.1", + "moment-timezone": "^0.5.33", + "ndef": "^0.2.0", + "nfccard-tool": "^0.1.1", + "react": "16.13.1", + "react-moment": "^0.9.7", + "react-native": "0.64.1", + "react-native-app-auth": "^6.4.0", + "react-native-camera": "^4.2.1", + "react-native-dark-mode": "^0.2.2", + "react-native-elements": "^2.3.2", + "react-native-gesture-handler": "^1.10.3", + "react-native-markdown-renderer": "^3.2.8", + "react-native-permissions": "^3.3.0", + "react-native-push-notification": "^7.4.0", + "react-native-qrcode-scanner": "^1.5.5", + "react-native-qrcode-svg": "6.0.6", + "react-native-raw-bottom-sheet": "^2.2.0", + "react-native-reanimated": "^1.13.3", + "react-native-safe-area-context": "^3.3.2", + "react-native-screens": "^2.18.1", + "react-native-svg": "^12.1.1", + "react-native-svg-transformer": "^0.14.3", + "react-native-user-agent": "^2.3.1", + "react-native-vector-icons": "^7.1.0", + "react-native-webview": "^11.23.1" + }, + "devDependencies": { + "@babel/core": "^7.15.8", + "@babel/runtime": "^7.15.4", + "@react-native-community/eslint-config": "^1.1.0", + "babel-jest": "^25.1.0", + "eslint": "^6.5.1", + "jest": "^25.1.0", + "metro-react-native-babel-preset": "^0.59.0", + "react-test-renderer": "16.13.1" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", + "dependencies": { + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.8", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/code-frame": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/generator": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "dependencies": { + "@babel/types": "^7.15.6", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-module-transforms": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", + "dependencies": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@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==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/parser": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/core/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/core/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/core/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/core/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/core/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/generator": { + "version": "7.11.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz", + "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==", + "dependencies": { + "@babel/types": "^7.11.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-builder-react-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", + "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-builder-react-jsx-experimental": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz", + "integrity": "sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/types": "^7.11.5" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "dependencies": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", + "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.5", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor/node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.11.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz", + "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables/node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables/node_modules/@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", + "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", + "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/template": "^7.10.4", + "@babel/types": "^7.11.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", + "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "dependencies": { + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz", + "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==", + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + }, + "node_modules/@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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dependencies": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/code-frame": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/generator": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "dependencies": { + "@babel/types": "^7.15.6", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@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==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/parser": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helpers/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helpers/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/helpers/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/helpers/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/helpers/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helpers/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/helpers/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helpers/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", + "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", + "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.10.4.tgz", + "integrity": "sha512-G1l00VvDZ7Yk2yRlC5D8Ybvu3gmeHS3rCHoUYdjrqGYUtdeOBoRypnvDZ5KQqxyaiiGHWnVDeSEzA5F9ozItig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-default-from": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", + "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz", + "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz", + "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", + "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.10.4.tgz", + "integrity": "sha512-79V6r6Pgudz0RnuMGp5xidu6Z+bPFugh8/Q9eDHonmLp4wKFAZDwygJwYgCzuDu8lFA/sYyT+mc5y2wkd7bTXA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz", + "integrity": "sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", + "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz", + "integrity": "sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz", + "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", + "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz", + "integrity": "sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", + "dependencies": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-object-assign": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.10.4.tgz", + "integrity": "sha512-6zccDhYEICfMeQqIjuY5G09/yhKzG30DKHJeYBQUHIsJH7c2jXSGvgwRalufLAXAq432OSlsEfAOLlzEsQzxVw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/generator": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", + "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "dependencies": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", + "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/parser": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", + "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/traverse": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", + "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-property-literals/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz", + "integrity": "sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz", + "integrity": "sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==", + "dependencies": { + "@babel/helper-builder-react-jsx": "^7.10.4", + "@babel/helper-builder-react-jsx-experimental": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz", + "integrity": "sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz", + "integrity": "sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", + "dependencies": { + "regenerator-transform": "^0.14.2" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.5.tgz", + "integrity": "sha512-9aIoee+EhjySZ6vY5hnLjigHzunBlscx9ANKutkeWTJTx6m5Rbq6Ic01tLvO54lSusR+BxV7u4UDdCmXv5aagg==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz", + "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", + "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz", + "integrity": "sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/preset-flow": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz", + "integrity": "sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-flow-strip-types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-flow/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-flow/node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-flow/node_modules/@babel/plugin-syntax-flow": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", + "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-flow/node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", + "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-flow": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/generator": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", + "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "dependencies": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", + "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", + "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/parser": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", + "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-transform-typescript": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/traverse": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/preset-typescript/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/preset-typescript/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/preset-typescript/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/preset-typescript/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/preset-typescript/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/preset-typescript/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/register": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.0.tgz", + "integrity": "sha512-UNZsMAZ7uKoGHo1HlEXfteEOYssf64n/PNLHGqOKq/bgYcu/4LrQWAHJwSCb3BRZK8Hi5gkJdRcwrGTO2wtRCg==", + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/register/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@babel/register/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz", + "integrity": "sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/traverse": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz", + "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.11.5", + "@babel/types": "^7.11.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/types": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz", + "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "dependencies": { + "@types/hammerjs": "^2.0.36" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", + "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "1.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", + "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.36" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", + "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.36" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-native-fontawesome": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@fortawesome/react-native-fontawesome/-/react-native-fontawesome-0.2.7.tgz", + "integrity": "sha512-H3FjE01PDKGTZW+pXMsaCklT0FADaHo4D+Ni63BSXNQclmFgKj2Xlky37cx0s1BaIIw1geuHcyg0hdFxbACusw==", + "dependencies": { + "humps": "^2.0.1", + "prop-types": "^15.7.2" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", + "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/core/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@jest/core/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/core/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@jest/core/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/@jest/core/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/core/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/create-cache-key-function": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz", + "integrity": "sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw==", + "dependencies": { + "@jest/types": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/environment/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.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.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "node-notifier": "^6.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/reporters/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/reporters/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@jest/reporters/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/reporters/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/@jest/test-sequencer/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/transform/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@jest/transform/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/transform/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@jest/transform/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/transform/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/transform/node_modules/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==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@react-native-async-storage/async-storage": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.16.1.tgz", + "integrity": "sha512-aQ7ka+Ii1e/q+7AVFIZPt4kDeSH8b784wMDtz19Kf4A7hf+OgCHBlUQpOXsrv8XxhlBxu0hv4tfrDO15ChnV0Q==", + "dependencies": { + "merge-options": "^3.0.4" + } + }, + "node_modules/@react-native-community/async-storage": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.12.1.tgz", + "integrity": "sha512-70WGaH3PKYASi4BThuEEKMkyAgE9k7VytBqmgPRx3MzJx9/MkspwqJGmn3QLCgHLIFUgF1pit2mWICbRJ3T3lg==", + "dependencies": { + "deep-assign": "^3.0.0" + } + }, + "node_modules/@react-native-community/cli-debugger-ui": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-5.0.1.tgz", + "integrity": "sha512-5gGKaaXYOVE423BUqxIfvfAVSj5Cg1cU/TpGbeg/iqpy2CfqyWqJB3tTuVUbOOiOvR5wbU8tti6pIi1pchJ+oA==", + "dependencies": { + "serve-static": "^1.13.1" + } + }, + "node_modules/@react-native-community/cli-hermes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-5.0.1.tgz", + "integrity": "sha512-nD+ZOFvu5MfjLB18eDJ01MNiFrzj8SDtENjGpf0ZRFndOWASDAmU54/UlU/wj8OzTToK1+S1KY7j2P2M1gleww==", + "dependencies": { + "@react-native-community/cli-platform-android": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + } + }, + "node_modules/@react-native-community/cli-platform-android": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-5.0.1.tgz", + "integrity": "sha512-qv9GJX6BJ+Y4qvV34vgxKwwN1cnveXUdP6y2YmTW7XoAYs5YUzKqHajpY58EyucAL2y++6+573t5y4U/9IIoww==", + "dependencies": { + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "execa": "^1.0.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "jetifier": "^1.6.2", + "lodash": "^4.17.15", + "logkitty": "^0.7.1", + "slash": "^3.0.0", + "xmldoc": "^1.1.2" + } + }, + "node_modules/@react-native-community/cli-platform-ios": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-5.0.2.tgz", + "integrity": "sha512-IAJ2B3j2BTsQUJZ4R6cVvnTbPq0Vza7+dOgP81ISz2BKRtQ0VqNFv+VOALH2jLaDzf4t7NFlskzIXFqWqy2BLg==", + "dependencies": { + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "glob": "^7.1.3", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "plist": "^3.0.1", + "xcode": "^2.0.0" + } + }, + "node_modules/@react-native-community/cli-server-api": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-5.0.1.tgz", + "integrity": "sha512-OOxL+y9AOZayQzmSW+h5T54wQe+QBc/f67Y9QlWzzJhkKJdYx+S4VOooHoD5PFJzGbYaxhu2YF17p517pcEIIA==", + "dependencies": { + "@react-native-community/cli-debugger-ui": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.0", + "nocache": "^2.1.0", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^1.1.0" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "node_modules/@react-native-community/cli-tools": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-5.0.1.tgz", + "integrity": "sha512-XOX5w98oSE8+KnkMZZPMRT7I5TaP8fLbDl0tCu40S7Epz+Zz924n80fmdu6nUDIfPT1nV6yH1hmHmWAWTDOR+Q==", + "dependencies": { + "chalk": "^3.0.0", + "lodash": "^4.17.15", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "shell-quote": "1.6.1" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@react-native-community/cli-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-5.0.1.tgz", + "integrity": "sha512-BesXnuFFlU/d1F3+sHhvKt8fUxbQlAbZ3hhMEImp9A6sopl8TEtryUGJ1dbazGjRXcADutxvjwT/i3LJVTIQug==", + "dependencies": { + "ora": "^3.4.0" + } + }, + "node_modules/@react-native-community/eslint-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-1.1.0.tgz", + "integrity": "sha512-hwb1hC28BhkwLwnO6vDISV6XZbipw2RIEhBVBN+pE7AUG9HjFXxoksiiOSoYgox9C8g86VJwHnKpak/3NnVBkQ==", + "dev": true, + "dependencies": { + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^2.25.0", + "@typescript-eslint/parser": "^2.25.0", + "babel-eslint": "10.1.0", + "eslint-config-prettier": "^6.10.1", + "eslint-plugin-eslint-comments": "^3.1.2", + "eslint-plugin-flowtype": "2.50.3", + "eslint-plugin-jest": "22.4.1", + "eslint-plugin-prettier": "3.1.2", + "eslint-plugin-react": "7.19.0", + "eslint-plugin-react-hooks": "^3.0.0", + "eslint-plugin-react-native": "3.8.1", + "prettier": "^2.0.2" + } + }, + "node_modules/@react-native-community/eslint-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.1.0.tgz", + "integrity": "sha512-W/J0fNYVO01tioHjvYWQ9m6RgndVtbElzYozBq1ZPrHO/iCzlqoySHl4gO/fpCl9QEFjvJfjPgtPMTMlsoq5DQ==", + "dev": true + }, + "node_modules/@react-native-community/masked-view": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", + "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==" + }, + "node_modules/@react-native-community/push-notification-ios": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@react-native-community/push-notification-ios/-/push-notification-ios-1.10.1.tgz", + "integrity": "sha512-k6bZWUKLif4GjenyTD3aQLwA2VT3bNmt22INO/34lexnpmqkPDZF7nreqbckTHG0Zso9wDTe4N/AZJUC/d8iRg==", + "dependencies": { + "invariant": "^2.2.4" + } + }, + "node_modules/@react-native-firebase/app": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-11.5.0.tgz", + "integrity": "sha512-Jz5CBhqkybxHjTFr5V0K+Jq2YivzPbu9exSze61/z1zSaIfBhR4G38wmHk44VWAl+PEX8GaYy9yfT69tLiCERA==", + "dependencies": { + "opencollective-postinstall": "^2.0.1", + "superstruct": "^0.6.2" + } + }, + "node_modules/@react-native-firebase/iid": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/iid/-/iid-11.5.0.tgz", + "integrity": "sha512-S9f9AaKr9CkA9d6cfS8V5wpyqdFPPQXIjFU4fPTFaeuJ37T659KqK9SGvY/pSB0DdWC5CMQniukIQsUt5l7O1g==" + }, + "node_modules/@react-native-firebase/messaging": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/messaging/-/messaging-11.5.0.tgz", + "integrity": "sha512-bjsoJByiNtikNLCf5RMmUdIj3uH8Uf0eeyM9PdqfNRB1mtVaYrU8AmXnzbSd5SqJ/sxqwyZVuxzWNEJrcOnhZw==" + }, + "node_modules/@react-native/assets": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", + "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" + }, + "node_modules/@react-native/normalize-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-1.0.0.tgz", + "integrity": "sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg==" + }, + "node_modules/@react-native/polyfills": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", + "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" + }, + "node_modules/@react-navigation/bottom-tabs": { + "version": "5.11.15", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-5.11.15.tgz", + "integrity": "sha512-TBY419W6aN/HZg98xbVp5Bx1HEF5sXuHR5f55W6KMI4k2AvxlwelKD1wbfvEcX2iuQT0YUiiXsACRFUSECYhkw==", + "dependencies": { + "color": "^3.1.3", + "react-native-iphone-x-helper": "^1.3.0" + } + }, + "node_modules/@react-navigation/bottom-tabs/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/@react-navigation/bottom-tabs/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@react-navigation/bottom-tabs/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@react-navigation/core": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-5.16.1.tgz", + "integrity": "sha512-3AToC7vPNeSNcHFLd1h71L6u34hfXoRAS1CxF9Fc4uC8uOrVqcNvphpeFbE0O9Bw6Zpl0BnMFl7E5gaL3KGzNA==", + "dependencies": { + "@react-navigation/routers": "^5.7.4", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.15", + "query-string": "^6.13.6", + "react-is": "^16.13.0" + } + }, + "node_modules/@react-navigation/core/node_modules/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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-navigation/native": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-5.9.8.tgz", + "integrity": "sha512-DNbcDHXQPSFDLn51kkVVJjT3V7jJy2GztNYZe/2bEg29mi5QEcHHcpifjMCtyFKntAOWzKlG88UicIQ17UEghg==", + "dependencies": { + "@react-navigation/core": "^5.16.1", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.15" + } + }, + "node_modules/@react-navigation/native/node_modules/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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-navigation/routers": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-5.7.4.tgz", + "integrity": "sha512-0N202XAqsU/FlE53Nmh6GHyMtGm7g6TeC93mrFAFJOqGRKznT0/ail+cYlU6tNcPA9AHzZu1Modw1eoDINSliQ==", + "dependencies": { + "nanoid": "^3.1.15" + } + }, + "node_modules/@react-navigation/stack": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-5.14.9.tgz", + "integrity": "sha512-DuvrT9P+Tz8ezZLQYxORZqOGqO+vEufaxlW1hSLw1knLD4jNxkz8TJDXtfKwaz//9gb43UhTNccNM02vm7iPqQ==", + "dependencies": { + "color": "^3.1.3", + "react-native-iphone-x-helper": "^1.3.0" + } + }, + "node_modules/@react-navigation/stack/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/@react-navigation/stack/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@react-navigation/stack/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@sideway/address": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", + "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", + "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", + "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", + "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", + "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", + "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", + "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", + "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", + "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", + "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", + "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", + "@svgr/babel-plugin-transform-svg-component": "^4.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/core": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", + "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", + "dependencies": { + "@svgr/plugin-jsx": "^4.3.3", + "camelcase": "^5.3.1", + "cosmiconfig": "^5.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", + "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "dependencies": { + "@babel/types": "^7.4.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", + "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "dependencies": { + "@babel/core": "^7.4.5", + "@svgr/babel-preset": "^4.3.3", + "@svgr/hast-util-to-babel-ast": "^4.3.2", + "svg-parser": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", + "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", + "dependencies": { + "cosmiconfig": "^5.2.1", + "merge-deep": "^3.0.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", + "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.14.tgz", + "integrity": "sha512-8w9szzKs14ZtBVuP6Wn7nMLRJ0D6dfB0VEBEyRgxrZ/Ln49aNMykrghM2FaNn4FJRzNppCSa0Rv9pBRM5Xc3wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", + "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hammerjs": { + "version": "2.0.40", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.40.tgz", + "integrity": "sha512-VbjwR1fhsn2h2KXAY4oy1fm7dCxaKy0D+deTb8Ilc3Eo3rc5+5eA4rfYmZaHgNJKxVyI0f6WIXzO2zLkVmQPHA==" + }, + "node_modules/@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==" + }, + "node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-0.0.4.tgz", + "integrity": "sha512-FWR7QB7EqBRq1s9BMk0ccOSOuRLfVEWYpHQYpFPaXtCoqN6dJx2ttdsdQbUxLLnAlKpYeVjveGGhQ3583TTa7g==" + }, + "node_modules/@types/node": { + "version": "14.11.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", + "integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "node_modules/@types/react": { + "version": "16.9.49", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz", + "integrity": "sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-native": { + "version": "0.63.20", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.20.tgz", + "integrity": "sha512-APnxRTDxbWw/IYjvwvXkhYJiz1gahyVA579pJqAVsEfZ+ZUwUHZpWKnexobyH5NmRJHuA/8LrThyps/BW3SYXA==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-native-vector-icons": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.6.tgz", + "integrity": "sha512-lAyxNfMd5L1xZvXWsGcJmNegDf61TAp40uL6ashNNWj9W3IrDJO59L9+9inh0Y2MsEZpLTdxzVU8Unb4/0FQng==", + "dependencies": { + "@types/react": "*", + "@types/react-native": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "dependencies": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/absolute-path": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", + "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", + "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "dev": true, + "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" + } + }, + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" + }, + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/appdirsjs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.6.tgz", + "integrity": "sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "node_modules/array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "node_modules/array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-includes/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "node_modules/array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ast-types/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/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==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/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, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", + "dev": true + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + }, + "node_modules/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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "dev": true, + "dependencies": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/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==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", + "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", + "dev": true, + "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" + } + }, + "node_modules/babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "node_modules/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, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "node_modules/bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "dependencies": { + "stream-buffers": "2.2.x" + } + }, + "node_modules/bplist-parser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", + "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", + "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", + "dependencies": { + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", + "escalade": "^3.1.1", + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001270", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz", + "integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==" + }, + "node_modules/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==", + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "dependencies": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone-deep/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "node_modules/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/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==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "node_modules/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==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "node_modules/core-js-pure": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", + "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "dev": true + }, + "node_modules/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=" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "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" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/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==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "dependencies": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", + "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/csso": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "dependencies": { + "css-tree": "1.0.0-alpha.39" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz", + "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/dayjs": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.8.tgz", + "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", + "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==", + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/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==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz", + "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", + "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==" + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.877", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.877.tgz", + "integrity": "sha512-fT5mW5Giw5iyVukeHb2XvB4joBKvzHtl8Vs3QzE7APATpFMt/T7RWyUcIKSZzYkKQgpMbu+vDBTCHfQZvh8klA==" + }, + "node_modules/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==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", + "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", + "dependencies": { + "stackframe": "^1.1.1" + } + }, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-abstract": { + "version": "1.18.0-next.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", + "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/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=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", + "dev": true, + "dependencies": { + "get-stdin": "^6.0.0" + }, + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "2.50.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", + "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "22.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", + "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", + "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", + "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.1", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.1", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.15.1", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.2", + "xregexp": "^4.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz", + "integrity": "sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw==", + "dev": true, + "engines": { + "node": ">=7" + } + }, + "node_modules/eslint-plugin-react-native": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz", + "integrity": "sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg==", + "dev": true, + "dependencies": { + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "node_modules/eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/eslint/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/eslint/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/eslint/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/eslint/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/expect/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/expect/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/expect/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/expect/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/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==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "dependencies": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + }, + "node_modules/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==" + }, + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/flow-parser": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.121.0.tgz", + "integrity": "sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/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, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hermes-engine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.7.2.tgz", + "integrity": "sha512-E2DkRaO97gwL98LPhgfkMqhHiNsrAjIfEk3wWYn2Y31xdkdWn0572H7RnVcGujMJVqZNJvtknxlpsUb8Wzc3KA==" + }, + "node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "dependencies": { + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/humps": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz", + "integrity": "sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "dependencies": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internal-slot/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "optional": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", + "dev": true, + "dependencies": { + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-changed-files/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "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", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/jest-changed-files/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-config/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-diff/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-environment-node/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-haste-map/node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-haste-map/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-haste-map/node_modules/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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-haste-map/node_modules/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==", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-haste-map/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-jasmine2/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-jasmine2/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "dev": true, + "dependencies": { + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-runner/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/jest-runner/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-runner/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/jest-runner/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runner/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/jest-runner/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-runner/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-runtime/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-runtime/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/jest-runtime/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-runtime/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/jest-runtime/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-runtime/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-util/node_modules/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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-util/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-util/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-util/node_modules/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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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==", + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-validate/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-watcher/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-watcher/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "dev": true, + "dependencies": { + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jetifier": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.8.tgz", + "integrity": "sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==", + "bin": { + "jetifier": "bin/jetify", + "jetifier-standalone": "bin/jetifier-standalone", + "jetify": "bin/jetify" + } + }, + "node_modules/joi": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", + "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsc-android": { + "version": "245459.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-245459.0.0.tgz", + "integrity": "sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==" + }, + "node_modules/jscodeshift": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", + "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", + "dependencies": { + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", + "@babel/plugin-proposal-optional-chaining": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.3", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + } + }, + "node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", + "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "dev": true, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/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==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", + "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/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==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "node_modules/lodash.frompairs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", + "integrity": "sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/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==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "dependencies": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" + } + }, + "node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/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==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/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==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "node_modules/merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", + "dependencies": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-deep/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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==" + }, + "node_modules/metro": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.64.0.tgz", + "integrity": "sha512-G2OC08Rzfs0kqnSEuKo2yZxR+/eNUpA93Ru45c60uN0Dw3HPrDi+ZBipgFftC6iLE0l+6hu8roFFIofotWxybw==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "absolute-path": "^0.0.0", + "accepts": "^1.3.7", + "async": "^2.4.0", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "fs-extra": "^1.0.0", + "graceful-fs": "^4.1.3", + "image-size": "^0.6.0", + "invariant": "^2.2.4", + "jest-haste-map": "^26.5.2", + "jest-worker": "^26.0.0", + "lodash.throttle": "^4.1.1", + "metro-babel-register": "0.64.0", + "metro-babel-transformer": "0.64.0", + "metro-cache": "0.64.0", + "metro-cache-key": "0.64.0", + "metro-config": "0.64.0", + "metro-core": "0.64.0", + "metro-hermes-compiler": "0.64.0", + "metro-inspector-proxy": "0.64.0", + "metro-minify-uglify": "0.64.0", + "metro-react-native-babel-preset": "0.64.0", + "metro-resolver": "0.64.0", + "metro-runtime": "0.64.0", + "metro-source-map": "0.64.0", + "metro-symbolicate": "0.64.0", + "metro-transform-plugins": "0.64.0", + "metro-transform-worker": "0.64.0", + "mime-types": "^2.1.27", + "mkdirp": "^0.5.1", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^2.5.4", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "temp": "0.8.3", + "throat": "^5.0.0", + "ws": "^1.1.5", + "yargs": "^15.3.1" + }, + "bin": { + "metro": "src/cli.js" + } + }, + "node_modules/metro-babel-register": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.64.0.tgz", + "integrity": "sha512-Kf6YvE3kIRumGnjK0Q9LqGDIdnsX9eFGtNBmBuCVDuB9wGGA/5CgX8We8W7Y44dz1RGTcHJRhfw5iGg+pwC3aQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/register": "^7.0.0", + "escape-string-regexp": "^1.0.5" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.64.0.tgz", + "integrity": "sha512-itZaxKTgmKGEZWxNzbSZBc22NngrMZzoUNuU92aHSTGkYi2WH4XlvzEHsstmIKHMsRVKl75cA+mNmgk4gBFJKw==", + "dependencies": { + "@babel/core": "^7.0.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro-cache": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.64.0.tgz", + "integrity": "sha512-QvGfxe/1QQYM9XOlR8W1xqE9eHDw/AgJIgYGn/TxZxBu9Zga+Rgs1omeSZju45D8w5VWgMr83ma5kACgzvOecg==", + "dependencies": { + "metro-core": "0.64.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" + } + }, + "node_modules/metro-cache-key": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.64.0.tgz", + "integrity": "sha512-O9B65G8L/fopck45ZhdRosyVZdMtUQuX5mBWEC1NRj02iWBIUPLmYMjrunqIe8vHipCMp3DtTCm/65IlBmO8jg==" + }, + "node_modules/metro-config": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.64.0.tgz", + "integrity": "sha512-QhM4asnX5KhlRWaugwVGNNXhX0Z85u5nK0UQ/A90bBb4xWyXqUe20e788VtdA75rkQiiI6wXTCIHWT0afbnjwQ==", + "dependencies": { + "cosmiconfig": "^5.0.5", + "jest-validate": "^26.5.2", + "metro": "0.64.0", + "metro-cache": "0.64.0", + "metro-core": "0.64.0", + "metro-runtime": "0.64.0" + } + }, + "node_modules/metro-core": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.64.0.tgz", + "integrity": "sha512-v8ZQ5j72EaUwamQ8pLfHlOHTyp7SbdazvHPzFGDpHnwIQqIT0Bw3Syg8R4regTlVG3ngpeSEAi005UITljmMcQ==", + "dependencies": { + "jest-haste-map": "^26.5.2", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.64.0" + } + }, + "node_modules/metro-hermes-compiler": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.64.0.tgz", + "integrity": "sha512-CLAjVDWGAoGhbi2ZyPHnH5YDdfrDIx6+tzFWfHGIMTZkYBXsYta9IfYXBV8lFb6BIbrXLjlXZAOoosknetMPOA==" + }, + "node_modules/metro-inspector-proxy": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.64.0.tgz", + "integrity": "sha512-KywbH3GNSz9Iqw4UH3smgaV2dBHHYMISeN7ORntDL/G+xfgPc6vt13d+zFb907YpUcXj5N0vdoiAHI5V/0y8IA==", + "dependencies": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "ws": "^1.1.5", + "yargs": "^15.3.1" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" + } + }, + "node_modules/metro-inspector-proxy/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "node_modules/metro-minify-uglify": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.64.0.tgz", + "integrity": "sha512-DRwRstqXR5qfte9Nuwoov5dRXxL7fJeVlO5fGyOajWeO3+AgPjvjXh/UcLJqftkMWTPGUFuzAD5/7JC5v5FLWw==", + "dependencies": { + "uglify-es": "^3.1.9" + } + }, + "node_modules/metro-react-native-babel-preset": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz", + "integrity": "sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg==", + "dev": true, + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/metro-react-native-babel-transformer": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.64.0.tgz", + "integrity": "sha512-K1sHO3ODBFCr7uEiCQ4RvVr+cQg0EHQF8ChVPnecGh/WDD8udrTq9ECwB0dRfMjAvlsHtRUlJm6ZSI8UPgum2w==", + "dependencies": { + "@babel/core": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "metro-babel-transformer": "0.64.0", + "metro-react-native-babel-preset": "0.64.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro-react-native-babel-transformer/node_modules/metro-react-native-babel-preset": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", + "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/metro-resolver": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.64.0.tgz", + "integrity": "sha512-cJ26Id8Zf+HmS/1vFwu71K3u7ep/+HeXXAJIeVDYf+niE7AWB9FijyMtAlQgbD8elWqv1leJCnQ/xHRFBfGKYA==", + "dependencies": { + "absolute-path": "^0.0.0" + } + }, + "node_modules/metro-runtime": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.64.0.tgz", + "integrity": "sha512-m7XbWOaIOeFX7YcxUhmnOi6Pg8EaeL89xyZ+quZyZVF1aNoTr4w8FfbKxvijpjsytKHIZtd+43m2Wt5JrqyQmQ==" + }, + "node_modules/metro-source-map": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.64.0.tgz", + "integrity": "sha512-OCG2rtcp5cLEGYvAbfkl6mEc0J2FPRP4/UCEly+juBk7hawS9bCBMBfhJm/HIsvY1frk6nT2Vsl1O8YBbwyx2g==", + "dependencies": { + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.64.0", + "nullthrows": "^1.1.1", + "ob1": "0.64.0", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "node_modules/metro-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-symbolicate": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.64.0.tgz", + "integrity": "sha512-qIi+YRrDWnLVmydj6gwidYLPaBsakZRibGWSspuXgHAxOI3UuLwlo4dpQ73Et0gyHjI7ZvRMRY8JPiOntf9AQQ==", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/metro-symbolicate/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.64.0.tgz", + "integrity": "sha512-iTIRBD/wBI98plfxj8jAoNUUXfXLNlyvcjPtshhpGvdwu9pzQilGfnDnOaaK+vbITcOk9w5oQectXyJwAqTr1A==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.64.0.tgz", + "integrity": "sha512-wegRtK8GyLF6IPZRBJp+zsORgA4iX0h1DRpknyAMDCtSbJ4VU2xV/AojteOgAsDvY3ucAGsvfuZLNDJHUdUNHQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/types": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "metro": "0.64.0", + "metro-babel-transformer": "0.64.0", + "metro-cache": "0.64.0", + "metro-cache-key": "0.64.0", + "metro-hermes-compiler": "0.64.0", + "metro-source-map": "0.64.0", + "metro-transform-plugins": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/metro/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/metro/node_modules/fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, + "node_modules/metro/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/metro/node_modules/metro-react-native-babel-preset": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", + "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/metro/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dependencies": { + "mime-db": "1.44.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dependencies": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object/node_modules/for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.33", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", + "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", + "dependencies": { + "moment": ">= 2.9.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/nanoid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/ndef": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ndef/-/ndef-0.2.0.tgz", + "integrity": "sha512-yl0t0oexuIjNLs8MAF5xZ6rT9P635+ZnCt4sng/aJT8/8gqJ0niBpZoKsioLi+NUA7ydb20MqXo+rIdAQcihVg==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/ndef-lib": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ndef-lib/-/ndef-lib-0.0.7.tgz", + "integrity": "sha512-bP0z5AZy7brNOHJbbxPYPriIBrW40bBzC0v2JHigJUB9EvBUbobYEDwfQCL0zvKXggSkWDyR419X1TB1cKNy2A==", + "dependencies": { + "requirejs": "^2.3.5" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==" + }, + "node_modules/nfccard-tool": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/nfccard-tool/-/nfccard-tool-0.1.1.tgz", + "integrity": "sha512-XZGAHWQAWpx8Tm8shgQXmFeuSttj+Msp6RP5tRPPZ+q5IxX92p13AXxaN9ILhdx+xrEYQ6Dq+wsKduwzKo2d0A==", + "dependencies": { + "ndef-lib": "0.0.7" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/nocache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", + "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node_modules/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=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node_modules/node-notifier/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/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, + "engines": { + "node": "*" + } + }, + "node_modules/ob1": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.64.0.tgz", + "integrity": "sha512-CO1N+5dhvy+MoAwxz8+fymEUcwsT4a+wHhrHFb02LppcJdHxgcBWviwEhUwKOD2kLMQ7ijrrzybOqpGcqEtvpQ==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.entries/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.getownpropertydescriptors/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-each-series": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", + "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/plist": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", + "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", + "dependencies": { + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/plist/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", + "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pretty-format/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pretty-format/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pretty-format/node_modules/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==" + }, + "node_modules/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==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", + "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qrcode": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", + "dependencies": { + "buffer": "^5.4.3", + "buffer-alloc": "^1.2.0", + "buffer-from": "^1.1.1", + "dijkstrajs": "^1.0.1", + "isarray": "^2.0.1", + "pngjs": "^3.3.0", + "yargs": "^13.2.4" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/qrcode/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/qrcode/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/qrcode/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/qrcode/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "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" + } + }, + "node_modules/qrcode/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/react": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", + "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools-core": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.0.tgz", + "integrity": "sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg==", + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/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==" + }, + "node_modules/react-moment": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/react-moment/-/react-moment-0.9.7.tgz", + "integrity": "sha512-ifzUrUGF6KRsUN2pRG5k56kO0mJBr8kRkWb0wNvtFIsBIxOuPxhUpL1YlXwpbQCbHq23hUu6A0VEk64HsFxk9g==" + }, + "node_modules/react-native": { + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.64.1.tgz", + "integrity": "sha512-jvSj+hNAfwvhaSmxd5KHJ5HidtG0pDXzoH6DaqNpU74g3CmAiA8vuk58B5yx/DYuffGq6PeMniAcwuh3Xp4biQ==", + "dependencies": { + "@jest/create-cache-key-function": "^26.5.0", + "@react-native-community/cli": "^5.0.1-alpha.0", + "@react-native-community/cli-platform-android": "^5.0.1-alpha.0", + "@react-native-community/cli-platform-ios": "^5.0.1-alpha.0", + "@react-native/assets": "1.0.0", + "@react-native/normalize-color": "1.0.0", + "@react-native/polyfills": "1.0.0", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "event-target-shim": "^5.0.1", + "hermes-engine": "~0.7.0", + "invariant": "^2.2.4", + "jsc-android": "^245459.0.0", + "metro-babel-register": "0.64.0", + "metro-react-native-babel-transformer": "0.64.0", + "metro-runtime": "0.64.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.0.3", + "prop-types": "^15.7.2", + "react-devtools-core": "^4.6.0", + "react-native-codegen": "^0.0.6", + "react-refresh": "^0.4.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "^0.20.1", + "shelljs": "^0.8.4", + "stacktrace-parser": "^0.1.3", + "use-subscription": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.1.4" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/react-native-app-auth": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/react-native-app-auth/-/react-native-app-auth-6.4.0.tgz", + "integrity": "sha512-m9DOM/Bgplrk6gD+sqshsbdG9XB4eSaA4rZXuPnwTXYTcHxCy0KvJ3jRDLKDY1im78lXNnifGeHicv7chGAwQw==", + "dependencies": { + "invariant": "2.2.4", + "react-native-base64": "0.0.2" + } + }, + "node_modules/react-native-base64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/react-native-base64/-/react-native-base64-0.0.2.tgz", + "integrity": "sha512-Fu/J1a2y0X22EJDWqJR2oEa1fpP4gTFjYxk8ElJdt1Yak3HOXmFJ7EohLVHU2DaQkgmKfw8qb7u/48gpzveRbg==" + }, + "node_modules/react-native-camera": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-4.2.1.tgz", + "integrity": "sha512-+Vkql24PFYQfsPRznJCvPwJQfyzCnjlcww/iZ4Ej80bgivKjL9eU0IMQIXp4yi6XCrKi4voWXxIDPMupQZKeIQ==", + "dependencies": { + "prop-types": "^15.6.2" + } + }, + "node_modules/react-native-codegen": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.0.6.tgz", + "integrity": "sha512-cMvrUelD81wiPitEPiwE/TCNscIVauXxmt4NTGcy18HrUd0WRWXfYzAQGXm0eI87u3NMudNhqFj2NISJenxQHg==", + "dependencies": { + "flow-parser": "^0.121.0", + "jscodeshift": "^0.11.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/react-native-dark-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/react-native-dark-mode/-/react-native-dark-mode-0.2.2.tgz", + "integrity": "sha512-2vhWOOimU7DRKYjCU/pdv0+JpnGKURq5+c7bre093Jtzk57HtlJfd+ViibbC9Y8zh0viIOyKtfL5mYhVhZ6Crw==", + "dependencies": { + "@types/events": "*", + "@types/react": "*", + "@types/react-native": "*", + "events": "^3.0.0", + "toolkit.ts": "^0.0.2" + } + }, + "node_modules/react-native-elements": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.3.2.tgz", + "integrity": "sha512-HygYYmq8JYjk/YYiUwr/64qT64H2xlPBz0JnkGTQwvnnyXZrfkHFopw8rLWCupv3iLLPDzVohvPs0Z5HLdonSQ==", + "dependencies": { + "@types/react-native-vector-icons": "^6.4.5", + "color": "^3.1.0", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.1.0", + "lodash.isequal": "^4.5.0", + "opencollective-postinstall": "^2.0.0", + "prop-types": "^15.7.2", + "react-native-ratings": "^7.2.0", + "react-native-status-bar-height": "^2.5.0" + } + }, + "node_modules/react-native-elements/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-native-fit-image": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-native-fit-image/-/react-native-fit-image-1.5.5.tgz", + "integrity": "sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==", + "dependencies": { + "prop-types": "^15.5.10" + } + }, + "node_modules/react-native-gesture-handler": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.10.3.tgz", + "integrity": "sha512-cBGMi1IEsIVMgoox4RvMx7V2r6bNKw0uR1Mu1o7NbuHS6BRSVLq0dP34l2ecnPlC+jpWd3le6Yg1nrdCjby2Mw==", + "dependencies": { + "@egjs/hammerjs": "^2.0.17", + "fbjs": "^3.0.0", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "prop-types": "^15.7.2" + } + }, + "node_modules/react-native-gesture-handler/node_modules/fbjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", + "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", + "dependencies": { + "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" + } + }, + "node_modules/react-native-gesture-handler/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/react-native-iphone-x-helper": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", + "integrity": "sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==" + }, + "node_modules/react-native-markdown-renderer": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/react-native-markdown-renderer/-/react-native-markdown-renderer-3.2.8.tgz", + "integrity": "sha512-gDT5r3lwecNsEfpKagSaidEGfmCbpVcmV+HHLjaGYRALJoHkpOFni0rJZW1rCerOR9sjaUNGXE66U7BUrlEw0w==", + "dependencies": { + "@types/markdown-it": "^0.0.4", + "@types/react-native": ">=0.50.0", + "markdown-it": "^8.4.0", + "prop-types": "^15.5.10", + "react-native-fit-image": "^1.5.2" + } + }, + "node_modules/react-native-permissions": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.3.0.tgz", + "integrity": "sha512-F0Yjcp0V340lQW2ibg1lTGmStsMoWsBtosSCRIZOatOQAsNMp77zL6SdYcIGwJUBMVDX3BMraB4AX4Ph3cW1NA==" + }, + "node_modules/react-native-push-notification": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/react-native-push-notification/-/react-native-push-notification-7.4.0.tgz", + "integrity": "sha512-Ac3Ep71e2D8Q/Vy0OHBAO5JwhsFsNSuf9knkpXQWS0B9488nIZJLEMuTpF8610xPvGw7XxVrL/q0oZO5F1pOzw==" + }, + "node_modules/react-native-qrcode-scanner": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-native-qrcode-scanner/-/react-native-qrcode-scanner-1.5.5.tgz", + "integrity": "sha512-il79uStkFqUvofqXJQfOL30qgQyU17MUKxj7IGHv6oT2OxIY/vutTwuPPDbsivtv0yTMHP4dGx/79oys4eAuNw==", + "dependencies": { + "@react-native-async-storage/async-storage": "^1.13.4", + "prop-types": "^15.5.10", + "react-native-permissions": "^2.0.2" + } + }, + "node_modules/react-native-qrcode-scanner/node_modules/react-native-permissions": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-2.2.2.tgz", + "integrity": "sha512-ihf4shQDSX5Oo9ChQXb9kr13mmyyNem5MaEvOpr3dCjhBOBWyEMztXm9/uPK1Qg5PsNpaYLa1KpcPZDCw87LXg==" + }, + "node_modules/react-native-qrcode-svg": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.0.6.tgz", + "integrity": "sha512-b+/teD+xj17VDujJzf956U2+9mX+gKwVJss2aqmhEIyjP7+TVOuE08D3UkzfOCWXE8gppcUTTz5gkY1NXgfwyQ==", + "dependencies": { + "prop-types": "^15.5.10", + "qrcode": "^1.3.2" + } + }, + "node_modules/react-native-ratings": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-7.3.0.tgz", + "integrity": "sha512-NCDIkmrVPnxPzP9zKdlcNpa2rPs3Hiv2qXsojUr3FpwbANWfgYE+jjGSSCBcS3vpXndTjhoaTGFDnybnUSFPFA==", + "dependencies": { + "lodash": "^4.17.15", + "prop-types": "^15.7.2" + } + }, + "node_modules/react-native-raw-bottom-sheet": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-native-raw-bottom-sheet/-/react-native-raw-bottom-sheet-2.2.0.tgz", + "integrity": "sha512-qL4JKIqvbcVxbkKzeh51hjV7suoJN3ouxzvLmOg0FBUV1yiJAfEbacjQdtRCI6+OU5pyGFBIifLsTXcFDwHggg==" + }, + "node_modules/react-native-reanimated": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.13.3.tgz", + "integrity": "sha512-i714H24dv6ncpFO7/SZ0PfAMbvjgVbF8Ow2NPtowoZAz8osS54DmTMrkgJ9Za+uEku/s0AEaxqiXG2Xgntvv2g==", + "dependencies": { + "fbjs": "^1.0.0" + } + }, + "node_modules/react-native-safe-area-context": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz", + "integrity": "sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==" + }, + "node_modules/react-native-screens": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.18.1.tgz", + "integrity": "sha512-r5WZLpmx2hHjC1RgMdPq5YpSU9tEhBpUaZ5M1SUtNIONyiLqQVxabhRCINdebIk4depJiIl7yw2Q85zJyeX6fw==" + }, + "node_modules/react-native-status-bar-height": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/react-native-status-bar-height/-/react-native-status-bar-height-2.5.0.tgz", + "integrity": "sha512-sYBCPYA/NapBSHkdm/IVL4ID3LLlIuLqINi2FBDyMkc2BU9pfSGOtkz9yfxoK39mYJuTrlTOQ7mManARUsYDSA==" + }, + "node_modules/react-native-svg": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.1.tgz", + "integrity": "sha512-NIAJ8jCnXGCqGWXkkJ1GTzO4a3Md5at5sagYV8Vh4MXYnL4z5Rh428Wahjhh+LIjx40EE5xM5YtwyJBqOIba2Q==", + "dependencies": { + "css-select": "^2.1.0", + "css-tree": "^1.0.0-alpha.39" + } + }, + "node_modules/react-native-svg-transformer": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-0.14.3.tgz", + "integrity": "sha512-agDGdMeeBAsWEgg/u7mjtR2Z3c8smGCLep/n3svwifut9dpswZCP+bSIrU8ekg6RNtxAJL+eGJbWjJ38vWxw6g==", + "dependencies": { + "@svgr/core": "^4.3.3", + "@svgr/plugin-svgo": "^4.3.1", + "path-dirname": "^1.0.2", + "semver": "^5.6.0" + } + }, + "node_modules/react-native-svg-transformer/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/react-native-user-agent": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-native-user-agent/-/react-native-user-agent-2.3.1.tgz", + "integrity": "sha512-AIFr1VgJHwgWmMwCOmIGxuBeAaADlouXKc10UyR4fzWneUbt5uIJIoRu2oExlfCtiT8IyCp106khDD5vx7RUjw==", + "peerDependencies": { + "react-native": "*" + } + }, + "node_modules/react-native-vector-icons": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-7.1.0.tgz", + "integrity": "sha512-V2a1zJ4i+kS8O4j183gIwX14St9AxxXabxwYpFBgRhvr2NDXyFcjHDEAgrOYYlt2W57e20aN1tBDU/I+wn9WtQ==", + "dependencies": { + "lodash.frompairs": "^4.0.1", + "lodash.isequal": "^4.5.0", + "lodash.isstring": "^4.0.1", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "lodash.template": "^4.5.0", + "prop-types": "^15.7.2", + "yargs": "^15.0.2" + }, + "bin": { + "fa5-upgrade": "bin/fa5-upgrade.sh", + "generate-icon": "bin/generate-icon.js" + } + }, + "node_modules/react-native-webview": { + "version": "11.23.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.23.1.tgz", + "integrity": "sha512-bmqsdg4RYOUYD37R9XTrQALm7eD62KbLNPRfgvpLGd1SjaurvAjjsLrLN4mt6yOtKOMKeZvlcAl3x6De6cCQsA==", + "dependencies": { + "escape-string-regexp": "2.0.0", + "invariant": "2.2.4" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-webview/node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-native/node_modules/@react-native-community/cli": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-5.0.1.tgz", + "integrity": "sha512-9VzSYUYSEqxEH5Ib2UNSdn2eyPiYZ4T7Y79o9DKtRBuSaUIwbCUdZtIm+UUjBpLS1XYBkW26FqL8/UdZDmQvXw==", + "dependencies": { + "@react-native-community/cli-debugger-ui": "^5.0.1", + "@react-native-community/cli-hermes": "^5.0.1", + "@react-native-community/cli-server-api": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "@react-native-community/cli-types": "^5.0.1", + "appdirsjs": "^1.2.4", + "chalk": "^3.0.0", + "command-exists": "^1.2.8", + "commander": "^2.19.0", + "cosmiconfig": "^5.1.0", + "deepmerge": "^3.2.0", + "envinfo": "^7.7.2", + "execa": "^1.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.3", + "joi": "^17.2.1", + "leven": "^3.1.0", + "lodash": "^4.17.15", + "metro": "^0.64.0", + "metro-config": "^0.64.0", + "metro-core": "^0.64.0", + "metro-react-native-babel-transformer": "^0.64.0", + "metro-resolver": "^0.64.0", + "metro-runtime": "^0.64.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-stream-zip": "^1.9.1", + "ora": "^3.4.0", + "pretty-format": "^26.6.2", + "prompts": "^2.4.0", + "semver": "^6.3.0", + "serve-static": "^1.13.1", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/react-native/node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/react-native/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-test-renderer": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz", + "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.8.6", + "scheduler": "^0.19.1" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "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" + } + }, + "node_modules/realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "dependencies": { + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/recast/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" + }, + "node_modules/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==", + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexp.prototype.flags/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "node_modules/regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/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=" + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/request-promise-native/node_modules/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, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/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, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==" + }, + "node_modules/requirejs": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", + "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", + "bin": { + "r_js": "bin/r.js", + "r.js": "bin/r.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/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==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "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" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "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.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dependencies": { + "is-buffer": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dependencies": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/side-channel": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", + "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", + "dev": true, + "dependencies": { + "es-abstract": "^1.18.0-next.0", + "object-inspect": "^1.8.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/simple-plist": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.0.tgz", + "integrity": "sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==", + "dependencies": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.0", + "plist": "^3.0.4" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/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==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/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==", + "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" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", + "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", + "dev": true + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "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" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "node_modules/stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackframe": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", + "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==" + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "node_modules/string.prototype.matchall/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trimend/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trimstart/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" + }, + "node_modules/superstruct": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz", + "integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==", + "dependencies": { + "clone-deep": "^2.0.1", + "kind-of": "^6.0.1" + } + }, + "node_modules/superstruct/node_modules/clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dependencies": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superstruct/node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superstruct/node_modules/shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superstruct/node_modules/shallow-clone/node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "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" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/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 + }, + "node_modules/table/node_modules/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, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "engines": [ + "node >=0.8.0" + ], + "dependencies": { + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/toolkit.ts": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/toolkit.ts/-/toolkit.ts-0.0.2.tgz", + "integrity": "sha512-yJJTVbCwiD6AfFgReewJCGJuODmyZUeL1sDjnxp33t0UBxnezgQrLbz/F9++RC28CTlk5u5pVji4TbeondYEkw==" + }, + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/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==" + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use-subscription": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", + "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", + "dependencies": { + "object-assign": "^4.1.1" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "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" + } + }, + "node_modules/util.promisify/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": "8.x.x || >=10.10.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz", + "integrity": "sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ==" + }, + "node_modules/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==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xcode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", + "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", + "dependencies": { + "simple-plist": "^1.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "dependencies": { + "sax": "^1.2.1" + } + }, + "node_modules/xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", + "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.10.4", @@ -1783,9 +18325,9 @@ } }, "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -3547,9 +20089,9 @@ } }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/markdown-it": { @@ -4748,11 +21290,11 @@ } }, "cross-fetch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", - "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "requires": { - "node-fetch": "2.6.1" + "node-fetch": "2.6.7" } }, "cross-spawn": { @@ -6295,9 +22837,9 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "growly": { "version": "1.3.0", @@ -10177,9 +26719,33 @@ } }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } }, "node-int64": { "version": "0.4.0", @@ -11475,6 +28041,12 @@ } } }, + "react-native-user-agent": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-native-user-agent/-/react-native-user-agent-2.3.1.tgz", + "integrity": "sha512-AIFr1VgJHwgWmMwCOmIGxuBeAaADlouXKc10UyR4fzWneUbt5uIJIoRu2oExlfCtiT8IyCp106khDD5vx7RUjw==", + "requires": {} + }, "react-native-vector-icons": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-7.1.0.tgz", @@ -11490,6 +28062,22 @@ "yargs": "^15.0.2" } }, + "react-native-webview": { + "version": "11.23.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.23.1.tgz", + "integrity": "sha512-bmqsdg4RYOUYD37R9XTrQALm7eD62KbLNPRfgvpLGd1SjaurvAjjsLrLN4mt6yOtKOMKeZvlcAl3x6De6cCQsA==", + "requires": { + "escape-string-regexp": "2.0.0", + "invariant": "2.2.4" + }, + "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==" + } + } + }, "react-refresh": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", @@ -12289,9 +28877,9 @@ } }, "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==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -12440,6 +29028,14 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" }, + "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" + } + }, "string-length": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", @@ -12573,14 +29169,6 @@ } } }, - "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" - } - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", diff --git a/package.json b/package.json index 9c641b08..44effd68 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,9 @@ "react-native-screens": "^2.18.1", "react-native-svg": "^12.1.1", "react-native-svg-transformer": "^0.14.3", - "react-native-vector-icons": "^7.1.0" + "react-native-user-agent": "^2.3.1", + "react-native-vector-icons": "^7.1.0", + "react-native-webview": "^11.23.1" }, "devDependencies": { "@babel/core": "^7.15.8", From 8b6d0c95a00b339d31ae0f41e6739ea6249c2736 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 14 Sep 2022 07:23:04 -0400 Subject: [PATCH 031/102] added modal webview for login and logic for parsing url on completion --- App.js | 69 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 58 insertions(+), 11 deletions(-) diff --git a/App.js b/App.js index 45cf5a93..1673c3a0 100644 --- a/App.js +++ b/App.js @@ -1,8 +1,10 @@ import "react-native-gesture-handler"; import React, { useState, useEffect } from "react"; +import { WebView } from 'react-native-webview'; +import UserAgent from 'react-native-user-agent' import { fetchHackathonData } from "./cms"; import { HackathonContext, AuthContext, ThemeContext } from "./context"; -import { StatusBar, Modal } from "react-native"; +import { StatusBar, Modal, SafeAreaView, Text, View } from "react-native"; import { LoginOnboarding } from "./onboarding/LoginOnboarding"; import SplashScreen from "./components/SplashScreen"; import { EventOnboarding } from "./onboarding/EventOnboarding"; @@ -11,6 +13,7 @@ import { createStackNavigator } from "@react-navigation/stack"; import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; import { faInfoCircle, faCalendar, faMapSigns, faClipboardCheck } from "@fortawesome/free-solid-svg-icons"; +import Logo from "./assets/Logo"; import AsyncStorage from "@react-native-community/async-storage"; import { authorize } from "react-native-app-auth"; import PushNotificationIOS from "@react-native-community/push-notification-ios"; @@ -33,7 +36,10 @@ import { import { ThemeProvider, HackathonProvider, AuthProvider } from "./state_management"; -const authUrl = "https://login.hack.gt"; +// old groundtruth auth +// const authUrl = "https://login.hack.gt"; +const authUrl = "https://login.hexlabs.org" + const config = { clientId: "7d1c11b30351e91d6517492c19a9a0185a6e4e6304f9826f96a76895534cf26f", @@ -111,10 +117,11 @@ function App(props) { const [isFetchingData, setIsFetchingData] = useState(true) const [isFetchingLogin, setIsFetchingLogin] = useState(true) // login data + const [showLogin, setShowLogin] = useState(false); const [user, setUser] = useState(null) const [accessToken, setAccessToken] = useState(null) - // TODO: temporay, onboarding login should show when user is null. login is disabled so remove this whn fixed + // TODO: temporary, onboarding login should show when user is null. login is disabled so remove this whn fixed const [skipOnboarding, setSkipOnboarding] = useState(false) const [scheduleModal, setScheduleModal] = useState(false) const [pastEventOnboardID, setPastEventOnboardID] = useState(null) @@ -278,17 +285,26 @@ function App(props) { }); }; + // groundtruth login + // const login = async () => { + // try { + // const result = await authorize(config); + // console.log('Login result: ', result, result['accessToken'], result.accessToken) + // setAccessToken(result.accessToken) + // fetchUserDetails(result.accessToken); + // AsyncStorage.setItem("accessToken", result.accessToken); + // } catch (error) { + // console.log(error); + // } + // }; + const login = async () => { try { - const result = await authorize(config); - console.log('Login result: ', result, result['accessToken'], result.accessToken) - setAccessToken(result.accessToken) - fetchUserDetails(result.accessToken); - AsyncStorage.setItem("accessToken", result.accessToken); + setShowLogin(!showLogin); } catch (error) { - console.log(error); + console.log(error) } - }; + } const fetchUserDetails = async (accessToken) => { fetch(`${authUrl}/api/user`, { @@ -349,7 +365,7 @@ function App(props) { ); } - + console.log('AGENT: ', UserAgent.getUserAgent()) // if user needs to login, do splash grow/fade out animation then show login if (needsLogin) { return ( @@ -368,6 +384,37 @@ function App(props) { > {!scheduleModal && splashGrowModal} + + + { + console.log(event); + if (event.url.startsWith('https://hexlabs-cloud.firebaseapp.com/__/auth/')) {// event.title === 'OAuth application authorized') { + const splitUrl = event.url.split('?') + if (splitUrl[1]) { + const params = splitUrl[1].split('&') + const codeParam = params.find(param => param.startsWith('code')) + if (codeParam) { + const authCode = codeParam.split('=')[1] + console.log('AuthCode: ', authCode) + setShowLogin(false) + } + } + } + }} + /> + + + + + + + + ); From ed9c70c4c763b16602148bb1c0fb5f33bc2c4187 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 14 Sep 2022 07:37:16 -0400 Subject: [PATCH 032/102] added comment for reference --- App.js | 1 + 1 file changed, 1 insertion(+) diff --git a/App.js b/App.js index 1673c3a0..854df027 100644 --- a/App.js +++ b/App.js @@ -386,6 +386,7 @@ function App(props) { + {/* Use the following url with Chrome on Iphone for userAgent: https://www.whatismybrowser.com/guides/the-latest-user-agent/chrome */} Date: Wed, 14 Sep 2022 15:24:31 -0400 Subject: [PATCH 033/102] switching to native implementation of sign in without webview --- App.js | 39 +- metro.config.js | 2 +- package-lock.json | 22411 ++++++++++++++++++++++++-------------------- package.json | 1 + 4 files changed, 12287 insertions(+), 10166 deletions(-) diff --git a/App.js b/App.js index 854df027..690ab0db 100644 --- a/App.js +++ b/App.js @@ -26,6 +26,8 @@ import { import { dynamicStyles } from "./themes"; import firebase from "@react-native-firebase/app"; import messaging from "@react-native-firebase/messaging"; +import { initializeApp } from 'firebase/app'; +import { getAuth, GithubAuthProvider, signInWithPopup } from "firebase/auth"; import { ScheduleStackScreen, @@ -38,7 +40,7 @@ import { ThemeProvider, HackathonProvider, AuthProvider } from "./state_manageme // old groundtruth auth // const authUrl = "https://login.hack.gt"; -const authUrl = "https://login.hexlabs.org" +const authUrl = "https://login.hexlabs.org/?redirect=https://mobile.hexlabs.org" const config = { @@ -104,6 +106,14 @@ PushNotification.configure({ // for editing styles shown on tabs, see https://reactnavigation.org/docs/tab-based-navigation const Tab = createBottomTabNavigator(); +const app = initializeApp({ + apiKey: "AIzaSyCsukUZtMkI5FD_etGfefO4Sr7fHkZM7Rg", + authDomain: "hexlabs-cloud.firebaseapp.com", +}); + +const auth = getAuth(app); +const provider = new GithubAuthProvider(); + function App(props) { // event data @@ -298,12 +308,23 @@ function App(props) { // } // }; + // webview login + // const login = async () => { + // try { + // setShowLogin(!showLogin); + // } catch (error) { + // console.log(error) + // } + // } + const login = async () => { - try { - setShowLogin(!showLogin); - } catch (error) { - console.log(error) - } + signInWithPopup(auth, provider) + .then((userCredential) => { + setCookieAndRedirect(userCredential, navigate, location); + }) + .catch((error) => { + handleLoginError(error); + }); } const fetchUserDetails = async (accessToken) => { @@ -394,17 +415,17 @@ function App(props) { javaScriptEnabled={true} onNavigationStateChange={(event) => { console.log(event); - if (event.url.startsWith('https://hexlabs-cloud.firebaseapp.com/__/auth/')) {// event.title === 'OAuth application authorized') { + if (event.url.startsWith('https://mobile.hexlabs.org')) {// event.title === 'OAuth application authorized') { const splitUrl = event.url.split('?') if (splitUrl[1]) { const params = splitUrl[1].split('&') - const codeParam = params.find(param => param.startsWith('code')) + const codeParam = params.find(param => param.startsWith('idToken')) if (codeParam) { const authCode = codeParam.split('=')[1] console.log('AuthCode: ', authCode) setShowLogin(false) } - } + } } }} /> diff --git a/metro.config.js b/metro.config.js index 746a8c87..af058f5c 100644 --- a/metro.config.js +++ b/metro.config.js @@ -28,7 +28,7 @@ module.exports = (async () => { }, resolver: { assetExts: assetExts.filter((ext) => ext !== 'svg'), - sourceExts: [...sourceExts, 'svg'], + sourceExts: [...sourceExts, 'svg', "cjs"], }, }; })(); diff --git a/package-lock.json b/package-lock.json index 31d2f2fa..75a8171d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "@react-navigation/bottom-tabs": "^5.11.15", "@react-navigation/native": "^5.9.8", "@react-navigation/stack": "^5.14.9", + "firebase": "^9.9.4", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ndef": "^0.2.0", @@ -2300,715 +2301,983 @@ "node": ">=0.8.0" } }, - "node_modules/@fortawesome/fontawesome-common-types": { - "version": "0.2.36", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", - "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", - "engines": { - "node": ">=6" + "node_modules/@firebase/analytics": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", + "integrity": "sha512-wkcwainNm8Cu2xkJpDSHfhBSdDJn86Q1TZNmLWc67VrhZUHXIKXxIqb65/tNUVE+I8+sFiDDNwA+9R3MqTQTaA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "1.2.36", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", - "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", + "node_modules/@firebase/analytics-compat": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.13.tgz", + "integrity": "sha512-QC1DH/Dwc8fBihn0H+jocBWyE17GF1fOCpCrpAiQ2u16F/NqsVDVG4LjIqdhq963DXaXneNY7oDwa25Up682AA==", "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.36" + "@firebase/analytics": "0.8.0", + "@firebase/analytics-types": "0.7.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", - "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", + "node_modules/@firebase/analytics-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/analytics-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", + "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" + }, + "node_modules/@firebase/analytics/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/app": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.32.tgz", + "integrity": "sha512-FUqDHgCkr6oVTTpastIlquYsMtkd8Tg4SR8+z4sCJ1C1pbPavazN9qeYIqHQjviqLV/OflCrACCZj/s2zlh0ww==", "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.36" + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-check": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.12.tgz", + "integrity": "sha512-l+MmvupSGT/F+I5ei7XjhEfpoL4hLVJr0vUwcG5NEf2hAkQnySli9fnbl9fZu1BJaQ2kthrMmtg1gcbcM9BUCQ==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@fortawesome/react-native-fontawesome": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@fortawesome/react-native-fontawesome/-/react-native-fontawesome-0.2.7.tgz", - "integrity": "sha512-H3FjE01PDKGTZW+pXMsaCklT0FADaHo4D+Ni63BSXNQclmFgKj2Xlky37cx0s1BaIIw1geuHcyg0hdFxbACusw==", + "node_modules/@firebase/app-check-compat": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.12.tgz", + "integrity": "sha512-GFppNLlUyMN9Iq31ME/+GkjRVKlc+MeanzUKQ9UaR73ZsYH3oX3Ja+xjoYgixaVJDDG+ofBYR7ZXTkkQdSR/pw==", "dependencies": { - "humps": "^2.0.1", - "prop-types": "^15.7.2" + "@firebase/app-check": "0.5.12", + "@firebase/app-check-types": "0.4.0", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@hapi/hoek": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", - "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" + "node_modules/@firebase/app-check-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "node_modules/@firebase/app-check-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", + "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" + }, + "node_modules/@firebase/app-check-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.4.0.tgz", + "integrity": "sha512-SsWafqMABIOu7zLgWbmwvHGOeQQVQlwm42kwwubsmfLmL4Sf5uGpBfDhQ0CAkpi7bkJ/NwNFKafNDL9prRNP0Q==" + }, + "node_modules/@firebase/app-check/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/app-compat": { + "version": "0.1.33", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.33.tgz", + "integrity": "sha512-PLCwOpduJOOkw2v0ygBPpYBRobbnxJjZVaj2xjc5IPakHWx9sLHHX3KoZnl+7ZonY1xJ2lCQaLQrwqX2hi0FXg==", "dependencies": { - "@hapi/hoek": "^9.0.0" + "@firebase/app": "0.7.32", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" } }, - "node_modules/@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==", - "dev": true, + "node_modules/@firebase/app-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/app-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" + }, + "node_modules/@firebase/app/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/auth": { + "version": "0.20.6", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.20.6.tgz", + "integrity": "sha512-99R3bY7aQ2zFh5BdqLEgI/qN87l3bPBLIse2eDVcSRwChaM6FTdIKoKk15L1M4ry8utatMtYFt1vRCol7QDsLg==", "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" + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/@firebase/auth-compat": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.19.tgz", + "integrity": "sha512-gB9fnPZM2mnNrGR7n6Y+xDC/4cSouDVfdwPYL7GuLv7b48iW1u24DC9Trv10gNUUGq6iGEyqgJgCSrVmlTkX7Q==", + "dependencies": { + "@firebase/auth": "0.20.6", + "@firebase/auth-types": "0.11.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/@firebase/auth-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/auth-interop-types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" } }, - "node_modules/@jest/core": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", - "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", - "dev": true, + "node_modules/@firebase/auth-types": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", + "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/auth/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/component": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.17.tgz", + "integrity": "sha512-mTM5CBSIlmI+i76qU4+DhuExnWtzcPS3cVgObA3VAjliPPr3GrUlTaaa8KBGfxsD27juQxMsYA0TvCR5X+GQ3Q==", "dependencies": { - "@jest/console": "^25.5.0", - "@jest/reporters": "^25.5.1", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^25.5.0", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-resolve-dependencies": "^25.5.4", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "jest-watcher": "^25.5.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "realpath-native": "^2.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">= 8.3" + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" } }, - "node_modules/@jest/core/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, + "node_modules/@firebase/component/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/database": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.13.6.tgz", + "integrity": "sha512-5IZIBw2LT50Z8mwmKYmdX37p+Gg2HgeJsrruZmRyOSVgbfoY4Pg87n1uFx6qWqDmfL6HwQgwcrrQfVIXE3C5SA==", "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" } }, - "node_modules/@jest/core/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, + "node_modules/@firebase/database-compat": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.2.6.tgz", + "integrity": "sha512-Ls1BAODaiDYgeJljrIgSuC7JkFIY/HNhhNYebzZSoGQU62RuvnaO3Qgp2EH6h2LzHyRnycNadfh1suROtPaUIA==", "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@firebase/component": "0.5.17", + "@firebase/database": "0.13.6", + "@firebase/database-types": "0.9.13", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/database-types": { + "version": "0.9.13", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.13.tgz", + "integrity": "sha512-dIJ1zGe3EHMhwcvukTOPzYlFYFIG1Et5Znl7s7y/ZTN2/toARRNnsv1qCKvqevIMYKvIrRsYOYfOXDS8l1YIJA==", + "dependencies": { + "@firebase/app-types": "0.7.0", + "@firebase/util": "1.6.3" + } + }, + "node_modules/@firebase/database/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/firestore": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.15.tgz", + "integrity": "sha512-1kal1/0UC1p9x99f0iXwWbmBL/RClksdkqLSd8HVQVawAMTR3zCVKE95omNGl0egRRlDN6c/i8XBEfkwj3SHxw==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "@firebase/webchannel-wrapper": "0.6.2", + "@grpc/grpc-js": "^1.3.2", + "@grpc/proto-loader": "^0.6.13", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">=10.10.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@jest/core/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, + "node_modules/@firebase/firestore-compat": { + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.24.tgz", + "integrity": "sha512-wy9AerWLyg/RcbjKE9I73TyBW7FMVfxblGUbcRRHi5tSSrjp+JT1jsGriF6NjAij4byboaGVm8Hgrki7Oqf2kw==", "dependencies": { - "type-fest": "^0.11.0" + "@firebase/component": "0.5.17", + "@firebase/firestore": "3.4.15", + "@firebase/firestore-types": "2.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@jest/core/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/@firebase/firestore-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/firestore-types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", + "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" } }, - "node_modules/@jest/core/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, + "node_modules/@firebase/firestore/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/functions": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.8.4.tgz", + "integrity": "sha512-o1bB0xMyQKe+b246zGnjwHj4R6BH4mU2ZrSaa/3QvTpahUQ3hqYfkZPLOXCU7+vEFxHb3Hd4UUjkFhxoAcPqLA==", + "dependencies": { + "@firebase/app-check-interop-types": "0.1.0", + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/functions-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.2.4.tgz", + "integrity": "sha512-Crfn6il1yXGuXkjSd8nKrqR4XxPvuP19g64bXpM6Ix67qOkQg676kyOuww0FF17xN0NSXHfG8Pyf+CUrx8wJ5g==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@firebase/component": "0.5.17", + "@firebase/functions": "0.8.4", + "@firebase/functions-types": "0.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@jest/core/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "node_modules/@firebase/functions-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/functions-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", + "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" + }, + "node_modules/@firebase/functions/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/installations": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.12.tgz", + "integrity": "sha512-Zq43fCE0PB5tGJ3ojzx5RNQzKdej1188qgAk22rwjuhP7npaG/PlJqDG1/V0ZjTLRePZ1xGrfXSPlA17c/vtNw==", "dependencies": { - "fill-range": "^7.0.1" + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@jest/core/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "node_modules/@firebase/installations-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.1.12.tgz", + "integrity": "sha512-BIhFpWIn/GkuOa+jnXkp3SDJT2RLYJF6MWpinHIBKFJs7MfrgYZ3zQ1AlhobDEql+bkD1dK4dB5sNcET2T+EyA==", "dependencies": { - "to-regex-range": "^5.0.1" + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/installations-types": "0.4.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@jest/core/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node_modules/@firebase/installations-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/installations-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.4.0.tgz", + "integrity": "sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A==", + "peerDependencies": { + "@firebase/app-types": "0.x" } }, - "node_modules/@jest/core/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } + "node_modules/@firebase/installations/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "node_modules/@jest/core/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" + "node_modules/@firebase/logger": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.3.tgz", + "integrity": "sha512-POTJl07jOKTOevLXrTvJD/VZ0M6PnJXflbAh5J9VGkmtXPXNG6MdZ9fmRgqYhXKTaDId6AQenQ262uwgpdtO0Q==", + "dependencies": { + "tslib": "^2.1.0" } }, - "node_modules/@jest/core/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, + "node_modules/@firebase/logger/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/messaging": { + "version": "0.9.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.16.tgz", + "integrity": "sha512-Yl9gGrAvJF6C1gg3+Cr2HxlL6APsDEkrorkFafmSP1l+rg1epZKoOAcKJbSF02Vtb50wfb9FqGGy8tzodgETxg==", "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8.3" + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/messaging-compat": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.16.tgz", + "integrity": "sha512-uG7rWcXJzU8vvlEBFpwG1ndw/GURrrmKcwsHopEWbsPGjMRaVWa7XrdKbvIR7IZohqPzcC/V9L8EeqF4Q4lz8w==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/messaging": "0.9.16", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@jest/core/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, + "node_modules/@firebase/messaging-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/messaging-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", + "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" + }, + "node_modules/@firebase/messaging/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/performance": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.12.tgz", + "integrity": "sha512-MPVTkOkGrm2SMQgI1FPNBm85y2pPqlPb6VDjIMCWkVpAr6G1IZzUT24yEMySRcIlK/Hh7/Qu1Nu5ASRzRuX6+Q==", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8.3" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@jest/core/node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", - "dev": true, + "node_modules/@firebase/performance-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.12.tgz", + "integrity": "sha512-IBORzUeGY1MGdZnsix9Mu5z4+C3WHIwalu0usxvygL0EZKHztGG8bppYPGH/b5vvg8QyHs9U+Pn1Ot2jZhffQQ==", "dependencies": { - "graceful-fs": "^4.2.4" + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/performance": "0.5.12", + "@firebase/performance-types": "0.1.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8.3" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@jest/core/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, + "node_modules/@firebase/performance-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/performance-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", + "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" + }, + "node_modules/@firebase/performance/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/remote-config": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.11.tgz", + "integrity": "sha512-qA84dstrvVpO7rWT/sb2CLv1kjHVmz59SRFPKohJJYFBcPOGK4Pe4FWWhKAE9yg1Gnl0qYAGkahOwNawq3vE0g==", "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8.3" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@jest/core/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, + "node_modules/@firebase/remote-config-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.12.tgz", + "integrity": "sha512-Yz7Gtb2rLa7ykXZX9DnSTId8CXd++jFFLW3foUImrYwJEtWgLJc7gwkRfd1M73IlKGNuQAY+DpUNF0n1dLbecA==", "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-types": "0.2.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8.3" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@jest/core/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, + "node_modules/@firebase/remote-config-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", + "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" + }, + "node_modules/@firebase/remote-config/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/storage": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.9.tgz", + "integrity": "sha512-Zch7srLT2SIh9y2nCVv/4Kne0HULn7OPkmreY70BJTUJ+g5WLRjggBq6x9fV5ls9V38iqMWfn4prxzX8yIc08A==", "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8.3" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@jest/core/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, + "node_modules/@firebase/storage-compat": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.17.tgz", + "integrity": "sha512-nOYmnpI0gwoz5nROseMi9WbmHGf+xumfsOvdPyMZAjy0VqbDnpKIwmTUZQBdR+bLuB5oIkHQsvw9nbb1SH+PzQ==", "dependencies": { - "semver": "^6.0.0" + "@firebase/component": "0.5.17", + "@firebase/storage": "0.9.9", + "@firebase/storage-types": "0.6.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@jest/core/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "node_modules/@firebase/storage-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "node_modules/@jest/core/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, + "node_modules/@firebase/storage-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", + "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/storage/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/util": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.6.3.tgz", + "integrity": "sha512-FujteO6Zjv6v8A4HS+t7c+PjU0Kaxj+rOnka0BsI/twUaCC9t8EQPmXpWZdk7XfszfahJn2pqsflUWUhtUkRlg==", "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" + "tslib": "^2.1.0" } }, - "node_modules/@jest/core/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, + "node_modules/@firebase/util/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz", + "integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ==" + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", + "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "1.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", + "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "@fortawesome/fontawesome-common-types": "^0.2.36" }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/@jest/core/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", + "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", "dependencies": { - "glob": "^7.1.3" + "@fortawesome/fontawesome-common-types": "^0.2.36" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=6" } }, - "node_modules/@jest/core/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, + "node_modules/@fortawesome/react-native-fontawesome": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@fortawesome/react-native-fontawesome/-/react-native-fontawesome-0.2.7.tgz", + "integrity": "sha512-H3FjE01PDKGTZW+pXMsaCklT0FADaHo4D+Ni63BSXNQclmFgKj2Xlky37cx0s1BaIIw1geuHcyg0hdFxbACusw==", "dependencies": { - "ansi-regex": "^5.0.0" + "humps": "^2.0.1", + "prop-types": "^15.7.2" + } + }, + "node_modules/@grpc/grpc-js": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.0.tgz", + "integrity": "sha512-wvKxal+40Xx11DXO2q5PfY3UiE25iwTb8SOz6A9IJII/V7d19x2ex0he+GJfVW0JZCaBjCPSjUB0yU9Ecm4WCw==", + "dependencies": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" }, "engines": { - "node": ">=8" + "node": "^8.13.0 || >=10.10.0" } }, - "node_modules/@jest/core/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.2.tgz", + "integrity": "sha512-jCdyLIT/tdQ1zhrbTQnJNK5nbDf0GoBpy5jVNywBzzMDF+Vs6uEaHnfz46dMtDxkvwrF2hzk5Z67goliceH0sA==", "dependencies": { - "is-number": "^7.0.0" + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" }, "engines": { - "node": ">=8.0" + "node": ">=6" } }, - "node_modules/@jest/core/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, + "node_modules/@grpc/grpc-js/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } }, - "node_modules/@jest/core/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, + "node_modules/@grpc/grpc-js/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/@jest/create-cache-key-function": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz", - "integrity": "sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw==", + "node_modules/@grpc/grpc-js/node_modules/protobufjs": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.1.tgz", + "integrity": "sha512-d0nMQqS/aT3lfV8bKi9Gbg73vPd2LcDdTDOu6RE/M+h9DY8g1EmDzk3ADPccthEWfTBjkR2oxNdx9Gs8YubT+g==", + "hasInstallScript": true, "dependencies": { - "@jest/types": "^26.6.2" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": ">=12.0.0" } }, - "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/@grpc/grpc-js/node_modules/protobufjs/node_modules/long": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" + }, + "node_modules/@grpc/grpc-js/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "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" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/@jest/create-cache-key-function/node_modules/@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==", + "node_modules/@grpc/grpc-js/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { - "@types/istanbul-lib-report": "*" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@jest/create-cache-key-function/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/@grpc/grpc-js/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "engines": { "node": ">=10" } }, - "node_modules/@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", - "dev": true, + "node_modules/@grpc/grpc-js/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dependencies": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 8.3" + "node": ">=10" } }, - "node_modules/@jest/environment/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" - }, + "node_modules/@grpc/grpc-js/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "engines": { - "node": ">= 8.3" + "node": ">=10" } }, - "node_modules/@jest/environment/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "node_modules/@grpc/proto-loader": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", + "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", "dependencies": { - "fill-range": "^7.0.1" + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.11.3", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/proto-loader/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } }, - "node_modules/@jest/environment/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "node_modules/@grpc/proto-loader/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { - "to-regex-range": "^5.0.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@grpc/proto-loader/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/@jest/environment/node_modules/is-number": { + "node_modules/@grpc/proto-loader/node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@jest/environment/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, + "node_modules/@grpc/proto-loader/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "engines": { - "node": ">= 8.3" + "node": ">=10" } }, - "node_modules/@jest/environment/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, + "node_modules/@grpc/proto-loader/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dependencies": { - "@jest/types": "^25.5.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 8.3" + "node": ">=10" } }, - "node_modules/@jest/environment/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, + "node_modules/@grpc/proto-loader/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "engines": { - "node": ">= 8.3" + "node": ">=10" } }, - "node_modules/@jest/environment/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, + "node_modules/@hapi/hoek": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", + "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" + "@hapi/hoek": "^9.0.0" } }, - "node_modules/@jest/environment/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "node_modules/@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==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "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" }, "engines": { "node": ">=8" } }, - "node_modules/@jest/environment/node_modules/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==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, "engines": { - "node": ">=8.0" + "node": ">=8" } }, - "node_modules/@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", "dev": true, - "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/@jest/reporters": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", - "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "node_modules/@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", "dev": true, "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", "@jest/test-result": "^25.5.0", "@jest/transform": "^25.5.1", "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", "chalk": "^3.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.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^3.1.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^4.1.3" + "strip-ansi": "^6.0.0" }, "engines": { "node": ">= 8.3" - }, - "optionalDependencies": { - "node-notifier": "^6.0.0" } }, - "node_modules/@jest/reporters/node_modules/@jest/console": { + "node_modules/@jest/core/node_modules/@jest/console": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", @@ -3024,7 +3293,7 @@ "node": ">= 8.3" } }, - "node_modules/@jest/reporters/node_modules/@jest/test-result": { + "node_modules/@jest/core/node_modules/@jest/test-result": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", @@ -3039,7 +3308,28 @@ "node": ">= 8.3" } }, - "node_modules/@jest/reporters/node_modules/anymatch": { + "node_modules/@jest/core/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/anymatch": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", @@ -3052,7 +3342,7 @@ "node": ">= 8" } }, - "node_modules/@jest/reporters/node_modules/braces": { + "node_modules/@jest/core/node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", @@ -3064,7 +3354,7 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/fill-range": { + "node_modules/@jest/core/node_modules/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==", @@ -3076,7 +3366,7 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/fsevents": { + "node_modules/@jest/core/node_modules/fsevents": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", @@ -3089,7 +3379,7 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/@jest/reporters/node_modules/is-number": { + "node_modules/@jest/core/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", @@ -3098,7 +3388,16 @@ "node": ">=0.12.0" } }, - "node_modules/@jest/reporters/node_modules/jest-haste-map": { + "node_modules/@jest/core/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-haste-map": { "version": "25.5.1", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", @@ -3124,7 +3423,7 @@ "fsevents": "^2.1.2" } }, - "node_modules/@jest/reporters/node_modules/jest-message-util": { + "node_modules/@jest/core/node_modules/jest-message-util": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", @@ -3143,7 +3442,7 @@ "node": ">= 8.3" } }, - "node_modules/@jest/reporters/node_modules/jest-serializer": { + "node_modules/@jest/core/node_modules/jest-serializer": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", @@ -3155,7 +3454,7 @@ "node": ">= 8.3" } }, - "node_modules/@jest/reporters/node_modules/jest-util": { + "node_modules/@jest/core/node_modules/jest-util": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", @@ -3171,7 +3470,24 @@ "node": ">= 8.3" } }, - "node_modules/@jest/reporters/node_modules/jest-worker": { + "node_modules/@jest/core/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-worker": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", @@ -3184,7 +3500,7 @@ "node": ">= 8.3" } }, - "node_modules/@jest/reporters/node_modules/make-dir": { + "node_modules/@jest/core/node_modules/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==", @@ -3196,13 +3512,13 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/merge-stream": { + "node_modules/@jest/core/node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/@jest/reporters/node_modules/micromatch": { + "node_modules/@jest/core/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", @@ -3215,7 +3531,7 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/normalize-path": { + "node_modules/@jest/core/node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", @@ -3224,16 +3540,46 @@ "node": ">=0.10.0" } }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/@jest/reporters/node_modules/to-regex-range": { + "node_modules/@jest/core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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==", @@ -3245,7 +3591,16 @@ "node": ">=8.0" } }, - "node_modules/@jest/reporters/node_modules/which": { + "node_modules/@jest/core/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", @@ -3260,67 +3615,83 @@ "node": ">= 8" } }, - "node_modules/@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", - "dev": true, + "node_modules/@jest/create-cache-key-function": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz", + "integrity": "sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw==", "dependencies": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" + "@jest/types": "^26.6.2" }, "engines": { - "node": ">= 8.3" + "node": ">= 10.14.2" } }, - "node_modules/@jest/test-sequencer/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, + "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">= 10.14.2" } }, - "node_modules/@jest/test-sequencer/node_modules/@jest/test-result": { + "node_modules/@jest/create-cache-key-function/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/environment": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", + "@jest/fake-timers": "^25.5.0", "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "jest-mock": "^25.5.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/@jest/test-sequencer/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "node_modules/@jest/environment/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" } }, - "node_modules/@jest/test-sequencer/node_modules/braces": { + "node_modules/@jest/environment/node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", @@ -3332,7 +3703,7 @@ "node": ">=8" } }, - "node_modules/@jest/test-sequencer/node_modules/fill-range": { + "node_modules/@jest/environment/node_modules/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==", @@ -3344,20 +3715,7 @@ "node": ">=8" } }, - "node_modules/@jest/test-sequencer/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/is-number": { + "node_modules/@jest/environment/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", @@ -3366,64 +3724,38 @@ "node": ">=0.12.0" } }, - "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "node_modules/@jest/environment/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { + "@babel/code-frame": "^7.0.0", "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { "node": ">= 8.3" } }, - "node_modules/@jest/test-sequencer/node_modules/jest-serializer": { + "node_modules/@jest/environment/node_modules/jest-mock": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4" + "@jest/types": "^25.5.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/@jest/test-sequencer/node_modules/jest-util": { + "node_modules/@jest/environment/node_modules/jest-util": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", @@ -3439,20 +3771,7 @@ "node": ">= 8.3" } }, - "node_modules/@jest/test-sequencer/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/test-sequencer/node_modules/make-dir": { + "node_modules/@jest/environment/node_modules/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==", @@ -3464,13 +3783,7 @@ "node": ">=8" } }, - "node_modules/@jest/test-sequencer/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/@jest/test-sequencer/node_modules/micromatch": { + "node_modules/@jest/environment/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", @@ -3483,16 +3796,7 @@ "node": ">=8" } }, - "node_modules/@jest/test-sequencer/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/to-regex-range": { + "node_modules/@jest/environment/node_modules/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==", @@ -3504,49 +3808,90 @@ "node": ">=8.0" } }, - "node_modules/@jest/test-sequencer/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" } }, - "node_modules/@jest/transform": { + "node_modules/@jest/reporters": { "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", "dev": true, "dependencies": { - "@babel/core": "^7.1.0", + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.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.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", + "jest-worker": "^25.5.0", "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" }, "engines": { "node": ">= 8.3" + }, + "optionalDependencies": { + "node-notifier": "^6.0.0" } }, - "node_modules/@jest/transform/node_modules/anymatch": { + "node_modules/@jest/reporters/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/anymatch": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", @@ -3559,7 +3904,7 @@ "node": ">= 8" } }, - "node_modules/@jest/transform/node_modules/braces": { + "node_modules/@jest/reporters/node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", @@ -3571,7 +3916,7 @@ "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/fill-range": { + "node_modules/@jest/reporters/node_modules/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==", @@ -3583,7 +3928,7 @@ "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/fsevents": { + "node_modules/@jest/reporters/node_modules/fsevents": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", @@ -3596,7 +3941,7 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/@jest/transform/node_modules/is-number": { + "node_modules/@jest/reporters/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", @@ -3605,7 +3950,7 @@ "node": ">=0.12.0" } }, - "node_modules/@jest/transform/node_modules/jest-haste-map": { + "node_modules/@jest/reporters/node_modules/jest-haste-map": { "version": "25.5.1", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", @@ -3631,7 +3976,26 @@ "fsevents": "^2.1.2" } }, - "node_modules/@jest/transform/node_modules/jest-serializer": { + "node_modules/@jest/reporters/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/jest-serializer": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", @@ -3643,7 +4007,7 @@ "node": ">= 8.3" } }, - "node_modules/@jest/transform/node_modules/jest-util": { + "node_modules/@jest/reporters/node_modules/jest-util": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", @@ -3659,7 +4023,7 @@ "node": ">= 8.3" } }, - "node_modules/@jest/transform/node_modules/jest-worker": { + "node_modules/@jest/reporters/node_modules/jest-worker": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", @@ -3672,7 +4036,7 @@ "node": ">= 8.3" } }, - "node_modules/@jest/transform/node_modules/make-dir": { + "node_modules/@jest/reporters/node_modules/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==", @@ -3684,13 +4048,13 @@ "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/merge-stream": { + "node_modules/@jest/reporters/node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/@jest/transform/node_modules/micromatch": { + "node_modules/@jest/reporters/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", @@ -3703,7 +4067,7 @@ "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/normalize-path": { + "node_modules/@jest/reporters/node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", @@ -3712,7 +4076,7 @@ "node": ">=0.10.0" } }, - "node_modules/@jest/transform/node_modules/source-map": { + "node_modules/@jest/reporters/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", @@ -3721,7 +4085,7 @@ "node": ">=0.10.0" } }, - "node_modules/@jest/transform/node_modules/to-regex-range": { + "node_modules/@jest/reporters/node_modules/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==", @@ -3733,7 +4097,7 @@ "node": ">=8.0" } }, - "node_modules/@jest/transform/node_modules/which": { + "node_modules/@jest/reporters/node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", @@ -3748,5399 +4112,5549 @@ "node": ">= 8" } }, - "node_modules/@jest/transform/node_modules/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==", + "node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@jest/types": { + "node_modules/@jest/test-sequencer/node_modules/@jest/console": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/@react-native-async-storage/async-storage": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.16.1.tgz", - "integrity": "sha512-aQ7ka+Ii1e/q+7AVFIZPt4kDeSH8b784wMDtz19Kf4A7hf+OgCHBlUQpOXsrv8XxhlBxu0hv4tfrDO15ChnV0Q==", + "node_modules/@jest/test-sequencer/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, "dependencies": { - "merge-options": "^3.0.4" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@react-native-community/async-storage": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.12.1.tgz", - "integrity": "sha512-70WGaH3PKYASi4BThuEEKMkyAgE9k7VytBqmgPRx3MzJx9/MkspwqJGmn3QLCgHLIFUgF1pit2mWICbRJ3T3lg==", + "node_modules/@jest/test-sequencer/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, "dependencies": { - "deep-assign": "^3.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@react-native-community/cli-debugger-ui": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-5.0.1.tgz", - "integrity": "sha512-5gGKaaXYOVE423BUqxIfvfAVSj5Cg1cU/TpGbeg/iqpy2CfqyWqJB3tTuVUbOOiOvR5wbU8tti6pIi1pchJ+oA==", + "node_modules/@jest/test-sequencer/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { - "serve-static": "^1.13.1" + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@react-native-community/cli-hermes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-5.0.1.tgz", - "integrity": "sha512-nD+ZOFvu5MfjLB18eDJ01MNiFrzj8SDtENjGpf0ZRFndOWASDAmU54/UlU/wj8OzTToK1+S1KY7j2P2M1gleww==", + "node_modules/@jest/test-sequencer/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { - "@react-native-community/cli-platform-android": "^5.0.1", - "@react-native-community/cli-tools": "^5.0.1", - "chalk": "^3.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@react-native-community/cli-platform-android": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-5.0.1.tgz", - "integrity": "sha512-qv9GJX6BJ+Y4qvV34vgxKwwN1cnveXUdP6y2YmTW7XoAYs5YUzKqHajpY58EyucAL2y++6+573t5y4U/9IIoww==", - "dependencies": { - "@react-native-community/cli-tools": "^5.0.1", - "chalk": "^3.0.0", - "execa": "^1.0.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.3", - "jetifier": "^1.6.2", - "lodash": "^4.17.15", - "logkitty": "^0.7.1", - "slash": "^3.0.0", - "xmldoc": "^1.1.2" + "node_modules/@jest/test-sequencer/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/@react-native-community/cli-platform-ios": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-5.0.2.tgz", - "integrity": "sha512-IAJ2B3j2BTsQUJZ4R6cVvnTbPq0Vza7+dOgP81ISz2BKRtQ0VqNFv+VOALH2jLaDzf4t7NFlskzIXFqWqy2BLg==", - "dependencies": { - "@react-native-community/cli-tools": "^5.0.1", - "chalk": "^3.0.0", - "glob": "^7.1.3", - "js-yaml": "^3.13.1", - "lodash": "^4.17.15", - "plist": "^3.0.1", - "xcode": "^2.0.0" + "node_modules/@jest/test-sequencer/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" } }, - "node_modules/@react-native-community/cli-server-api": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-5.0.1.tgz", - "integrity": "sha512-OOxL+y9AOZayQzmSW+h5T54wQe+QBc/f67Y9QlWzzJhkKJdYx+S4VOooHoD5PFJzGbYaxhu2YF17p517pcEIIA==", + "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, "dependencies": { - "@react-native-community/cli-debugger-ui": "^5.0.1", - "@react-native-community/cli-tools": "^5.0.1", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.0", - "nocache": "^2.1.0", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^1.1.0" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "node_modules/@jest/test-sequencer/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, "dependencies": { - "options": ">=0.0.5", - "ultron": "1.0.x" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@react-native-community/cli-tools": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-5.0.1.tgz", - "integrity": "sha512-XOX5w98oSE8+KnkMZZPMRT7I5TaP8fLbDl0tCu40S7Epz+Zz924n80fmdu6nUDIfPT1nV6yH1hmHmWAWTDOR+Q==", + "node_modules/@jest/test-sequencer/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, "dependencies": { - "chalk": "^3.0.0", - "lodash": "^4.17.15", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "shell-quote": "1.6.1" + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@react-native-community/cli-tools/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" + "node_modules/@jest/test-sequencer/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">= 8.3" } }, - "node_modules/@react-native-community/cli-types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-5.0.1.tgz", - "integrity": "sha512-BesXnuFFlU/d1F3+sHhvKt8fUxbQlAbZ3hhMEImp9A6sopl8TEtryUGJ1dbazGjRXcADutxvjwT/i3LJVTIQug==", + "node_modules/@jest/test-sequencer/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, "dependencies": { - "ora": "^3.4.0" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@react-native-community/eslint-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-1.1.0.tgz", - "integrity": "sha512-hwb1hC28BhkwLwnO6vDISV6XZbipw2RIEhBVBN+pE7AUG9HjFXxoksiiOSoYgox9C8g86VJwHnKpak/3NnVBkQ==", + "node_modules/@jest/test-sequencer/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "dependencies": { - "@react-native-community/eslint-plugin": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^2.25.0", - "@typescript-eslint/parser": "^2.25.0", - "babel-eslint": "10.1.0", - "eslint-config-prettier": "^6.10.1", - "eslint-plugin-eslint-comments": "^3.1.2", - "eslint-plugin-flowtype": "2.50.3", - "eslint-plugin-jest": "22.4.1", - "eslint-plugin-prettier": "3.1.2", - "eslint-plugin-react": "7.19.0", - "eslint-plugin-react-hooks": "^3.0.0", - "eslint-plugin-react-native": "3.8.1", - "prettier": "^2.0.2" + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@react-native-community/eslint-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.1.0.tgz", - "integrity": "sha512-W/J0fNYVO01tioHjvYWQ9m6RgndVtbElzYozBq1ZPrHO/iCzlqoySHl4gO/fpCl9QEFjvJfjPgtPMTMlsoq5DQ==", + "node_modules/@jest/test-sequencer/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/@react-native-community/masked-view": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", - "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==" - }, - "node_modules/@react-native-community/push-notification-ios": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@react-native-community/push-notification-ios/-/push-notification-ios-1.10.1.tgz", - "integrity": "sha512-k6bZWUKLif4GjenyTD3aQLwA2VT3bNmt22INO/34lexnpmqkPDZF7nreqbckTHG0Zso9wDTe4N/AZJUC/d8iRg==", + "node_modules/@jest/test-sequencer/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, "dependencies": { - "invariant": "^2.2.4" + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@react-native-firebase/app": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-11.5.0.tgz", - "integrity": "sha512-Jz5CBhqkybxHjTFr5V0K+Jq2YivzPbu9exSze61/z1zSaIfBhR4G38wmHk44VWAl+PEX8GaYy9yfT69tLiCERA==", - "dependencies": { - "opencollective-postinstall": "^2.0.1", - "superstruct": "^0.6.2" + "node_modules/@jest/test-sequencer/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@react-native-firebase/iid": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/iid/-/iid-11.5.0.tgz", - "integrity": "sha512-S9f9AaKr9CkA9d6cfS8V5wpyqdFPPQXIjFU4fPTFaeuJ37T659KqK9SGvY/pSB0DdWC5CMQniukIQsUt5l7O1g==" - }, - "node_modules/@react-native-firebase/messaging": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/messaging/-/messaging-11.5.0.tgz", - "integrity": "sha512-bjsoJByiNtikNLCf5RMmUdIj3uH8Uf0eeyM9PdqfNRB1mtVaYrU8AmXnzbSd5SqJ/sxqwyZVuxzWNEJrcOnhZw==" - }, - "node_modules/@react-native/assets": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", - "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" - }, - "node_modules/@react-native/normalize-color": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-1.0.0.tgz", - "integrity": "sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg==" - }, - "node_modules/@react-native/polyfills": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", - "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" - }, - "node_modules/@react-navigation/bottom-tabs": { - "version": "5.11.15", - "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-5.11.15.tgz", - "integrity": "sha512-TBY419W6aN/HZg98xbVp5Bx1HEF5sXuHR5f55W6KMI4k2AvxlwelKD1wbfvEcX2iuQT0YUiiXsACRFUSECYhkw==", + "node_modules/@jest/test-sequencer/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { - "color": "^3.1.3", - "react-native-iphone-x-helper": "^1.3.0" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/@react-navigation/bottom-tabs/node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "node_modules/@jest/test-sequencer/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@react-navigation/bottom-tabs/node_modules/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==", + "node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, "dependencies": { - "color-name": "1.1.3" + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@react-navigation/bottom-tabs/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@react-navigation/core": { - "version": "5.16.1", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-5.16.1.tgz", - "integrity": "sha512-3AToC7vPNeSNcHFLd1h71L6u34hfXoRAS1CxF9Fc4uC8uOrVqcNvphpeFbE0O9Bw6Zpl0BnMFl7E5gaL3KGzNA==", + "node_modules/@jest/transform/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, "dependencies": { - "@react-navigation/routers": "^5.7.4", - "escape-string-regexp": "^4.0.0", - "nanoid": "^3.1.15", - "query-string": "^6.13.6", - "react-is": "^16.13.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@react-navigation/core/node_modules/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==", + "node_modules/@jest/transform/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@react-navigation/native": { - "version": "5.9.8", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-5.9.8.tgz", - "integrity": "sha512-DNbcDHXQPSFDLn51kkVVJjT3V7jJy2GztNYZe/2bEg29mi5QEcHHcpifjMCtyFKntAOWzKlG88UicIQ17UEghg==", + "node_modules/@jest/transform/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { - "@react-navigation/core": "^5.16.1", - "escape-string-regexp": "^4.0.0", - "nanoid": "^3.1.15" + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@react-navigation/native/node_modules/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==", + "node_modules/@jest/transform/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=10" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/@react-navigation/routers": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-5.7.4.tgz", - "integrity": "sha512-0N202XAqsU/FlE53Nmh6GHyMtGm7g6TeC93mrFAFJOqGRKznT0/ail+cYlU6tNcPA9AHzZu1Modw1eoDINSliQ==", - "dependencies": { - "nanoid": "^3.1.15" + "node_modules/@jest/transform/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" } }, - "node_modules/@react-navigation/stack": { - "version": "5.14.9", - "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-5.14.9.tgz", - "integrity": "sha512-DuvrT9P+Tz8ezZLQYxORZqOGqO+vEufaxlW1hSLw1knLD4jNxkz8TJDXtfKwaz//9gb43UhTNccNM02vm7iPqQ==", + "node_modules/@jest/transform/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, "dependencies": { - "color": "^3.1.3", - "react-native-iphone-x-helper": "^1.3.0" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/@react-navigation/stack/node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "node_modules/@jest/transform/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@react-navigation/stack/node_modules/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==", + "node_modules/@jest/transform/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, "dependencies": { - "color-name": "1.1.3" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@react-navigation/stack/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@sideway/address": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", - "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", + "node_modules/@jest/transform/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, "dependencies": { - "@hapi/hoek": "^9.0.0" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "node_modules/@jest/transform/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", - "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", - "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", + "semver": "^6.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", - "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", - "engines": { - "node": ">=8" - } + "node_modules/@jest/transform/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", - "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, "engines": { "node": ">=8" } }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", - "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", + "node_modules/@jest/transform/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", - "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/@svgr/babel-preset": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", - "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", + "node_modules/@jest/transform/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", - "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", - "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", - "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", - "@svgr/babel-plugin-transform-svg-component": "^4.2.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.0" } }, - "node_modules/@svgr/core": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", - "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", + "node_modules/@jest/transform/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { - "@svgr/plugin-jsx": "^4.3.3", - "camelcase": "^5.3.1", - "cosmiconfig": "^5.2.1" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", - "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", - "dependencies": { - "@babel/types": "^7.4.4" + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", - "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "node_modules/@jest/transform/node_modules/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==", + "dev": true, "dependencies": { - "@babel/core": "^7.4.5", - "@svgr/babel-preset": "^4.3.3", - "@svgr/hast-util-to-babel-ast": "^4.3.2", - "svg-parser": "^2.0.0" - }, - "engines": { - "node": ">=8" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/@svgr/plugin-svgo": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", - "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", + "node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, "dependencies": { - "cosmiconfig": "^5.2.1", - "merge-deep": "^3.0.2", - "svgo": "^1.2.2" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/@types/babel__core": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", - "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", - "dev": true, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", - "dev": true, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@react-native-async-storage/async-storage": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.16.1.tgz", + "integrity": "sha512-aQ7ka+Ii1e/q+7AVFIZPt4kDeSH8b784wMDtz19Kf4A7hf+OgCHBlUQpOXsrv8XxhlBxu0hv4tfrDO15ChnV0Q==", "dependencies": { - "@babel/types": "^7.0.0" + "merge-options": "^3.0.4" } }, - "node_modules/@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", - "dev": true, + "node_modules/@react-native-community/async-storage": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.12.1.tgz", + "integrity": "sha512-70WGaH3PKYASi4BThuEEKMkyAgE9k7VytBqmgPRx3MzJx9/MkspwqJGmn3QLCgHLIFUgF1pit2mWICbRJ3T3lg==", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "deep-assign": "^3.0.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.14.tgz", - "integrity": "sha512-8w9szzKs14ZtBVuP6Wn7nMLRJ0D6dfB0VEBEyRgxrZ/Ln49aNMykrghM2FaNn4FJRzNppCSa0Rv9pBRM5Xc3wg==", - "dev": true, + "node_modules/@react-native-community/cli-debugger-ui": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-5.0.1.tgz", + "integrity": "sha512-5gGKaaXYOVE423BUqxIfvfAVSj5Cg1cU/TpGbeg/iqpy2CfqyWqJB3tTuVUbOOiOvR5wbU8tti6pIi1pchJ+oA==", "dependencies": { - "@babel/types": "^7.3.0" + "serve-static": "^1.13.1" } }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + "node_modules/@react-native-community/cli-hermes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-5.0.1.tgz", + "integrity": "sha512-nD+ZOFvu5MfjLB18eDJ01MNiFrzj8SDtENjGpf0ZRFndOWASDAmU54/UlU/wj8OzTToK1+S1KY7j2P2M1gleww==", + "dependencies": { + "@react-native-community/cli-platform-android": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + } }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true + "node_modules/@react-native-community/cli-platform-android": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-5.0.1.tgz", + "integrity": "sha512-qv9GJX6BJ+Y4qvV34vgxKwwN1cnveXUdP6y2YmTW7XoAYs5YUzKqHajpY58EyucAL2y++6+573t5y4U/9IIoww==", + "dependencies": { + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "execa": "^1.0.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "jetifier": "^1.6.2", + "lodash": "^4.17.15", + "logkitty": "^0.7.1", + "slash": "^3.0.0", + "xmldoc": "^1.1.2" + } }, - "node_modules/@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + "node_modules/@react-native-community/cli-platform-ios": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-5.0.2.tgz", + "integrity": "sha512-IAJ2B3j2BTsQUJZ4R6cVvnTbPq0Vza7+dOgP81ISz2BKRtQ0VqNFv+VOALH2jLaDzf4t7NFlskzIXFqWqy2BLg==", + "dependencies": { + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "glob": "^7.1.3", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "plist": "^3.0.1", + "xcode": "^2.0.0" + } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", - "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", + "node_modules/@react-native-community/cli-server-api": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-5.0.1.tgz", + "integrity": "sha512-OOxL+y9AOZayQzmSW+h5T54wQe+QBc/f67Y9QlWzzJhkKJdYx+S4VOooHoD5PFJzGbYaxhu2YF17p517pcEIIA==", "dependencies": { - "@types/node": "*" + "@react-native-community/cli-debugger-ui": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.0", + "nocache": "^2.1.0", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^1.1.0" } }, - "node_modules/@types/hammerjs": { - "version": "2.0.40", - "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.40.tgz", - "integrity": "sha512-VbjwR1fhsn2h2KXAY4oy1fm7dCxaKy0D+deTb8Ilc3Eo3rc5+5eA4rfYmZaHgNJKxVyI0f6WIXzO2zLkVmQPHA==" + "node_modules/@react-native-community/cli-server-api/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } }, - "node_modules/@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==" + "node_modules/@react-native-community/cli-tools": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-5.0.1.tgz", + "integrity": "sha512-XOX5w98oSE8+KnkMZZPMRT7I5TaP8fLbDl0tCu40S7Epz+Zz924n80fmdu6nUDIfPT1nV6yH1hmHmWAWTDOR+Q==", + "dependencies": { + "chalk": "^3.0.0", + "lodash": "^4.17.15", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "shell-quote": "1.6.1" + } }, - "node_modules/@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==", + "node_modules/@react-native-community/cli-tools/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@react-native-community/cli-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-5.0.1.tgz", + "integrity": "sha512-BesXnuFFlU/d1F3+sHhvKt8fUxbQlAbZ3hhMEImp9A6sopl8TEtryUGJ1dbazGjRXcADutxvjwT/i3LJVTIQug==", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "ora": "^3.4.0" } }, - "node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "node_modules/@react-native-community/eslint-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-1.1.0.tgz", + "integrity": "sha512-hwb1hC28BhkwLwnO6vDISV6XZbipw2RIEhBVBN+pE7AUG9HjFXxoksiiOSoYgox9C8g86VJwHnKpak/3NnVBkQ==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^2.25.0", + "@typescript-eslint/parser": "^2.25.0", + "babel-eslint": "10.1.0", + "eslint-config-prettier": "^6.10.1", + "eslint-plugin-eslint-comments": "^3.1.2", + "eslint-plugin-flowtype": "2.50.3", + "eslint-plugin-jest": "22.4.1", + "eslint-plugin-prettier": "3.1.2", + "eslint-plugin-react": "7.19.0", + "eslint-plugin-react-hooks": "^3.0.0", + "eslint-plugin-react-native": "3.8.1", + "prettier": "^2.0.2" } }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "node_modules/@react-native-community/eslint-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.1.0.tgz", + "integrity": "sha512-W/J0fNYVO01tioHjvYWQ9m6RgndVtbElzYozBq1ZPrHO/iCzlqoySHl4gO/fpCl9QEFjvJfjPgtPMTMlsoq5DQ==", "dev": true }, - "node_modules/@types/markdown-it": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-0.0.4.tgz", - "integrity": "sha512-FWR7QB7EqBRq1s9BMk0ccOSOuRLfVEWYpHQYpFPaXtCoqN6dJx2ttdsdQbUxLLnAlKpYeVjveGGhQ3583TTa7g==" + "node_modules/@react-native-community/masked-view": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", + "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==" }, - "node_modules/@types/node": { - "version": "14.11.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", - "integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==" + "node_modules/@react-native-community/push-notification-ios": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@react-native-community/push-notification-ios/-/push-notification-ios-1.10.1.tgz", + "integrity": "sha512-k6bZWUKLif4GjenyTD3aQLwA2VT3bNmt22INO/34lexnpmqkPDZF7nreqbckTHG0Zso9wDTe4N/AZJUC/d8iRg==", + "dependencies": { + "invariant": "^2.2.4" + } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true + "node_modules/@react-native-firebase/app": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-11.5.0.tgz", + "integrity": "sha512-Jz5CBhqkybxHjTFr5V0K+Jq2YivzPbu9exSze61/z1zSaIfBhR4G38wmHk44VWAl+PEX8GaYy9yfT69tLiCERA==", + "dependencies": { + "opencollective-postinstall": "^2.0.1", + "superstruct": "^0.6.2" + } }, - "node_modules/@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true + "node_modules/@react-native-firebase/iid": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/iid/-/iid-11.5.0.tgz", + "integrity": "sha512-S9f9AaKr9CkA9d6cfS8V5wpyqdFPPQXIjFU4fPTFaeuJ37T659KqK9SGvY/pSB0DdWC5CMQniukIQsUt5l7O1g==" }, - "node_modules/@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + "node_modules/@react-native-firebase/messaging": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/messaging/-/messaging-11.5.0.tgz", + "integrity": "sha512-bjsoJByiNtikNLCf5RMmUdIj3uH8Uf0eeyM9PdqfNRB1mtVaYrU8AmXnzbSd5SqJ/sxqwyZVuxzWNEJrcOnhZw==" }, - "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + "node_modules/@react-native/assets": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", + "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" }, - "node_modules/@types/react": { - "version": "16.9.49", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz", - "integrity": "sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==", + "node_modules/@react-native/normalize-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-1.0.0.tgz", + "integrity": "sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg==" + }, + "node_modules/@react-native/polyfills": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", + "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" + }, + "node_modules/@react-navigation/bottom-tabs": { + "version": "5.11.15", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-5.11.15.tgz", + "integrity": "sha512-TBY419W6aN/HZg98xbVp5Bx1HEF5sXuHR5f55W6KMI4k2AvxlwelKD1wbfvEcX2iuQT0YUiiXsACRFUSECYhkw==", "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" + "color": "^3.1.3", + "react-native-iphone-x-helper": "^1.3.0" } }, - "node_modules/@types/react-native": { - "version": "0.63.20", - "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.20.tgz", - "integrity": "sha512-APnxRTDxbWw/IYjvwvXkhYJiz1gahyVA579pJqAVsEfZ+ZUwUHZpWKnexobyH5NmRJHuA/8LrThyps/BW3SYXA==", + "node_modules/@react-navigation/bottom-tabs/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { - "@types/react": "*" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "node_modules/@types/react-native-vector-icons": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.6.tgz", - "integrity": "sha512-lAyxNfMd5L1xZvXWsGcJmNegDf61TAp40uL6ashNNWj9W3IrDJO59L9+9inh0Y2MsEZpLTdxzVU8Unb4/0FQng==", + "node_modules/@react-navigation/bottom-tabs/node_modules/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==", "dependencies": { - "@types/react": "*", - "@types/react-native": "*" + "color-name": "1.1.3" } }, - "node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", - "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "node_modules/@react-navigation/bottom-tabs/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@react-navigation/core": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-5.16.1.tgz", + "integrity": "sha512-3AToC7vPNeSNcHFLd1h71L6u34hfXoRAS1CxF9Fc4uC8uOrVqcNvphpeFbE0O9Bw6Zpl0BnMFl7E5gaL3KGzNA==", "dependencies": { - "@types/yargs-parser": "*" + "@react-navigation/routers": "^5.7.4", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.15", + "query-string": "^6.13.6", + "react-is": "^16.13.0" } }, - "node_modules/@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, + "node_modules/@react-navigation/core/node_modules/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==", "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">=10" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, + "node_modules/@react-navigation/native": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-5.9.8.tgz", + "integrity": "sha512-DNbcDHXQPSFDLn51kkVVJjT3V7jJy2GztNYZe/2bEg29mi5QEcHHcpifjMCtyFKntAOWzKlG88UicIQ17UEghg==", "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "@react-navigation/core": "^5.16.1", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.15" } }, - "node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - }, + "node_modules/@react-navigation/native/node_modules/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==", "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">=10" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, + "node_modules/@react-navigation/routers": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-5.7.4.tgz", + "integrity": "sha512-0N202XAqsU/FlE53Nmh6GHyMtGm7g6TeC93mrFAFJOqGRKznT0/ail+cYlU6tNcPA9AHzZu1Modw1eoDINSliQ==", "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "nanoid": "^3.1.15" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, + "node_modules/@react-navigation/stack": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-5.14.9.tgz", + "integrity": "sha512-DuvrT9P+Tz8ezZLQYxORZqOGqO+vEufaxlW1hSLw1knLD4jNxkz8TJDXtfKwaz//9gb43UhTNccNM02vm7iPqQ==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "color": "^3.1.3", + "react-native-iphone-x-helper": "^1.3.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/@react-navigation/stack/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "node_modules/@react-navigation/stack/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" } }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true + "node_modules/@react-navigation/stack/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "node_modules/@sideway/address": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", + "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" + "@hapi/hoek": "^9.0.0" } }, - "node_modules/absolute-path": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", - "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" + "node_modules/@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" + "type-detect": "4.0.8" } }, - "node_modules/accepts/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/accepts/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/acorn": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", - "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", + "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", + "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", + "engines": { + "node": ">=8" } }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", + "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", + "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", - "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", - "dev": true, - "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" + "node": ">=8" } }, - "node_modules/anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" - }, - "node_modules/ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", - "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", + "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", + "engines": { + "node": ">=8" } }, - "node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", + "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "node_modules/@svgr/babel-preset": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", + "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" + "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", + "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", + "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", + "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", + "@svgr/babel-plugin-transform-svg-component": "^4.2.0" }, "engines": { "node": ">=8" } }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/appdirsjs": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.6.tgz", - "integrity": "sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@svgr/core": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", + "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "@svgr/plugin-jsx": "^4.3.3", + "camelcase": "^5.3.1", + "cosmiconfig": "^5.2.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/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==", + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", + "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "dependencies": { + "@babel/types": "^7.4.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "node_modules/@svgr/plugin-jsx": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", + "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "dependencies": { + "@babel/core": "^7.4.5", + "@svgr/babel-preset": "^4.3.3", + "@svgr/hast-util-to-babel-ast": "^4.3.2", + "svg-parser": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "node_modules/array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" - }, - "node_modules/array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "dev": true, + "node_modules/@svgr/plugin-svgo": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", + "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" + "cosmiconfig": "^5.2.1", + "merge-deep": "^3.0.2", + "svgo": "^1.2.2" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/array-includes/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "node_modules/@types/babel__core": { + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", + "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", "dev": true, "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" - }, - "node_modules/array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" + "node_modules/@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "node_modules/@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", "dev": true, "dependencies": { - "safer-buffer": "~2.1.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "node_modules/@types/babel__traverse": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.14.tgz", + "integrity": "sha512-8w9szzKs14ZtBVuP6Wn7nMLRJ0D6dfB0VEBEyRgxrZ/Ln49aNMykrghM2FaNn4FJRzNppCSa0Rv9pBRM5Xc3wg==", "dev": true, - "engines": { - "node": ">=0.8" + "dependencies": { + "@babel/types": "^7.3.0" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" }, - "node_modules/ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", + "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" + "@types/node": "*" } }, - "node_modules/ast-types/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "node_modules/@types/hammerjs": { + "version": "2.0.40", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.40.tgz", + "integrity": "sha512-VbjwR1fhsn2h2KXAY4oy1fm7dCxaKy0D+deTb8Ilc3Eo3rc5+5eA4rfYmZaHgNJKxVyI0f6WIXzO2zLkVmQPHA==" }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "engines": { - "node": ">=4" + "node_modules/@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==" + }, + "node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, "dependencies": { - "lodash": "^4.17.14" + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "node_modules/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==" + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/markdown-it": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-0.0.4.tgz", + "integrity": "sha512-FWR7QB7EqBRq1s9BMk0ccOSOuRLfVEWYpHQYpFPaXtCoqN6dJx2ttdsdQbUxLLnAlKpYeVjveGGhQ3583TTa7g==" + }, + "node_modules/@types/node": { + "version": "14.11.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", + "integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" + "node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "node_modules/@types/react": { + "version": "16.9.49", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz", + "integrity": "sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "node_modules/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, - "engines": { - "node": "*" + "node_modules/@types/react-native": { + "version": "0.63.20", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.20.tgz", + "integrity": "sha512-APnxRTDxbWw/IYjvwvXkhYJiz1gahyVA579pJqAVsEfZ+ZUwUHZpWKnexobyH5NmRJHuA/8LrThyps/BW3SYXA==", + "dependencies": { + "@types/react": "*" } }, - "node_modules/aws4": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", - "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", + "node_modules/@types/react-native-vector-icons": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.6.tgz", + "integrity": "sha512-lAyxNfMd5L1xZvXWsGcJmNegDf61TAp40uL6ashNNWj9W3IrDJO59L9+9inh0Y2MsEZpLTdxzVU8Unb4/0FQng==", + "dependencies": { + "@types/react": "*", + "@types/react-native": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + "node_modules/@types/yargs": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "node_modules/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==", + "node_modules/@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", "dev": true, "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" + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" }, "engines": { - "node": ">=6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" } }, - "node_modules/babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", "dev": true, "dependencies": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" }, "engines": { - "node": ">= 8.3" - } - }, - "node_modules/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==", - "dependencies": { - "object.assign": "^4.1.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" } }, - "node_modules/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==", + "node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", "dev": true, "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" + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=8" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", "dev": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" }, "engines": { - "node": ">= 8.3" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" } }, - "node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", - "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", - "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "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" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" } }, - "node_modules/babel-preset-fbjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", - "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", - "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" - } + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "node_modules/babel-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 8.3" + "node": ">=10" } }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "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" + "event-target-shim": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.5" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/absolute-path": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", + "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "is-descriptor": "^1.0.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/base/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/base/node_modules/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==", + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "kind-of": "^6.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "node_modules/acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" } }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=0.6" + "node": ">=0.4.0" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true }, - "node_modules/bplist-creator": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", - "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", - "dependencies": { - "stream-buffers": "2.2.x" + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/bplist-parser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", - "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", + "node_modules/ajv": { + "version": "6.12.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", + "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "dev": true, "dependencies": { - "big-integer": "1.6.x" - }, - "engines": { - "node": ">= 5.10.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" + }, + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" } }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "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" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dependencies": { - "is-extendable": "^0.1.0" - }, + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/appdirsjs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.6.tgz", + "integrity": "sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "engines": { "node": ">=0.10.0" } }, - "node_modules/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==", - "dev": true + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "dependencies": { - "resolve": "1.1.7" + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/browser-resolve/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, - "node_modules/browserslist": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", - "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", + "node_modules/array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "node_modules/array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001265", - "electron-to-chromium": "^1.3.867", - "escalade": "^3.1.1", - "node-releases": "^2.0.0", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">= 0.4" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/array-includes/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, "dependencies": { - "node-int64": "^0.4.0" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "node_modules/array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "node_modules/array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "safer-buffer": "~2.1.0" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-fill": { + "node_modules/assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.8" } }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "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" - }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "engines": { "node": ">=0.10.0" } }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dependencies": { - "callsites": "^2.0.0" + "tslib": "^2.0.1" }, "engines": { "node": ">=4" } }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dependencies": { - "caller-callsite": "^2.0.0" - }, + "node_modules/ast-types/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "engines": { "node": ">=4" } }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "engines": { - "node": ">=4" + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dependencies": { + "lodash": "^4.17.14" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } + "node_modules/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==" }, - "node_modules/caniuse-lite": { - "version": "1.0.30001270", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz", - "integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==" + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, - "node_modules/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==", - "dependencies": { - "rsvp": "^4.8.4" + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 4.5.0" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/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, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "node_modules/aws4": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", + "dev": true }, - "node_modules/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==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/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==", + "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "@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" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "dev": true, "dependencies": { - "restore-cursor": "^2.0.0" + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/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==", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" + "object.assign": "^4.1.0" } }, - "node_modules/cliui/node_modules/strip-ansi": { + "node_modules/babel-plugin-istanbul": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "@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" }, "engines": { "node": ">=8" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", - "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "dev": true, "dependencies": { - "for-own": "^0.1.3", - "is-plain-object": "^2.0.1", - "kind-of": "^3.0.2", - "lazy-cache": "^1.0.3", - "shallow-clone": "^0.1.2" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "node_modules/babel-preset-current-node-syntax": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", + "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" + "@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" } }, - "node_modules/coa/node_modules/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==", + "node_modules/babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" } }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" + "node": ">= 8.3" } }, - "node_modules/coa/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "node_modules/coa/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "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" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/coa/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dependencies": { - "has-flag": "^3.0.0" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/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==", - "dev": true - }, - "node_modules/collection-visit": { + "node_modules/base/node_modules/is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "node_modules/base/node_modules/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==", "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/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==", + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dependencies": { - "color-name": "~1.1.4" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/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==" + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" }, - "node_modules/color-string": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", - "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "node_modules/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, "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "tweetnacl": "^0.14.3" } }, - "node_modules/color/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "engines": { + "node": ">=0.6" } }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" + "node_modules/bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "dependencies": { + "stream-buffers": "2.2.x" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, + "node_modules/bplist-parser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", + "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", "dependencies": { - "delayed-stream": "~1.0.0" + "big-integer": "1.6.x" }, "engines": { - "node": ">= 0.8" + "node": ">= 5.10.0" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/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==" - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "node_modules/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==" + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "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" }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "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" + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "node_modules/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==", + "dev": true }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", + "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", + "dependencies": { + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", + "escalade": "^3.1.1", + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">= 0.10.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/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==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dependencies": { - "safe-buffer": "~5.1.1" + "node-int64": "^0.4.0" } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" + "node_modules/buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, - "node_modules/core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } }, - "node_modules/core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", - "dev": true + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" }, - "node_modules/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=" + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "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" - }, - "engines": { - "node": ">=4" - } + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dependencies": { - "node-fetch": "2.6.7" + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "engines": { + "node": ">= 0.8" } }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "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" }, "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "node": ">=0.10.0" } }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/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==" - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dependencies": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" + "caller-callsite": "^2.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/css-what": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "node_modules/caniuse-lite": { + "version": "1.0.30001270", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz", + "integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==" + }, + "node_modules/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==", "dependencies": { - "css-tree": "1.0.0-alpha.39" + "rsvp": "^4.8.4" }, "engines": { - "node": ">=8.0.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dependencies": { - "cssom": "~0.3.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/csstype": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz", - "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==" + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, + "node_modules/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==", "dependencies": { - "assert-plus": "^1.0.0" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "node": ">=0.10.0" } }, - "node_modules/dayjs": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.8.tgz", - "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==" - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "is-descriptor": "^0.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/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=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", - "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==", + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dependencies": { - "is-obj": "^1.0.0" + "restore-cursor": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/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=", - "dev": true - }, - "node_modules/deepmerge": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", - "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dependencies": { - "clone": "^1.0.2" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/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==", - "dependencies": { - "object-keys": "^1.0.12" - }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "ansi-regex": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/define-property/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "engines": { - "node": ">=0.10.0" + "node": ">=0.8" } }, - "node_modules/define-property/node_modules/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==", + "node_modules/clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", "dependencies": { - "kind-of": "^6.0.0" + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/clone-deep/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true, "engines": { - "node": ">=0.4.0" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, "engines": { - "node": ">= 0.6" + "node": ">= 4.0" } }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/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==", - "dev": true, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/dijkstrajs": { + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/collect-v8-coverage": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz", - "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dependencies": { - "esutils": "^2.0.2" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "node_modules/color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" + "color-convert": "^1.9.1", + "color-string": "^1.5.2" } }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", - "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==" - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, + "node_modules/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==", "dependencies": { - "webidl-conversions": "^4.0.2" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "node_modules/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==" + }, + "node_modules/color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, + "node_modules/color/node_modules/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==", "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "color-name": "1.1.3" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.877", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.877.tgz", - "integrity": "sha512-fT5mW5Giw5iyVukeHb2XvB4joBKvzHtl8Vs3QzE7APATpFMt/T7RWyUcIKSZzYkKQgpMbu+vDBTCHfQZvh8klA==" + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "node_modules/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==" + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "engines": { - "node": ">= 0.8" + "node": ">=0.1.90" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { - "iconv-lite": "^0.6.2" + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/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==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "node_modules/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==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/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==", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "bin": { - "envinfo": "dist/cli.js" + "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" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/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==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dependencies": { - "is-arrayish": "^0.2.1" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/error-stack-parser": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", - "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", + "node_modules/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==", "dependencies": { - "stackframe": "^1.1.1" + "safe-buffer": "~5.1.1" } }, - "node_modules/errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/es-abstract": { - "version": "1.18.0-next.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", - "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", + "node_modules/core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "node_modules/core-js-pure": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", + "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "dev": true + }, + "node_modules/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=" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=4" } }, - "node_modules/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==", + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "node-fetch": "2.6.7" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "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" + }, "engines": { - "node": ">=6" + "node": ">=4.8" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } }, - "node_modules/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=", - "engines": { - "node": ">=0.8.0" + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" } }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, + "node_modules/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==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "mdn-data": "2.0.6", + "source-map": "^0.6.1" }, "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": ">=8.0.0" } }, - "node_modules/escodegen/node_modules/source-map": { + "node_modules/css-tree/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, + "node_modules/css-what": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", + "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">= 6" } }, - "node_modules/eslint-config-prettier": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", - "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", - "dev": true, + "node_modules/csso": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", "dependencies": { - "get-stdin": "^6.0.0" + "css-tree": "1.0.0-alpha.39" }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" + "cssom": "~0.3.6" }, "engines": { - "node": ">=6.5.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-flowtype": { - "version": "2.50.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", - "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz", + "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "dependencies": { - "lodash": "^4.17.10" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/eslint-plugin-jest": { - "version": "22.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", - "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" } }, - "node_modules/eslint-plugin-prettier": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", - "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", - "dev": true, + "node_modules/dayjs": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.8.tgz", + "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, + "ms": "2.0.0" + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", - "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", - "dev": true, + "node_modules/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=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", + "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==", "dependencies": { - "array-includes": "^3.1.1", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.2.3", - "object.entries": "^1.1.1", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", - "prop-types": "^15.7.2", - "resolve": "^1.15.1", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.2", - "xregexp": "^4.3.0" + "is-obj": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz", - "integrity": "sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw==", - "dev": true, + "node_modules/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=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", "engines": { - "node": ">=7" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react-native": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz", - "integrity": "sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg==", - "dev": true, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dependencies": { - "eslint-plugin-react-native-globals": "^0.1.1" + "clone": "^1.0.2" } }, - "node_modules/eslint-plugin-react-native-globals": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", - "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", - "dev": true + "node_modules/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==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/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==", - "dev": true, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=0.10.0" } }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, + "node_modules/define-property/node_modules/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==", "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "kind-of": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/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==", - "dev": true, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dependencies": { - "type-fest": "^0.11.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/eslint/node_modules/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==", + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/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==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/eslint/node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "node_modules/dijkstrajs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz", + "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" }, - "node_modules/eslint/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dependencies": { - "color-name": "1.1.3" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" } }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", + "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==" }, - "node_modules/eslint/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "webidl-conversions": "^4.0.2" } }, - "node_modules/eslint/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" + "dom-serializer": "0", + "domelementtype": "1" } }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.877", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.877.tgz", + "integrity": "sha512-fT5mW5Giw5iyVukeHb2XvB4joBKvzHtl8Vs3QzE7APATpFMt/T7RWyUcIKSZzYkKQgpMbu+vDBTCHfQZvh8klA==" + }, + "node_modules/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==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/eslint/node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" + "iconv-lite": "^0.6.2" } }, - "node_modules/eslint/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", "dependencies": { - "escape-string-regexp": "^1.0.5" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, + "node_modules/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==", "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" + "once": "^1.4.0" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, + "node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "bin": { + "envinfo": "dist/cli.js" + }, "engines": { "node": ">=4" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" + "node_modules/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==", + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, + "node_modules/error-stack-parser": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", + "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" + "stackframe": "^1.1.1" } }, - "node_modules/eslint/node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "accepts": "~1.3.7", + "escape-html": "~1.0.3" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.8" } }, - "node_modules/eslint/node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, + "node_modules/es-abstract": { + "version": "1.18.0-next.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", + "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/eslint/node_modules/inquirer/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, + "node_modules/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==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" } }, - "node_modules/eslint/node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "node_modules/eslint/node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, - "node_modules/eslint/node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "node_modules/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=", "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=8" + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/eslint/node_modules/inquirer/node_modules/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==", + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "optional": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">=6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" } }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/eslint/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/eslint/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "get-stdin": "^6.0.0" }, - "engines": { - "node": ">=6" + "bin": { + "eslint-config-prettier-check": "bin/cli.js" } }, - "node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, "engines": { "node": ">=6.5.0" } }, - "node_modules/eslint/node_modules/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==", + "node_modules/eslint-plugin-flowtype": { + "version": "2.50.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", + "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", "dev": true, + "dependencies": { + "lodash": "^4.17.10" + }, "engines": { "node": ">=4" } }, - "node_modules/eslint/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/eslint-plugin-jest": { + "version": "22.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", + "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/eslint/node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "node_modules/eslint-plugin-prettier": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", + "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "npm": ">=2.0.0" + "node": ">=6.0.0" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/eslint-plugin-react": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", + "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "array-includes": "^3.1.1", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.1", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.15.1", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.2", + "xregexp": "^4.3.0" }, "engines": { "node": ">=4" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/eslint-plugin-react-hooks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz", + "integrity": "sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=7" } }, - "node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "node_modules/eslint-plugin-react-native": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz", + "integrity": "sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg==", "dev": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "node_modules/eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8.0.0" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=0.10" + "node": ">=6" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "node_modules/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==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/eslint/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "dev": true, "dependencies": { - "estraverse": "^5.2.0" + "type-fest": "^0.11.0" }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "node_modules/eslint/node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, "engines": { - "node": ">=0.8.x" + "node": ">=4" } }, - "node_modules/exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + "node_modules/eslint/node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/eslint/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, "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" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "node_modules/eslint/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">= 10" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "node_modules/eslint/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "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" + "color-name": "1.1.3" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/eslint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "node_modules/eslint/node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/expect/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/eslint/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "escape-string-regexp": "^1.0.5" }, "engines": { "node": ">=8" } }, - "node_modules/expect/node_modules/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==", + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" } }, - "node_modules/expect/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/eslint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=4" } }, - "node_modules/expect/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, "engines": { - "node": ">= 8.3" + "node": ">= 4" } }, - "node_modules/expect/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/expect/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "node_modules/eslint/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/expect/node_modules/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==", + "node_modules/eslint/node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" }, "engines": { - "node": ">=8.0" + "node": ">=8" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/eslint/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/extend-shallow/node_modules/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==", + "node_modules/eslint/node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "node_modules/eslint/node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, "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" + "ansi-regex": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/eslint/node_modules/inquirer/node_modules/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==", + "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/eslint/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/eslint/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/eslint/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/extglob/node_modules/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==", + "node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/eslint/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/extglob/node_modules/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==", + "node_modules/eslint/node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "tslib": "^1.9.0" }, "engines": { - "node": ">=0.10.0" + "npm": ">=2.0.0" } }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "node_modules/eslint/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/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==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fbjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", - "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", - "dependencies": { - "core-js": "^2.4.1", - "fbjs-css-vars": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - }, - "node_modules/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==" - }, - "node_modules/fbjs/node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" + "engines": { + "node": ">=8" } }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, "dependencies": { - "flat-cache": "^2.0.1" + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "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" + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "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" + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 0.8" + "node": ">=4.0" } }, - "node_modules/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==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=4.0" } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" } }, - "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/flow-parser": { - "version": "0.121.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.121.0.tgz", - "integrity": "sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==", + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "engines": { - "node": ">=0.4.0" + "node": ">=6" } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "node_modules/events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "engines": { - "node": ">=0.10.0" + "node": ">=0.8.x" } }, - "node_modules/for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "node_modules/exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dependencies": { - "for-in": "^1.0.1" + "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" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true, "engines": { - "node": "*" + "node": ">= 0.8.0" } }, - "node_modules/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, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "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" }, "engines": { - "node": ">= 0.12" + "node": ">=0.10.0" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dependencies": { - "map-cache": "^0.2.2" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/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==", + "node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">= 8.3" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true, - "os": [ - "darwin" - ], + "node_modules/expect/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, "engines": { - "node": ">= 4.0" + "node": ">=8" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/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==", + "node_modules/expect/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/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==", + "node_modules/expect/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=0.12.0" } }, - "node_modules/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==", + "node_modules/expect/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">= 8.3" } }, - "node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "node_modules/expect/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/expect/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, "dependencies": { - "pump": "^3.0.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "node_modules/expect/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dependencies": { - "assert-plus": "^1.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/extend-shallow/node_modules/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==", "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" + "is-plain-object": "^2.0.4" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dependencies": { - "is-glob": "^4.0.1" + "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" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true, - "optional": true - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dependencies": { - "function-bind": "^1.1.1" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/has-value": { + "node_modules/extglob/node_modules/is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-values": { + "node_modules/extglob/node_modules/is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dependencies": { - "is-buffer": "^1.1.5" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/hermes-engine": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.7.2.tgz", - "integrity": "sha512-E2DkRaO97gwL98LPhgfkMqhHiNsrAjIfEk3wWYn2Y31xdkdWn0572H7RnVcGujMJVqZNJvtknxlpsUb8Wzc3KA==" + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] }, - "node_modules/hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "node_modules/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==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dependencies": { - "source-map": "^0.7.3" + "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/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==", + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", "dependencies": { - "react-is": "^16.7.0" + "bser": "2.1.1" } }, - "node_modules/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==", - "dev": true - }, - "node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, + "node_modules/fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "dependencies": { - "whatwg-encoding": "^1.0.1" + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "node_modules/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==" }, - "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" + "asap": "~2.0.3" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "flat-cache": "^2.0.1" }, "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">=4" } }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "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" + }, "engines": { - "node": ">=8.12.0" + "node": ">=0.10.0" } }, - "node_modules/humps": { + "node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz", - "integrity": "sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=" - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/image-size": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", - "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "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" }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/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==", - "dev": true, + "node_modules/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==", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "find-up": "^4.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "node_modules/firebase": { + "version": "9.9.4", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.9.4.tgz", + "integrity": "sha512-XRfCw54nNGYUYNYi5PLJ6rcERN2M+aS32f6caYEx9GhCp9ndgHHzBL9BpPohUpEpKPtHA75EqYNf8kuR0HQndA==", + "dependencies": { + "@firebase/analytics": "0.8.0", + "@firebase/analytics-compat": "0.1.13", + "@firebase/app": "0.7.32", + "@firebase/app-check": "0.5.12", + "@firebase/app-check-compat": "0.2.12", + "@firebase/app-compat": "0.1.33", + "@firebase/app-types": "0.7.0", + "@firebase/auth": "0.20.6", + "@firebase/auth-compat": "0.2.19", + "@firebase/database": "0.13.6", + "@firebase/database-compat": "0.2.6", + "@firebase/firestore": "3.4.15", + "@firebase/firestore-compat": "0.1.24", + "@firebase/functions": "0.8.4", + "@firebase/functions-compat": "0.2.4", + "@firebase/installations": "0.5.12", + "@firebase/installations-compat": "0.1.12", + "@firebase/messaging": "0.9.16", + "@firebase/messaging-compat": "0.1.16", + "@firebase/performance": "0.5.12", + "@firebase/performance-compat": "0.1.12", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-compat": "0.1.12", + "@firebase/storage": "0.9.9", + "@firebase/storage-compat": "0.1.17", + "@firebase/util": "1.6.3" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "dependencies": { - "es-abstract": "^1.17.0-next.1", - "has": "^1.0.3", - "side-channel": "^1.0.2" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" }, "engines": { - "node": ">= 0.4" + "node": ">=4" } }, - "node_modules/internal-slot/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true, + "node_modules/flow-parser": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.121.0.tgz", + "integrity": "sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==", "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dependencies": { - "is-buffer": "^1.1.5" + "for-in": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, "engines": { - "node": ">= 0.4" + "node": "*" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "node_modules/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, "dependencies": { - "ci-info": "^2.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": ">= 0.12" } }, - "node_modules/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=", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dependencies": { - "kind-of": "^3.0.2" + "map-cache": "^0.2.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "node_modules/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==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=6 <7 || >=8" } }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "node_modules/is-descriptor/node_modules/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==", + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 4.0" } }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "engines": { - "node": ">=0.10.0" - } + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "node_modules/is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "dev": true, - "optional": true, - "bin": { - "is-docker": "cli.js" - }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/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==", "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "node_modules/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==", "engines": { - "node": ">=0.10.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "node_modules/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==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/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=", + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, "engines": { "node": ">=4" } }, - "node_modules/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==", - "dev": true, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, "engines": { "node": ">=6" } }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", - "engines": { - "node": ">= 0.4" + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" } }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dependencies": { - "kind-of": "^3.0.2" + "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" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/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==", + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, "dependencies": { - "isobject": "^3.0.1" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dependencies": { - "has-symbols": "^1.0.1" + "function-bind": "^1.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.4.0" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "engines": { "node": ">= 0.4" } }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dependencies": { - "has-symbols": "^1.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/is-typedarray": { + "node_modules/has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/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==", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "node_modules/hermes-engine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.7.2.tgz", + "integrity": "sha512-E2DkRaO97gwL98LPhgfkMqhHiNsrAjIfEk3wWYn2Y31xdkdWn0572H7RnVcGujMJVqZNJvtknxlpsUb8Wzc3KA==" }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "dependencies": { + "source-map": "^0.7.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "node_modules/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==", "dependencies": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "react-is": "^16.7.0" } }, - "node_modules/isomorphic-fetch/node_modules/node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "node_modules/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==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "whatwg-encoding": "^1.0.1" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/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==", - "dev": true, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/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==", + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" }, "engines": { - "node": ">=8" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/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==", + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=8" + "node": ">=8.12.0" } }, - "node_modules/istanbul-lib-report/node_modules/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==", + "node_modules/humps": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz", + "integrity": "sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/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==", + "node_modules/idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=8" + "node": ">= 4" } }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" + "node_modules/image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", + "bin": { + "image-size": "bin/image-size.js" }, "engines": { - "node": ">=6.0" + "node": ">=4.0" } }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/istanbul-reports": { + "node_modules/import-local": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { "node": ">=8" } }, - "node_modules/jest": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", - "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "dependencies": { - "@jest/core": "^25.5.4", - "import-local": "^3.0.2", - "jest-cli": "^25.5.4" - }, - "bin": { - "jest": "bin/jest.js" + "find-up": "^4.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-changed-files": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", - "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "execa": "^3.2.0", - "throat": "^5.0.0" - }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "engines": { - "node": ">= 8.3" + "node": ">=0.8.19" } }, - "node_modules/jest-changed-files/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", "dev": true, "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", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" }, "engines": { - "node": "^8.12.0 || >=9.7.0" + "node": ">= 0.4" } }, - "node_modules/jest-changed-files/node_modules/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==", + "node_modules/internal-slot/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, "dependencies": { - "pump": "^3.0.0" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/jest-changed-files/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/jest-changed-files/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } }, - "node_modules/jest-changed-files/node_modules/mimic-fn": { + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "node_modules/ip-regex": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/jest-changed-files/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, + "node_modules/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=", "dependencies": { - "path-key": "^3.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-changed-files/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "mimic-fn": "^2.1.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/jest-changed-files/node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, - "node_modules/jest-changed-files/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/jest-changed-files/node_modules/shebang-command": { + "node_modules/is-ci": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dependencies": { - "shebang-regex": "^3.0.0" + "ci-info": "^2.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" + "bin": { + "is-ci": "bin.js" } }, - "node_modules/jest-changed-files/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/jest-changed-files/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, + "node_modules/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=", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", - "dev": true, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-config/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/jest-config/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dependencies": { - "fill-range": "^7.0.1" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-config/node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, + "node_modules/is-descriptor/node_modules/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==", "engines": { "node": ">=0.10.0" } }, - "node_modules/jest-config/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-config/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", "dev": true, + "optional": true, + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/jest-config/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-config/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-config/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, + "node_modules/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=", "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-config/node_modules/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==", + "node_modules/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==", "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-config/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, + "node_modules/is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", "engines": { - "node": ">= 8.3" + "node": ">= 0.4" } }, - "node_modules/jest-config/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dependencies": { - "is-number": "^7.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8.0" + "node": ">=0.10.0" } }, - "node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "dev": true, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-diff/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-diff/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, + "node_modules/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==", "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "isobject": "^3.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", - "dev": true, + "node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dependencies": { - "detect-newline": "^3.0.0" + "has-symbols": "^1.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.4" } }, - "node_modules/jest-each": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", - "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0" - }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-each/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/jest-each/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dependencies": { + "has-symbols": "^1.0.1" + }, "engines": { - "node": ">= 8.3" + "node": ">= 0.4" } }, - "node_modules/jest-each/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/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==", "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-each/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "dependencies": { - "semver": "^6.0.0" - }, + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "node_modules/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==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-environment-jsdom": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", - "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "node_modules/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==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "jsdom": "^15.2.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" + "semver": "^6.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/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==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/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==", + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "ms": "2.1.2" }, "engines": { - "node": ">=8" + "node": ">=6.0" } }, - "node_modules/jest-environment-jsdom/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "node_modules/jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0" + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "node_modules/jest-changed-files": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", "dev": true, "dependencies": { "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" + "execa": "^3.2.0", + "throat": "^5.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-environment-jsdom/node_modules/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==", + "node_modules/jest-changed-files/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/jest-environment-jsdom/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "node_modules/jest-changed-files/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=8" + "node": "^8.12.0 || >=9.7.0" } }, - "node_modules/jest-environment-jsdom/node_modules/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==", + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "pump": "^3.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=8" } }, - "node_modules/jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/jest-changed-files/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "semver": "^6.3.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-environment-node/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "node_modules/jest-changed-files/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", "dev": true, "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", "jest-util": "^25.5.0", - "lolex": "^5.0.0" + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-environment-node/node_modules/braces": { + "node_modules/jest-config/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", @@ -9152,7 +9666,16 @@ "node": ">=8" } }, - "node_modules/jest-environment-node/node_modules/fill-range": { + "node_modules/jest-config/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-config/node_modules/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==", @@ -9164,7 +9687,7 @@ "node": ">=8" } }, - "node_modules/jest-environment-node/node_modules/is-number": { + "node_modules/jest-config/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", @@ -9173,54 +9696,49 @@ "node": ">=0.12.0" } }, - "node_modules/jest-environment-node/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-environment-node/node_modules/jest-mock": { + "node_modules/jest-config/node_modules/jest-util": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-environment-node/node_modules/jest-util": { + "node_modules/jest-config/node_modules/jest-validate": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, "dependencies": { "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-environment-node/node_modules/make-dir": { + "node_modules/jest-config/node_modules/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==", @@ -9232,7 +9750,7 @@ "node": ">=8" } }, - "node_modules/jest-environment-node/node_modules/micromatch": { + "node_modules/jest-config/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", @@ -9245,7 +9763,22 @@ "node": ">=8" } }, - "node_modules/jest-environment-node/node_modules/to-regex-range": { + "node_modules/jest-config/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/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==", @@ -9257,280 +9790,201 @@ "node": ">=8.0" } }, - "node_modules/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==", + "node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, "engines": { - "node": ">= 6" + "node": ">= 8.3" } }, - "node_modules/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==", - "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" - }, + "node_modules/jest-diff/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "node": ">=8" } }, - "node_modules/jest-haste-map/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "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" - }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-haste-map/node_modules/@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==", - "dependencies": { - "@types/istanbul-lib-report": "*" + "node": ">= 8.3" } }, - "node_modules/jest-haste-map/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.3" } }, - "node_modules/jest-haste-map/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-haste-map/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=10" + "node": ">= 8.3" } }, - "node_modules/jest-haste-map/node_modules/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==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, + "node_modules/jest-each/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/jest-haste-map/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-haste-map/node_modules/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==", + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, "engines": { - "node": ">= 10.14.2" + "node": ">= 8.3" } }, - "node_modules/jest-haste-map/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "node_modules/jest-each/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-haste-map/node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" + "node": ">= 8.3" } }, - "node_modules/jest-haste-map/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/jest-each/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/jest-haste-map/node_modules/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==", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, "dependencies": { - "is-number": "^7.0.0" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { - "node": ">=8.0" + "node": ">= 8.3" } }, - "node_modules/jest-jasmine2": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", - "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", + "node_modules/jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", "dev": true, "dependencies": { - "@babel/traverse": "^7.1.0", "@jest/environment": "^25.5.0", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", + "@jest/fake-timers": "^25.5.0", "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "co": "^4.6.0", - "expect": "^25.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^25.5.0", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", + "jest-mock": "^25.5.0", "jest-util": "^25.5.0", - "pretty-format": "^25.5.0", - "throat": "^5.0.0" + "jsdom": "^15.2.1" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-jasmine2/node_modules/@jest/console": { + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, "dependencies": { "@jest/types": "^25.5.0", - "chalk": "^3.0.0", "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", "jest-util": "^25.5.0", - "slash": "^3.0.0" + "lolex": "^5.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-jasmine2/node_modules/@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "node_modules/jest-environment-jsdom/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/jest-environment-jsdom/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-jasmine2/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/is-number": { + "node_modules/jest-environment-jsdom/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", @@ -9539,7 +9993,7 @@ "node": ">=0.12.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", @@ -9558,7 +10012,19 @@ "node": ">= 8.3" } }, - "node_modules/jest-jasmine2/node_modules/jest-util": { + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-util": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", @@ -9574,7 +10040,7 @@ "node": ">= 8.3" } }, - "node_modules/jest-jasmine2/node_modules/make-dir": { + "node_modules/jest-environment-jsdom/node_modules/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==", @@ -9586,7 +10052,7 @@ "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/micromatch": { + "node_modules/jest-environment-jsdom/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", @@ -9599,37 +10065,7 @@ "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-jasmine2/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/jest-jasmine2/node_modules/to-regex-range": { + "node_modules/jest-environment-jsdom/node_modules/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==", @@ -9641,218 +10077,217 @@ "node": ">=8.0" } }, - "node_modules/jest-leak-detector": { + "node_modules/jest-environment-node": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", "dev": true, "dependencies": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-leak-detector/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { + "node_modules/jest-environment-node/node_modules/@jest/fake-timers": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, "dependencies": { "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "node_modules/jest-environment-node/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "node_modules/jest-environment-node/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-matcher-utils/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "node_modules/jest-environment-node/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { - "node": ">= 8.3" + "node": ">=0.12.0" } }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "node_modules/jest-environment-node/node_modules/jest-message-util": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { + "@babel/code-frame": "^7.0.0", "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { "node": ">= 8.3" } }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "node_modules/jest-environment-node/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", "chalk": "^3.0.0", "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-resolve-dependencies": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", - "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "node_modules/jest-environment-node/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.5.1" + "semver": "^6.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "node_modules/jest-environment-node/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-runner/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "node_modules/jest-environment-node/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8.0" } }, - "node_modules/jest-runner/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, + "node_modules/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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">= 10.14.2" } }, - "node_modules/jest-runner/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, + "node_modules/jest-haste-map/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-haste-map/node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -9861,11 +10296,10 @@ "node": ">= 8" } }, - "node_modules/jest-runner/node_modules/braces": { + "node_modules/jest-haste-map/node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -9873,11 +10307,22 @@ "node": ">=8" } }, - "node_modules/jest-runner/node_modules/fill-range": { + "node_modules/jest-haste-map/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-haste-map/node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -9885,350 +10330,310 @@ "node": ">=8" } }, - "node_modules/jest-runner/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/jest-runner/node_modules/is-number": { + "node_modules/jest-haste-map/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } }, - "node_modules/jest-runner/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, + "node_modules/jest-haste-map/node_modules/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==", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" + "braces": "^3.0.1", + "picomatch": "^2.2.3" }, "engines": { - "node": ">= 8.3" + "node": ">=8.6" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-haste-map/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/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==", + "dependencies": { + "is-number": "^7.0.0" }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "engines": { + "node": ">=8.0" } }, - "node_modules/jest-runner/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runner/node_modules/jest-serializer": { + "node_modules/jest-jasmine2/node_modules/@jest/console": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runner/node_modules/jest-util": { + "node_modules/jest-jasmine2/node_modules/@jest/source-map": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", + "callsites": "^3.0.0", "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" + "source-map": "^0.6.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runner/node_modules/jest-worker": { + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runner/node_modules/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==", + "node_modules/jest-jasmine2/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/jest-runner/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/jest-runner/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "node_modules/jest-jasmine2/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "fill-range": "^7.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/jest-runner/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/jest-jasmine2/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/jest-runner/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/jest-runner/node_modules/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==", + "node_modules/jest-jasmine2/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=8.0" + "node": ">=8" } }, - "node_modules/jest-runner/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/jest-jasmine2/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, "engines": { - "node": ">= 8" + "node": ">=0.12.0" } }, - "node_modules/jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", + "@babel/code-frame": "^7.0.0", "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", + "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", + "micromatch": "^4.0.2", "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" + "stack-utils": "^1.0.1" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/@jest/console": { + "node_modules/jest-jasmine2/node_modules/jest-util": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { "@jest/types": "^25.5.0", "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/jest-jasmine2/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "semver": "^6.0.0" }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "node_modules/jest-jasmine2/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "braces": "^3.0.1", + "picomatch": "^2.0.5" }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/jest-jasmine2/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/jest-runtime/node_modules/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==", + "node_modules/jest-jasmine2/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.0" } }, - "node_modules/jest-runtime/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/jest-leak-detector/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/jest-get-type": { + "node_modules/jest-leak-detector/node_modules/jest-get-type": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", @@ -10237,321 +10642,328 @@ "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, "dependencies": { "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" } }, - "node_modules/jest-runtime/node_modules/jest-message-util": { + "node_modules/jest-matcher-utils": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "node_modules/jest-matcher-utils/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4" - }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/jest-util": { + "node_modules/jest-matcher-utils/node_modules/pretty-format": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, "dependencies": { "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "node_modules/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==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/jest-runtime/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/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==", + "node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/jest-runtime/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "node_modules/jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/pretty-format": { + "node_modules/jest-runner/node_modules/@jest/console": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, "dependencies": { "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/jest-runner/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/jest-runtime/node_modules/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==", + "node_modules/jest-runner/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=8.0" + "node": ">= 8" } }, - "node_modules/jest-runtime/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/jest-runner/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "node_modules/jest-runner/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">=8" } }, - "node_modules/jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "node_modules/jest-runner/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 8.3" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/jest-snapshot/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "node_modules/jest-runner/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.12.0" } }, - "node_modules/jest-snapshot/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/jest-runner/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" }, "engines": { - "node": ">=8" + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/jest-snapshot/node_modules/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==", + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-snapshot/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/jest-runner/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, "engines": { - "node": ">=0.12.0" + "node": ">= 8.3" } }, - "node_modules/jest-snapshot/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "node_modules/jest-runner/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-snapshot/node_modules/jest-message-util": { + "node_modules/jest-runner/node_modules/jest-worker": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-snapshot/node_modules/make-dir": { + "node_modules/jest-runner/node_modules/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==", @@ -10563,7 +10975,13 @@ "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/micromatch": { + "node_modules/jest-runner/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/jest-runner/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", @@ -10576,22 +10994,22 @@ "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "node_modules/jest-runner/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-snapshot/node_modules/to-regex-range": { + "node_modules/jest-runner/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/jest-runner/node_modules/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==", @@ -10603,331 +11021,372 @@ "node": ">=8.0" } }, - "node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "node_modules/jest-runner/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "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" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 8" } }, - "node_modules/jest-util/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 8.3" } }, - "node_modules/jest-util/node_modules/@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==", + "node_modules/jest-runtime/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, "dependencies": { - "@types/istanbul-lib-report": "*" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/jest-util/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/jest-runtime/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-runtime/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/jest-util/node_modules/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==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, + "node_modules/jest-runtime/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/jest-util/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/jest-runtime/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, "engines": { - "node": ">=0.12.0" + "node": ">= 8" } }, - "node_modules/jest-util/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "node_modules/jest-runtime/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=8.6" + "node": ">=8" } }, - "node_modules/jest-util/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/jest-runtime/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, "engines": { - "node": ">=8.6" + "node": ">=6" } }, - "node_modules/jest-util/node_modules/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==", + "node_modules/jest-runtime/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { - "is-number": "^7.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=8.0" + "node": ">=8" } }, - "node_modules/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==", - "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" - }, + "node_modules/jest-runtime/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 6" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/jest-validate/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "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" - }, + "node_modules/jest-runtime/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-validate/node_modules/@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==", - "dependencies": { - "@types/istanbul-lib-report": "*" + "node": ">=0.12.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/jest-runtime/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, "engines": { - "node": ">=10" + "node": ">= 8.3" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-runtime/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" }, "engines": { - "node": ">=4" + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/jest-watcher": { + "node_modules/jest-runtime/node_modules/jest-message-util": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "@jest/test-result": "^25.5.0", + "@babel/code-frame": "^7.0.0", "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", + "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-watcher/node_modules/@jest/console": { + "node_modules/jest-runtime/node_modules/jest-mock": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" + "@jest/types": "^25.5.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-watcher/node_modules/@jest/test-result": { + "node_modules/jest-runtime/node_modules/jest-serializer": { "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "graceful-fs": "^4.2.4" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest-watcher/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { - "type-fest": "^0.11.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-watcher/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/jest-runtime/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-watcher/node_modules/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==", + "node_modules/jest-runtime/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-watcher/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/jest-runtime/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/jest-watcher/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/jest-runtime/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/jest-runtime/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "braces": "^3.0.1", + "picomatch": "^2.0.5" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-watcher/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/jest-runtime/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-watcher/node_modules/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==", + "node_modules/jest-runtime/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/jest-watcher/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "node_modules/jest-runtime/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-watcher/node_modules/to-regex-range": { + "node_modules/jest-runtime/node_modules/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==", @@ -10939,60 +11398,60 @@ "node": ">=8.0" } }, - "node_modules/jest-watcher/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "node_modules/jest-runtime/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/jest-worker": { + "node_modules/jest-serializer": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", "dependencies": { "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "graceful-fs": "^4.2.4" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 10.14.2" } }, - "node_modules/jest/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", "dev": true, "dependencies": { + "@babel/types": "^7.0.0", "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" }, "engines": { "node": ">= 8.3" } }, - "node_modules/jest/node_modules/ansi-regex": { + "node_modules/jest-snapshot/node_modules/ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", @@ -11001,7 +11460,7 @@ "node": ">=8" } }, - "node_modules/jest/node_modules/braces": { + "node_modules/jest-snapshot/node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", @@ -11013,7 +11472,7 @@ "node": ">=8" } }, - "node_modules/jest/node_modules/fill-range": { + "node_modules/jest-snapshot/node_modules/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==", @@ -11025,7 +11484,7 @@ "node": ">=8" } }, - "node_modules/jest/node_modules/is-number": { + "node_modules/jest-snapshot/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", @@ -11034,35 +11493,7 @@ "node": ">=0.12.0" } }, - "node_modules/jest/node_modules/jest-cli": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", - "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", - "dev": true, - "dependencies": { - "@jest/core": "^25.5.4", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^25.5.4", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "prompts": "^2.0.1", - "realpath-native": "^2.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/jest-get-type": { + "node_modules/jest-snapshot/node_modules/jest-get-type": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", @@ -11071,7 +11502,7 @@ "node": ">= 8.3" } }, - "node_modules/jest/node_modules/jest-message-util": { + "node_modules/jest-snapshot/node_modules/jest-message-util": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", @@ -11090,40 +11521,7 @@ "node": ">= 8.3" } }, - "node_modules/jest/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/make-dir": { + "node_modules/jest-snapshot/node_modules/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==", @@ -11135,7 +11533,7 @@ "node": ">=8" } }, - "node_modules/jest/node_modules/micromatch": { + "node_modules/jest-snapshot/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", @@ -11148,7 +11546,7 @@ "node": ">=8" } }, - "node_modules/jest/node_modules/pretty-format": { + "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", @@ -11163,7 +11561,7 @@ "node": ">= 8.3" } }, - "node_modules/jest/node_modules/to-regex-range": { + "node_modules/jest-snapshot/node_modules/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==", @@ -11175,1517 +11573,1165 @@ "node": ">=8.0" } }, - "node_modules/jetifier": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.8.tgz", - "integrity": "sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==", - "bin": { - "jetifier": "bin/jetify", - "jetifier-standalone": "bin/jetifier-standalone", - "jetify": "bin/jetify" + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/joi": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", - "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" + "node_modules/jest-util/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "node_modules/jest-util/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "node_modules/js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "node_modules/jest-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "fill-range": "^7.0.1" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "node_modules/jsc-android": { - "version": "245459.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-245459.0.0.tgz", - "integrity": "sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==" - }, - "node_modules/jscodeshift": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", - "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "@babel/core": "^7.1.6", - "@babel/parser": "^7.1.6", - "@babel/plugin-proposal-class-properties": "^7.1.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", - "@babel/plugin-proposal-optional-chaining": "^7.1.0", - "@babel/plugin-transform-modules-commonjs": "^7.1.0", - "@babel/preset-flow": "^7.0.0", - "@babel/preset-typescript": "^7.1.0", - "@babel/register": "^7.0.0", - "babel-core": "^7.0.0-bridge.0", - "colors": "^1.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.20.3", - "temp": "^0.8.1", - "write-file-atomic": "^2.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" + "engines": { + "node": ">=4" } }, - "node_modules/jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", - "dev": true, + "node_modules/jest-util/node_modules/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==", "dependencies": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/jsdom/node_modules/ws": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", - "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", - "dev": true, + "node_modules/jest-util/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { - "node": ">=8.3.0" + "node": ">=0.12.0" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" + "node_modules/jest-util/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=4" + "node": ">=8.6" } }, - "node_modules/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==" - }, - "node_modules/json-parse-even-better-errors": { + "node_modules/jest-util/node_modules/picomatch": { "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==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } }, - "node_modules/json-stringify-safe": { + "node_modules/jest-util/node_modules/to-regex-range": { "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 - }, - "node_modules/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==", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" + "is-number": "^7.0.0" }, "engines": { - "node": ">=6" + "node": ">=8.0" } }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "node_modules/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==", "dependencies": { - "graceful-fs": "^4.1.6" + "@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" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], + "node_modules/jest-validate/node_modules/@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==", "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.1", - "object.assign": "^4.1.0" - }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { - "node": ">=4.0" + "node": ">=10" } }, - "node_modules/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==", + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "dev": true, "dependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "node_modules/jest-watcher/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/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==", + "node_modules/jest-watcher/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "node_modules/jest-watcher/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "type-fest": "^0.11.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "node_modules/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==", + "node_modules/jest-watcher/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { - "uc.micro": "^1.0.1" + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/jest-watcher/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "node_modules/lodash.frompairs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", - "integrity": "sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "node_modules/lodash.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" - }, - "node_modules/lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "node_modules/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==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" + "node_modules/jest-watcher/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" } }, - "node_modules/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==", + "node_modules/jest-watcher/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, "dependencies": { - "lodash._reinterpolate": "^3.0.0" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, "dependencies": { - "chalk": "^2.0.1" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/log-symbols/node_modules/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==", + "node_modules/jest-watcher/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "semver": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/jest-watcher/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/log-symbols/node_modules/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==", + "node_modules/jest-watcher/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { - "color-name": "1.1.3" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "node_modules/jest-watcher/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/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==", "dependencies": { - "has-flag": "^3.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">=4" + "node": ">= 10.13.0" } }, - "node_modules/logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "node_modules/jest/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" }, - "bin": { - "logkitty": "bin/logkitty.js" + "engines": { + "node": ">= 8.3" } }, - "node_modules/lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "node_modules/jest/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/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==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" + "node_modules/jest/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/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==", + "node_modules/jest/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "node": ">=8" } }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "node_modules/jest/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "to-regex-range": "^5.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { - "object-visit": "^1.0.0" - }, + "node_modules/jest/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.12.0" } }, - "node_modules/markdown-it": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", - "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "node_modules/jest/node_modules/jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "dev": true, "dependencies": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" }, "bin": { - "markdown-it": "bin/markdown-it.js" + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/markdown-it/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "node_modules/merge-deep": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", - "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", - "dependencies": { - "arr-union": "^3.1.0", - "clone-deep": "^0.2.4", - "kind-of": "^3.0.2" - }, + "node_modules/jest/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/merge-deep/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/jest/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "node_modules/jest/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, "dependencies": { - "is-plain-obj": "^2.1.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">= 8.3" } }, - "node_modules/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==" - }, - "node_modules/metro": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.64.0.tgz", - "integrity": "sha512-G2OC08Rzfs0kqnSEuKo2yZxR+/eNUpA93Ru45c60uN0Dw3HPrDi+ZBipgFftC6iLE0l+6hu8roFFIofotWxybw==", + "node_modules/jest/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/generator": "^7.5.0", - "@babel/parser": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "absolute-path": "^0.0.0", - "accepts": "^1.3.7", - "async": "^2.4.0", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "fs-extra": "^1.0.0", - "graceful-fs": "^4.1.3", - "image-size": "^0.6.0", - "invariant": "^2.2.4", - "jest-haste-map": "^26.5.2", - "jest-worker": "^26.0.0", - "lodash.throttle": "^4.1.1", - "metro-babel-register": "0.64.0", - "metro-babel-transformer": "0.64.0", - "metro-cache": "0.64.0", - "metro-cache-key": "0.64.0", - "metro-config": "0.64.0", - "metro-core": "0.64.0", - "metro-hermes-compiler": "0.64.0", - "metro-inspector-proxy": "0.64.0", - "metro-minify-uglify": "0.64.0", - "metro-react-native-babel-preset": "0.64.0", - "metro-resolver": "0.64.0", - "metro-runtime": "0.64.0", - "metro-source-map": "0.64.0", - "metro-symbolicate": "0.64.0", - "metro-transform-plugins": "0.64.0", - "metro-transform-worker": "0.64.0", - "mime-types": "^2.1.27", - "mkdirp": "^0.5.1", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^2.5.4", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "temp": "0.8.3", - "throat": "^5.0.0", - "ws": "^1.1.5", - "yargs": "^15.3.1" + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" }, - "bin": { - "metro": "src/cli.js" + "engines": { + "node": ">= 8.3" } }, - "node_modules/metro-babel-register": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.64.0.tgz", - "integrity": "sha512-Kf6YvE3kIRumGnjK0Q9LqGDIdnsX9eFGtNBmBuCVDuB9wGGA/5CgX8We8W7Y44dz1RGTcHJRhfw5iGg+pwC3aQ==", + "node_modules/jest/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, "dependencies": { - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/register": "^7.0.0", - "escape-string-regexp": "^1.0.5" + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/metro-babel-transformer": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.64.0.tgz", - "integrity": "sha512-itZaxKTgmKGEZWxNzbSZBc22NngrMZzoUNuU92aHSTGkYi2WH4XlvzEHsstmIKHMsRVKl75cA+mNmgk4gBFJKw==", + "node_modules/jest/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, "dependencies": { - "@babel/core": "^7.0.0", - "metro-source-map": "0.64.0", - "nullthrows": "^1.1.1" + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" } }, - "node_modules/metro-cache": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.64.0.tgz", - "integrity": "sha512-QvGfxe/1QQYM9XOlR8W1xqE9eHDw/AgJIgYGn/TxZxBu9Zga+Rgs1omeSZju45D8w5VWgMr83ma5kACgzvOecg==", + "node_modules/jest/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, "dependencies": { - "metro-core": "0.64.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/metro-cache-key": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.64.0.tgz", - "integrity": "sha512-O9B65G8L/fopck45ZhdRosyVZdMtUQuX5mBWEC1NRj02iWBIUPLmYMjrunqIe8vHipCMp3DtTCm/65IlBmO8jg==" - }, - "node_modules/metro-config": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.64.0.tgz", - "integrity": "sha512-QhM4asnX5KhlRWaugwVGNNXhX0Z85u5nK0UQ/A90bBb4xWyXqUe20e788VtdA75rkQiiI6wXTCIHWT0afbnjwQ==", + "node_modules/jest/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { - "cosmiconfig": "^5.0.5", - "jest-validate": "^26.5.2", - "metro": "0.64.0", - "metro-cache": "0.64.0", - "metro-core": "0.64.0", - "metro-runtime": "0.64.0" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/metro-core": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.64.0.tgz", - "integrity": "sha512-v8ZQ5j72EaUwamQ8pLfHlOHTyp7SbdazvHPzFGDpHnwIQqIT0Bw3Syg8R4regTlVG3ngpeSEAi005UITljmMcQ==", + "node_modules/jetifier": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.8.tgz", + "integrity": "sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==", + "bin": { + "jetifier": "bin/jetify", + "jetifier-standalone": "bin/jetifier-standalone", + "jetify": "bin/jetify" + } + }, + "node_modules/joi": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", + "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", "dependencies": { - "jest-haste-map": "^26.5.2", - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.64.0" + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" } }, - "node_modules/metro-hermes-compiler": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.64.0.tgz", - "integrity": "sha512-CLAjVDWGAoGhbi2ZyPHnH5YDdfrDIx6+tzFWfHGIMTZkYBXsYta9IfYXBV8lFb6BIbrXLjlXZAOoosknetMPOA==" + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/metro-inspector-proxy": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.64.0.tgz", - "integrity": "sha512-KywbH3GNSz9Iqw4UH3smgaV2dBHHYMISeN7ORntDL/G+xfgPc6vt13d+zFb907YpUcXj5N0vdoiAHI5V/0y8IA==", + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dependencies": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "ws": "^1.1.5", - "yargs": "^15.3.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { - "metro-inspector-proxy": "src/cli.js" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/metro-inspector-proxy/node_modules/ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", - "dependencies": { - "options": ">=0.0.5", - "ultron": "1.0.x" - } + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true }, - "node_modules/metro-minify-uglify": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.64.0.tgz", - "integrity": "sha512-DRwRstqXR5qfte9Nuwoov5dRXxL7fJeVlO5fGyOajWeO3+AgPjvjXh/UcLJqftkMWTPGUFuzAD5/7JC5v5FLWw==", + "node_modules/jsc-android": { + "version": "245459.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-245459.0.0.tgz", + "integrity": "sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==" + }, + "node_modules/jscodeshift": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", + "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", "dependencies": { - "uglify-es": "^3.1.9" + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", + "@babel/plugin-proposal-optional-chaining": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.3", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" } }, - "node_modules/metro-react-native-babel-preset": { - "version": "0.59.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz", - "integrity": "sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg==", + "node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", "dev": true, "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/metro-react-native-babel-transformer": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.64.0.tgz", - "integrity": "sha512-K1sHO3ODBFCr7uEiCQ4RvVr+cQg0EHQF8ChVPnecGh/WDD8udrTq9ECwB0dRfMjAvlsHtRUlJm6ZSI8UPgum2w==", - "dependencies": { - "@babel/core": "^7.0.0", - "babel-preset-fbjs": "^3.3.0", - "metro-babel-transformer": "0.64.0", - "metro-react-native-babel-preset": "0.64.0", - "metro-source-map": "0.64.0", - "nullthrows": "^1.1.1" + "node_modules/jsdom/node_modules/ws": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", + "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "dev": true, + "engines": { + "node": ">=8.3.0" } }, - "node_modules/metro-react-native-babel-transformer/node_modules/metro-react-native-babel-preset": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", - "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", - "dependencies": { - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" } }, - "node_modules/metro-resolver": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.64.0.tgz", - "integrity": "sha512-cJ26Id8Zf+HmS/1vFwu71K3u7ep/+HeXXAJIeVDYf+niE7AWB9FijyMtAlQgbD8elWqv1leJCnQ/xHRFBfGKYA==", - "dependencies": { - "absolute-path": "^0.0.0" - } + "node_modules/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==" }, - "node_modules/metro-runtime": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.64.0.tgz", - "integrity": "sha512-m7XbWOaIOeFX7YcxUhmnOi6Pg8EaeL89xyZ+quZyZVF1aNoTr4w8FfbKxvijpjsytKHIZtd+43m2Wt5JrqyQmQ==" + "node_modules/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==", + "dev": true }, - "node_modules/metro-source-map": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.64.0.tgz", - "integrity": "sha512-OCG2rtcp5cLEGYvAbfkl6mEc0J2FPRP4/UCEly+juBk7hawS9bCBMBfhJm/HIsvY1frk6nT2Vsl1O8YBbwyx2g==", - "dependencies": { - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.64.0", - "nullthrows": "^1.1.1", - "ob1": "0.64.0", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, - "node_modules/metro-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, - "node_modules/metro-symbolicate": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.64.0.tgz", - "integrity": "sha512-qIi+YRrDWnLVmydj6gwidYLPaBsakZRibGWSspuXgHAxOI3UuLwlo4dpQ73Et0gyHjI7ZvRMRY8JPiOntf9AQQ==", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/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 + }, + "node_modules/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==", "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.64.0", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" + "minimist": "^1.2.5" }, "bin": { - "metro-symbolicate": "src/index.js" + "json5": "lib/cli.js" }, "engines": { - "node": ">=8.3" - } - }, - "node_modules/metro-symbolicate/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/metro-transform-plugins": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.64.0.tgz", - "integrity": "sha512-iTIRBD/wBI98plfxj8jAoNUUXfXLNlyvcjPtshhpGvdwu9pzQilGfnDnOaaK+vbITcOk9w5oQectXyJwAqTr1A==", + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dependencies": { - "@babel/core": "^7.0.0", - "@babel/generator": "^7.5.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "nullthrows": "^1.1.1" + "graceful-fs": "^4.1.6" } }, - "node_modules/metro-transform-worker": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.64.0.tgz", - "integrity": "sha512-wegRtK8GyLF6IPZRBJp+zsORgA4iX0h1DRpknyAMDCtSbJ4VU2xV/AojteOgAsDvY3ucAGsvfuZLNDJHUdUNHQ==", - "dependencies": { - "@babel/core": "^7.0.0", - "@babel/generator": "^7.5.0", - "@babel/parser": "^7.0.0", - "@babel/types": "^7.0.0", - "babel-preset-fbjs": "^3.3.0", - "metro": "0.64.0", - "metro-babel-transformer": "0.64.0", - "metro-cache": "0.64.0", - "metro-cache-key": "0.64.0", - "metro-hermes-compiler": "0.64.0", - "metro-source-map": "0.64.0", - "metro-transform-plugins": "0.64.0", - "nullthrows": "^1.1.1" - } + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, - "node_modules/metro/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=4" + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" } }, - "node_modules/metro/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jsx-ast-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", + "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/metro/node_modules/fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - } - }, - "node_modules/metro/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dependencies": { - "graceful-fs": "^4.1.6" + "node": ">=4.0" } }, - "node_modules/metro/node_modules/metro-react-native-babel-preset": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", - "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", "dependencies": { - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" } }, - "node_modules/metro/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/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==", "engines": { "node": ">=0.10.0" } }, - "node_modules/metro/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/metro/node_modules/ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dependencies": { - "options": ">=0.0.5", - "ultron": "1.0.x" + "graceful-fs": "^4.1.9" } }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "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" - }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "node_modules/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==", "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, "dependencies": { - "mime-db": "1.44.0" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "immediate": "~3.0.5" } }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "node_modules/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==", "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "uc.micro": "^1.0.1" } }, - "node_modules/mixin-deep/node_modules/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==", + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { - "is-plain-object": "^2.0.4" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.frompairs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", + "integrity": "sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/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==", "dependencies": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" } }, - "node_modules/mixin-object/node_modules/for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "engines": { - "node": ">=0.10.0" + "node_modules/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==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" } }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dependencies": { - "minimist": "^1.2.5" + "chalk": "^2.0.1" }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/moment-timezone": { - "version": "0.5.33", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", - "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", + "node_modules/log-symbols/node_modules/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==", "dependencies": { - "moment": ">= 2.9.0" + "color-convert": "^1.9.0" }, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "bin": { - "nanoid": "bin/nanoid.cjs" + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=4" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/log-symbols/node_modules/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==", "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" - }, - "engines": { - "node": ">=0.10.0" + "color-name": "1.1.3" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "node_modules/ndef": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ndef/-/ndef-0.2.0.tgz", - "integrity": "sha512-yl0t0oexuIjNLs8MAF5xZ6rT9P635+ZnCt4sng/aJT8/8gqJ0niBpZoKsioLi+NUA7ydb20MqXo+rIdAQcihVg==", + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "engines": { - "node": ">=4.0.0" + "node": ">=4" } }, - "node_modules/ndef-lib": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ndef-lib/-/ndef-lib-0.0.7.tgz", - "integrity": "sha512-bP0z5AZy7brNOHJbbxPYPriIBrW40bBzC0v2JHigJUB9EvBUbobYEDwfQCL0zvKXggSkWDyR419X1TB1cKNy2A==", + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "requirejs": "^2.3.5" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "has-flag": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/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==" - }, - "node_modules/nfccard-tool": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/nfccard-tool/-/nfccard-tool-0.1.1.tgz", - "integrity": "sha512-XZGAHWQAWpx8Tm8shgQXmFeuSttj+Msp6RP5tRPPZ+q5IxX92p13AXxaN9ILhdx+xrEYQ6Dq+wsKduwzKo2d0A==", + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", "dependencies": { - "ndef-lib": "0.0.7" + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" } }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/nocache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", - "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==", - "engines": { - "node": ">=4.0.0" + "node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/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==", "dependencies": { - "minimatch": "^3.0.2" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": ">= 0.10.5" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "node_modules/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==", "dependencies": { - "whatwg-url": "^5.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - }, - "node_modules/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=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-notifier": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", - "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", - "dev": true, - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^6.3.0", - "shellwords": "^0.1.1", - "which": "^1.3.1" - } - }, - "node_modules/node-notifier/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "optional": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" - }, - "node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "node": ">=6" } }, - "node_modules/normalize-package-data/node_modules/semver": { + "node_modules/make-dir/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, "bin": { "semver": "bin/semver" } }, - "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "engines": { "node": ">=0.10.0" } }, - "node_modules/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=", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dependencies": { - "path-key": "^2.0.0" + "object-visit": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/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==", + "node_modules/markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/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, - "engines": { - "node": "*" + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" } }, - "node_modules/ob1": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.64.0.tgz", - "integrity": "sha512-CO1N+5dhvy+MoAwxz8+fymEUcwsT4a+wHhrHFb02LppcJdHxgcBWviwEhUwKOD2kLMQ7ijrrzybOqpGcqEtvpQ==" + "node_modules/markdown-it/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } + "node_modules/mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", "dependencies": { - "is-descriptor": "^0.1.0" + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy/node_modules/kind-of": { + "node_modules/merge-deep/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", @@ -12696,3504 +12742,3697 @@ "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "dependencies": { - "isobject": "^3.0.0" + "is-plain-obj": "^2.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } + "node_modules/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==" }, - "node_modules/object.entries": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", - "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", - "dev": true, + "node_modules/metro": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.64.0.tgz", + "integrity": "sha512-G2OC08Rzfs0kqnSEuKo2yZxR+/eNUpA93Ru45c60uN0Dw3HPrDi+ZBipgFftC6iLE0l+6hu8roFFIofotWxybw==", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "has": "^1.0.3" + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "absolute-path": "^0.0.0", + "accepts": "^1.3.7", + "async": "^2.4.0", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "fs-extra": "^1.0.0", + "graceful-fs": "^4.1.3", + "image-size": "^0.6.0", + "invariant": "^2.2.4", + "jest-haste-map": "^26.5.2", + "jest-worker": "^26.0.0", + "lodash.throttle": "^4.1.1", + "metro-babel-register": "0.64.0", + "metro-babel-transformer": "0.64.0", + "metro-cache": "0.64.0", + "metro-cache-key": "0.64.0", + "metro-config": "0.64.0", + "metro-core": "0.64.0", + "metro-hermes-compiler": "0.64.0", + "metro-inspector-proxy": "0.64.0", + "metro-minify-uglify": "0.64.0", + "metro-react-native-babel-preset": "0.64.0", + "metro-resolver": "0.64.0", + "metro-runtime": "0.64.0", + "metro-source-map": "0.64.0", + "metro-symbolicate": "0.64.0", + "metro-transform-plugins": "0.64.0", + "metro-transform-worker": "0.64.0", + "mime-types": "^2.1.27", + "mkdirp": "^0.5.1", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^2.5.4", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "temp": "0.8.3", + "throat": "^5.0.0", + "ws": "^1.1.5", + "yargs": "^15.3.1" }, - "engines": { - "node": ">= 0.4" + "bin": { + "metro": "src/cli.js" } }, - "node_modules/object.entries/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, + "node_modules/metro-babel-register": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.64.0.tgz", + "integrity": "sha512-Kf6YvE3kIRumGnjK0Q9LqGDIdnsX9eFGtNBmBuCVDuB9wGGA/5CgX8We8W7Y44dz1RGTcHJRhfw5iGg+pwC3aQ==", "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/register": "^7.0.0", + "escape-string-regexp": "^1.0.5" } }, - "node_modules/object.fromentries": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", - "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", - "dev": true, + "node_modules/metro-babel-transformer": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.64.0.tgz", + "integrity": "sha512-itZaxKTgmKGEZWxNzbSZBc22NngrMZzoUNuU92aHSTGkYi2WH4XlvzEHsstmIKHMsRVKl75cA+mNmgk4gBFJKw==", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" + "@babel/core": "^7.0.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1" } }, - "node_modules/object.fromentries/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, + "node_modules/metro-cache": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.64.0.tgz", + "integrity": "sha512-QvGfxe/1QQYM9XOlR8W1xqE9eHDw/AgJIgYGn/TxZxBu9Zga+Rgs1omeSZju45D8w5VWgMr83ma5kACgzvOecg==", "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "metro-core": "0.64.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "node_modules/metro-cache-key": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.64.0.tgz", + "integrity": "sha512-O9B65G8L/fopck45ZhdRosyVZdMtUQuX5mBWEC1NRj02iWBIUPLmYMjrunqIe8vHipCMp3DtTCm/65IlBmO8jg==" + }, + "node_modules/metro-config": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.64.0.tgz", + "integrity": "sha512-QhM4asnX5KhlRWaugwVGNNXhX0Z85u5nK0UQ/A90bBb4xWyXqUe20e788VtdA75rkQiiI6wXTCIHWT0afbnjwQ==", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" + "cosmiconfig": "^5.0.5", + "jest-validate": "^26.5.2", + "metro": "0.64.0", + "metro-cache": "0.64.0", + "metro-core": "0.64.0", + "metro-runtime": "0.64.0" } }, - "node_modules/object.getownpropertydescriptors/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "node_modules/metro-core": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.64.0.tgz", + "integrity": "sha512-v8ZQ5j72EaUwamQ8pLfHlOHTyp7SbdazvHPzFGDpHnwIQqIT0Bw3Syg8R4regTlVG3ngpeSEAi005UITljmMcQ==", "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "jest-haste-map": "^26.5.2", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.64.0" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/metro-hermes-compiler": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.64.0.tgz", + "integrity": "sha512-CLAjVDWGAoGhbi2ZyPHnH5YDdfrDIx6+tzFWfHGIMTZkYBXsYta9IfYXBV8lFb6BIbrXLjlXZAOoosknetMPOA==" + }, + "node_modules/metro-inspector-proxy": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.64.0.tgz", + "integrity": "sha512-KywbH3GNSz9Iqw4UH3smgaV2dBHHYMISeN7ORntDL/G+xfgPc6vt13d+zFb907YpUcXj5N0vdoiAHI5V/0y8IA==", "dependencies": { - "isobject": "^3.0.1" + "connect": "^3.6.5", + "debug": "^2.2.0", + "ws": "^1.1.5", + "yargs": "^15.3.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "metro-inspector-proxy": "src/cli.js" } }, - "node_modules/object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "node_modules/metro-inspector-proxy/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" + "options": ">=0.0.5", + "ultron": "1.0.x" } }, - "node_modules/object.values/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "node_modules/metro-minify-uglify": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.64.0.tgz", + "integrity": "sha512-DRwRstqXR5qfte9Nuwoov5dRXxL7fJeVlO5fGyOajWeO3+AgPjvjXh/UcLJqftkMWTPGUFuzAD5/7JC5v5FLWw==", "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "uglify-es": "^3.1.9" } }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "node_modules/metro-react-native-babel-preset": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz", + "integrity": "sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg==", + "dev": true, + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" } }, - "node_modules/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==", - "engines": { - "node": ">= 0.8" + "node_modules/metro-react-native-babel-transformer": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.64.0.tgz", + "integrity": "sha512-K1sHO3ODBFCr7uEiCQ4RvVr+cQg0EHQF8ChVPnecGh/WDD8udrTq9ECwB0dRfMjAvlsHtRUlJm6ZSI8UPgum2w==", + "dependencies": { + "@babel/core": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "metro-babel-transformer": "0.64.0", + "metro-react-native-babel-preset": "0.64.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "node_modules/metro-react-native-babel-transformer/node_modules/metro-react-native-babel-preset": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", + "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", "dependencies": { - "wrappy": "1" + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" } }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "node_modules/metro-resolver": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.64.0.tgz", + "integrity": "sha512-cJ26Id8Zf+HmS/1vFwu71K3u7ep/+HeXXAJIeVDYf+niE7AWB9FijyMtAlQgbD8elWqv1leJCnQ/xHRFBfGKYA==", "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" + "absolute-path": "^0.0.0" } }, - "node_modules/open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "node_modules/metro-runtime": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.64.0.tgz", + "integrity": "sha512-m7XbWOaIOeFX7YcxUhmnOi6Pg8EaeL89xyZ+quZyZVF1aNoTr4w8FfbKxvijpjsytKHIZtd+43m2Wt5JrqyQmQ==" + }, + "node_modules/metro-source-map": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.64.0.tgz", + "integrity": "sha512-OCG2rtcp5cLEGYvAbfkl6mEc0J2FPRP4/UCEly+juBk7hawS9bCBMBfhJm/HIsvY1frk6nT2Vsl1O8YBbwyx2g==", "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=8" + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.64.0", + "nullthrows": "^1.1.1", + "ob1": "0.64.0", + "source-map": "^0.5.6", + "vlq": "^1.0.0" } }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "bin": { - "opencollective-postinstall": "index.js" + "node_modules/metro-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, + "node_modules/metro-symbolicate": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.64.0.tgz", + "integrity": "sha512-qIi+YRrDWnLVmydj6gwidYLPaBsakZRibGWSspuXgHAxOI3UuLwlo4dpQ73Et0gyHjI7ZvRMRY8JPiOntf9AQQ==", "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" + "invariant": "^2.2.4", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8.3" } }, - "node_modules/options": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "node_modules/metro-symbolicate/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "node_modules/ora": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "node_modules/metro-transform-plugins": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.64.0.tgz", + "integrity": "sha512-iTIRBD/wBI98plfxj8jAoNUUXfXLNlyvcjPtshhpGvdwu9pzQilGfnDnOaaK+vbITcOk9w5oQectXyJwAqTr1A==", "dependencies": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=6" + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "nullthrows": "^1.1.1" } }, - "node_modules/ora/node_modules/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==", + "node_modules/metro-transform-worker": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.64.0.tgz", + "integrity": "sha512-wegRtK8GyLF6IPZRBJp+zsORgA4iX0h1DRpknyAMDCtSbJ4VU2xV/AojteOgAsDvY3ucAGsvfuZLNDJHUdUNHQ==", "dependencies": { - "color-convert": "^1.9.0" - }, + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/types": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "metro": "0.64.0", + "metro-babel-transformer": "0.64.0", + "metro-cache": "0.64.0", + "metro-cache-key": "0.64.0", + "metro-hermes-compiler": "0.64.0", + "metro-source-map": "0.64.0", + "metro-transform-plugins": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=4" } }, - "node_modules/ora/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" + "node_modules/metro/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=4" } }, - "node_modules/ora/node_modules/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==", + "node_modules/metro/node_modules/fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dependencies": { - "color-name": "1.1.3" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" } }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "node_modules/metro/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } }, - "node_modules/ora/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "node_modules/metro/node_modules/metro-react-native-babel-preset": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", + "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/ora/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/metro/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "has-flag": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=4" } }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" + "node_modules/metro/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" } }, - "node_modules/p-each-series": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", - "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", - "dev": true, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "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" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, "engines": { "node": ">=4" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, + "node_modules/mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/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==", + "node_modules/mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "dependencies": { - "p-limit": "^2.2.0" + "mime-db": "1.44.0" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/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==", + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dependencies": { - "callsites": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/mixin-deep/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "node_modules/mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dependencies": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "node_modules/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/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=", + "node_modules/mixin-object/node_modules/for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", "engines": { "node": ">=0.10.0" } }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==" - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "engines": { - "node": ">=8.6" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dependencies": { - "node-modules-regexp": "^1.0.0" + "minimist": "^1.2.5" }, - "engines": { - "node": ">= 6" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/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==", - "dependencies": { - "find-up": "^3.0.0" - }, + "node_modules/moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/moment-timezone": { + "version": "0.5.33", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", + "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", "dependencies": { - "locate-path": "^3.0.0" + "moment": ">= 2.9.0" }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/nanoid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/pkg-dir/node_modules/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==", + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dependencies": { - "p-limit": "^2.0.0" + "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" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/ndef": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ndef/-/ndef-0.2.0.tgz", + "integrity": "sha512-yl0t0oexuIjNLs8MAF5xZ6rT9P635+ZnCt4sng/aJT8/8gqJ0niBpZoKsioLi+NUA7ydb20MqXo+rIdAQcihVg==", "engines": { - "node": ">=4" + "node": ">=4.0.0" } }, - "node_modules/plist": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", - "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", + "node_modules/ndef-lib": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ndef-lib/-/ndef-lib-0.0.7.tgz", + "integrity": "sha512-bP0z5AZy7brNOHJbbxPYPriIBrW40bBzC0v2JHigJUB9EvBUbobYEDwfQCL0zvKXggSkWDyR419X1TB1cKNy2A==", "dependencies": { - "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7" - }, - "engines": { - "node": ">=6" + "requirejs": "^2.3.5" } }, - "node_modules/plist/node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "node_modules/pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { - "node": ">=4.0.0" + "node": ">= 0.6" } }, - "node_modules/posix-character-classes": { + "node_modules/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==" + }, + "node_modules/nfccard-tool": { "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=", - "engines": { - "node": ">=0.10.0" + "resolved": "https://registry.npmjs.org/nfccard-tool/-/nfccard-tool-0.1.1.tgz", + "integrity": "sha512-XZGAHWQAWpx8Tm8shgQXmFeuSttj+Msp6RP5tRPPZ+q5IxX92p13AXxaN9ILhdx+xrEYQ6Dq+wsKduwzKo2d0A==", + "dependencies": { + "ndef-lib": "0.0.7" } }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, - "node_modules/prettier": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", - "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, + "node_modules/nocache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", + "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==", "engines": { - "node": ">=10.13.0" + "node": ">=4.0.0" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", "dependencies": { - "fast-diff": "^1.1.2" + "minimatch": "^3.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.10.5" } }, - "node_modules/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==", + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/pretty-format/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "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" + "node": "4.x || >=6.0.0" }, - "engines": { - "node": ">= 6" + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/pretty-format/node_modules/@types/istanbul-reports": { + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { - "@types/istanbul-lib-report": "*" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node_modules/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=", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/pretty-format/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node_modules/node-notifier/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/pretty-format/node_modules/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==" - }, - "node_modules/process-nextick-args": { + "node_modules/node-releases": { "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==" + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, "dependencies": { - "asap": "~2.0.6" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.4" + "remove-trailing-separator": "^1.0.1" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "node_modules/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=", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/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==", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "boolbase": "~1.0.0" } }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/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, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "node_modules/ob1": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.64.0.tgz", + "integrity": "sha512-CO1N+5dhvy+MoAwxz8+fymEUcwsT4a+wHhrHFb02LppcJdHxgcBWviwEhUwKOD2kLMQ7ijrrzybOqpGcqEtvpQ==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">=0.10.0" } }, - "node_modules/qrcode": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", - "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dependencies": { - "buffer": "^5.4.3", - "buffer-alloc": "^1.2.0", - "buffer-from": "^1.1.1", - "dijkstrajs": "^1.0.1", - "isarray": "^2.0.1", - "pngjs": "^3.3.0", - "yargs": "^13.2.4" - }, - "bin": { - "qrcode": "bin/qrcode" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/qrcode/node_modules/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==", + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dependencies": { - "color-convert": "^1.9.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/qrcode/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/qrcode/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/qrcode/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/qrcode/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/qrcode/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "locate-path": "^3.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/qrcode/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" }, - "node_modules/qrcode/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/qrcode/node_modules/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==", + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dependencies": { - "p-limit": "^2.0.0" + "isobject": "^3.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/qrcode/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/qrcode/node_modules/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==", + "node_modules/object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/qrcode/node_modules/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==", + "node_modules/object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/qrcode/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "node_modules/object.entries/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, "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" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/qrcode/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "node_modules/object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "node_modules/object.fromentries/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, "engines": { - "node": ">=0.6" + "node": ">= 0.4" } }, - "node_modules/query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "dependencies": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" }, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/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==", + "node_modules/object.getownpropertydescriptors/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/react-devtools-core": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.0.tgz", - "integrity": "sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg==", + "node_modules/object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/react-devtools-core/node_modules/ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "node_modules/object.values/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, "engines": { - "node": ">=8.3.0" + "node": ">= 0.4" } }, - "node_modules/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==" - }, - "node_modules/react-moment": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/react-moment/-/react-moment-0.9.7.tgz", - "integrity": "sha512-ifzUrUGF6KRsUN2pRG5k56kO0mJBr8kRkWb0wNvtFIsBIxOuPxhUpL1YlXwpbQCbHq23hUu6A0VEk64HsFxk9g==" - }, - "node_modules/react-native": { - "version": "0.64.1", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.64.1.tgz", - "integrity": "sha512-jvSj+hNAfwvhaSmxd5KHJ5HidtG0pDXzoH6DaqNpU74g3CmAiA8vuk58B5yx/DYuffGq6PeMniAcwuh3Xp4biQ==", + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dependencies": { - "@jest/create-cache-key-function": "^26.5.0", - "@react-native-community/cli": "^5.0.1-alpha.0", - "@react-native-community/cli-platform-android": "^5.0.1-alpha.0", - "@react-native-community/cli-platform-ios": "^5.0.1-alpha.0", - "@react-native/assets": "1.0.0", - "@react-native/normalize-color": "1.0.0", - "@react-native/polyfills": "1.0.0", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "base64-js": "^1.1.2", - "event-target-shim": "^5.0.1", - "hermes-engine": "~0.7.0", - "invariant": "^2.2.4", - "jsc-android": "^245459.0.0", - "metro-babel-register": "0.64.0", - "metro-react-native-babel-transformer": "0.64.0", - "metro-runtime": "0.64.0", - "metro-source-map": "0.64.0", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.0.3", - "prop-types": "^15.7.2", - "react-devtools-core": "^4.6.0", - "react-native-codegen": "^0.0.6", - "react-refresh": "^0.4.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "^0.20.1", - "shelljs": "^0.8.4", - "stacktrace-parser": "^0.1.3", - "use-subscription": "^1.0.0", - "whatwg-fetch": "^3.0.0", - "ws": "^6.1.4" - }, - "bin": { - "react-native": "cli.js" + "ee-first": "1.1.1" }, "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/react-native-app-auth": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/react-native-app-auth/-/react-native-app-auth-6.4.0.tgz", - "integrity": "sha512-m9DOM/Bgplrk6gD+sqshsbdG9XB4eSaA4rZXuPnwTXYTcHxCy0KvJ3jRDLKDY1im78lXNnifGeHicv7chGAwQw==", - "dependencies": { - "invariant": "2.2.4", - "react-native-base64": "0.0.2" + "node_modules/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==", + "engines": { + "node": ">= 0.8" } }, - "node_modules/react-native-base64": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/react-native-base64/-/react-native-base64-0.0.2.tgz", - "integrity": "sha512-Fu/J1a2y0X22EJDWqJR2oEa1fpP4gTFjYxk8ElJdt1Yak3HOXmFJ7EohLVHU2DaQkgmKfw8qb7u/48gpzveRbg==" - }, - "node_modules/react-native-camera": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-4.2.1.tgz", - "integrity": "sha512-+Vkql24PFYQfsPRznJCvPwJQfyzCnjlcww/iZ4Ej80bgivKjL9eU0IMQIXp4yi6XCrKi4voWXxIDPMupQZKeIQ==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dependencies": { - "prop-types": "^15.6.2" + "wrappy": "1" } }, - "node_modules/react-native-codegen": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.0.6.tgz", - "integrity": "sha512-cMvrUelD81wiPitEPiwE/TCNscIVauXxmt4NTGcy18HrUd0WRWXfYzAQGXm0eI87u3NMudNhqFj2NISJenxQHg==", + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dependencies": { - "flow-parser": "^0.121.0", - "jscodeshift": "^0.11.0", - "nullthrows": "^1.1.1" + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/react-native-dark-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/react-native-dark-mode/-/react-native-dark-mode-0.2.2.tgz", - "integrity": "sha512-2vhWOOimU7DRKYjCU/pdv0+JpnGKURq5+c7bre093Jtzk57HtlJfd+ViibbC9Y8zh0viIOyKtfL5mYhVhZ6Crw==", + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", "dependencies": { - "@types/events": "*", - "@types/react": "*", - "@types/react-native": "*", - "events": "^3.0.0", - "toolkit.ts": "^0.0.2" + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/react-native-elements": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.3.2.tgz", - "integrity": "sha512-HygYYmq8JYjk/YYiUwr/64qT64H2xlPBz0JnkGTQwvnnyXZrfkHFopw8rLWCupv3iLLPDzVohvPs0Z5HLdonSQ==", + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, "dependencies": { - "@types/react-native-vector-icons": "^6.4.5", - "color": "^3.1.0", - "deepmerge": "^4.2.2", - "hoist-non-react-statics": "^3.1.0", - "lodash.isequal": "^4.5.0", - "opencollective-postinstall": "^2.0.0", - "prop-types": "^15.7.2", - "react-native-ratings": "^7.2.0", - "react-native-status-bar-height": "^2.5.0" + "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" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/react-native-elements/node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "node_modules/options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/react-native-fit-image": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/react-native-fit-image/-/react-native-fit-image-1.5.5.tgz", - "integrity": "sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==", + "node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", "dependencies": { - "prop-types": "^15.5.10" + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" } }, - "node_modules/react-native-gesture-handler": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.10.3.tgz", - "integrity": "sha512-cBGMi1IEsIVMgoox4RvMx7V2r6bNKw0uR1Mu1o7NbuHS6BRSVLq0dP34l2ecnPlC+jpWd3le6Yg1nrdCjby2Mw==", + "node_modules/ora/node_modules/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==", "dependencies": { - "@egjs/hammerjs": "^2.0.17", - "fbjs": "^3.0.0", - "hoist-non-react-statics": "^3.3.0", - "invariant": "^2.2.4", - "prop-types": "^15.7.2" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/react-native-gesture-handler/node_modules/fbjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", - "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "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" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/react-native-gesture-handler/node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "node_modules/ora/node_modules/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==", "dependencies": { - "asap": "~2.0.3" + "color-name": "1.1.3" } }, - "node_modules/react-native-iphone-x-helper": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", - "integrity": "sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==" + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "node_modules/react-native-markdown-renderer": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/react-native-markdown-renderer/-/react-native-markdown-renderer-3.2.8.tgz", - "integrity": "sha512-gDT5r3lwecNsEfpKagSaidEGfmCbpVcmV+HHLjaGYRALJoHkpOFni0rJZW1rCerOR9sjaUNGXE66U7BUrlEw0w==", - "dependencies": { - "@types/markdown-it": "^0.0.4", - "@types/react-native": ">=0.50.0", - "markdown-it": "^8.4.0", - "prop-types": "^15.5.10", - "react-native-fit-image": "^1.5.2" + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" } }, - "node_modules/react-native-permissions": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.3.0.tgz", - "integrity": "sha512-F0Yjcp0V340lQW2ibg1lTGmStsMoWsBtosSCRIZOatOQAsNMp77zL6SdYcIGwJUBMVDX3BMraB4AX4Ph3cW1NA==" + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/react-native-push-notification": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/react-native-push-notification/-/react-native-push-notification-7.4.0.tgz", - "integrity": "sha512-Ac3Ep71e2D8Q/Vy0OHBAO5JwhsFsNSuf9knkpXQWS0B9488nIZJLEMuTpF8610xPvGw7XxVrL/q0oZO5F1pOzw==" + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/react-native-qrcode-scanner": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/react-native-qrcode-scanner/-/react-native-qrcode-scanner-1.5.5.tgz", - "integrity": "sha512-il79uStkFqUvofqXJQfOL30qgQyU17MUKxj7IGHv6oT2OxIY/vutTwuPPDbsivtv0yTMHP4dGx/79oys4eAuNw==", - "dependencies": { - "@react-native-async-storage/async-storage": "^1.13.4", - "prop-types": "^15.5.10", - "react-native-permissions": "^2.0.2" + "node_modules/p-each-series": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", + "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/react-native-qrcode-scanner/node_modules/react-native-permissions": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-2.2.2.tgz", - "integrity": "sha512-ihf4shQDSX5Oo9ChQXb9kr13mmyyNem5MaEvOpr3dCjhBOBWyEMztXm9/uPK1Qg5PsNpaYLa1KpcPZDCw87LXg==" + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "engines": { + "node": ">=4" + } }, - "node_modules/react-native-qrcode-svg": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.0.6.tgz", - "integrity": "sha512-b+/teD+xj17VDujJzf956U2+9mX+gKwVJss2aqmhEIyjP7+TVOuE08D3UkzfOCWXE8gppcUTTz5gkY1NXgfwyQ==", + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "prop-types": "^15.5.10", - "qrcode": "^1.3.2" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/react-native-ratings": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-7.3.0.tgz", - "integrity": "sha512-NCDIkmrVPnxPzP9zKdlcNpa2rPs3Hiv2qXsojUr3FpwbANWfgYE+jjGSSCBcS3vpXndTjhoaTGFDnybnUSFPFA==", + "node_modules/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==", "dependencies": { - "lodash": "^4.17.15", - "prop-types": "^15.7.2" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/react-native-raw-bottom-sheet": { + "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/react-native-raw-bottom-sheet/-/react-native-raw-bottom-sheet-2.2.0.tgz", - "integrity": "sha512-qL4JKIqvbcVxbkKzeh51hjV7suoJN3ouxzvLmOg0FBUV1yiJAfEbacjQdtRCI6+OU5pyGFBIifLsTXcFDwHggg==" - }, - "node_modules/react-native-reanimated": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.13.3.tgz", - "integrity": "sha512-i714H24dv6ncpFO7/SZ0PfAMbvjgVbF8Ow2NPtowoZAz8osS54DmTMrkgJ9Za+uEku/s0AEaxqiXG2Xgntvv2g==", - "dependencies": { - "fbjs": "^1.0.0" + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" } }, - "node_modules/react-native-safe-area-context": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz", - "integrity": "sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==" - }, - "node_modules/react-native-screens": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.18.1.tgz", - "integrity": "sha512-r5WZLpmx2hHjC1RgMdPq5YpSU9tEhBpUaZ5M1SUtNIONyiLqQVxabhRCINdebIk4depJiIl7yw2Q85zJyeX6fw==" - }, - "node_modules/react-native-status-bar-height": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/react-native-status-bar-height/-/react-native-status-bar-height-2.5.0.tgz", - "integrity": "sha512-sYBCPYA/NapBSHkdm/IVL4ID3LLlIuLqINi2FBDyMkc2BU9pfSGOtkz9yfxoK39mYJuTrlTOQ7mManARUsYDSA==" + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, - "node_modules/react-native-svg": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.1.tgz", - "integrity": "sha512-NIAJ8jCnXGCqGWXkkJ1GTzO4a3Md5at5sagYV8Vh4MXYnL4z5Rh428Wahjhh+LIjx40EE5xM5YtwyJBqOIba2Q==", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, "dependencies": { - "css-select": "^2.1.0", - "css-tree": "^1.0.0-alpha.39" + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/react-native-svg-transformer": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-0.14.3.tgz", - "integrity": "sha512-agDGdMeeBAsWEgg/u7mjtR2Z3c8smGCLep/n3svwifut9dpswZCP+bSIrU8ekg6RNtxAJL+eGJbWjJ38vWxw6g==", + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dependencies": { - "@svgr/core": "^4.3.3", - "@svgr/plugin-svgo": "^4.3.1", - "path-dirname": "^1.0.2", - "semver": "^5.6.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/react-native-svg-transformer/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" } }, - "node_modules/react-native-user-agent": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/react-native-user-agent/-/react-native-user-agent-2.3.1.tgz", - "integrity": "sha512-AIFr1VgJHwgWmMwCOmIGxuBeAaADlouXKc10UyR4fzWneUbt5uIJIoRu2oExlfCtiT8IyCp106khDD5vx7RUjw==", - "peerDependencies": { - "react-native": "*" + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/react-native-vector-icons": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-7.1.0.tgz", - "integrity": "sha512-V2a1zJ4i+kS8O4j183gIwX14St9AxxXabxwYpFBgRhvr2NDXyFcjHDEAgrOYYlt2W57e20aN1tBDU/I+wn9WtQ==", - "dependencies": { - "lodash.frompairs": "^4.0.1", - "lodash.isequal": "^4.5.0", - "lodash.isstring": "^4.0.1", - "lodash.omit": "^4.5.0", - "lodash.pick": "^4.4.0", - "lodash.template": "^4.5.0", - "prop-types": "^15.7.2", - "yargs": "^15.0.2" - }, - "bin": { - "fa5-upgrade": "bin/fa5-upgrade.sh", - "generate-icon": "bin/generate-icon.js" + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/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==", + "engines": { + "node": ">=8" } }, - "node_modules/react-native-webview": { - "version": "11.23.1", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.23.1.tgz", - "integrity": "sha512-bmqsdg4RYOUYD37R9XTrQALm7eD62KbLNPRfgvpLGd1SjaurvAjjsLrLN4mt6yOtKOMKeZvlcAl3x6De6cCQsA==", - "dependencies": { - "escape-string-regexp": "2.0.0", - "invariant": "2.2.4" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" + "node_modules/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=", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/react-native-webview/node_modules/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==", + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/react-native/node_modules/@react-native-community/cli": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-5.0.1.tgz", - "integrity": "sha512-9VzSYUYSEqxEH5Ib2UNSdn2eyPiYZ4T7Y79o9DKtRBuSaUIwbCUdZtIm+UUjBpLS1XYBkW26FqL8/UdZDmQvXw==", - "dependencies": { - "@react-native-community/cli-debugger-ui": "^5.0.1", - "@react-native-community/cli-hermes": "^5.0.1", - "@react-native-community/cli-server-api": "^5.0.1", - "@react-native-community/cli-tools": "^5.0.1", - "@react-native-community/cli-types": "^5.0.1", - "appdirsjs": "^1.2.4", - "chalk": "^3.0.0", - "command-exists": "^1.2.8", - "commander": "^2.19.0", - "cosmiconfig": "^5.1.0", - "deepmerge": "^3.2.0", - "envinfo": "^7.7.2", - "execa": "^1.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.3", - "graceful-fs": "^4.1.3", - "joi": "^17.2.1", - "leven": "^3.1.0", - "lodash": "^4.17.15", - "metro": "^0.64.0", - "metro-config": "^0.64.0", - "metro-core": "^0.64.0", - "metro-react-native-babel-transformer": "^0.64.0", - "metro-resolver": "^0.64.0", - "metro-runtime": "^0.64.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "node-stream-zip": "^1.9.1", - "ora": "^3.4.0", - "pretty-format": "^26.6.2", - "prompts": "^2.4.0", - "semver": "^6.3.0", - "serve-static": "^1.13.1", - "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", - "wcwidth": "^1.0.1" - }, - "bin": { - "react-native": "build/bin.js" - }, + "node_modules/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==" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "engines": { - "node": ">=12" + "node": ">=8.6" } }, - "node_modules/react-native/node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "node-modules-regexp": "^1.0.0" }, "engines": { "node": ">= 6" } }, - "node_modules/react-native/node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "node_modules/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==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "find-up": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/react-test-renderer": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz", - "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==", - "dev": true, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dependencies": { - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "react-is": "^16.8.6", - "scheduler": "^0.19.1" + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/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==", - "dev": true, + "node_modules/pkg-dir/node_modules/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==", "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/read-pkg/node_modules/parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, + "node_modules/plist": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", + "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", "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" + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/read-pkg/node_modules/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==", - "dev": true, + "node_modules/plist/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/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==", - "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" + "node_modules/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=", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/realpath-native": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", - "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/recast": { - "version": "0.20.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", - "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "node_modules/prettier": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", + "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, "dependencies": { - "ast-types": "0.14.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">= 4" + "node": ">=6.0.0" } }, - "node_modules/recast/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/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==", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/recast/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "node_modules/pretty-format/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dependencies": { - "resolve": "^1.1.6" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 6" } }, - "node_modules/regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" + "node_modules/pretty-format/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "node_modules/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==", + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "regenerate": "^1.4.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "node_modules/pretty-format/node_modules/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==" }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dependencies": { - "@babel/runtime": "^7.8.4" + "node_modules/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==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" + "asap": "~2.0.6" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "node_modules/prompts": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", + "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" }, "engines": { - "node": ">= 0.4" + "node": ">= 6" } }, - "node_modules/regexp.prototype.flags/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, + "node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" }, - "engines": { - "node": ">= 0.4" + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" } }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qrcode": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", "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" + "buffer": "^5.4.3", + "buffer-alloc": "^1.2.0", + "buffer-from": "^1.1.1", + "dijkstrajs": "^1.0.1", + "isarray": "^2.0.1", + "pngjs": "^3.3.0", + "yargs": "^13.2.4" + }, + "bin": { + "qrcode": "bin/qrcode" }, "engines": { "node": ">=4" } }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "node_modules/regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "node_modules/qrcode/node_modules/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==", "dependencies": { - "jsesc": "~0.5.0" + "color-convert": "^1.9.0" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": ">=4" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "bin": { - "jsesc": "bin/jsesc" + "node_modules/qrcode/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, - "node_modules/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=" + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } }, - "node_modules/repeat-element": { + "node_modules/qrcode/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "engines": { - "node": ">=0.10.0" - } + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } + "node_modules/qrcode/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, + "node_modules/qrcode/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "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" + "locate-path": "^3.0.0" }, "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, + "node_modules/qrcode/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/qrcode/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dependencies": { - "lodash": "^4.17.19" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, + "node_modules/qrcode/node_modules/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==", "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=0.12.0" + "node": ">=6" } }, - "node_modules/request-promise-native/node_modules/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, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, + "node_modules/qrcode/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "engines": { - "node": ">=0.8" + "node": ">=4" } }, - "node_modules/request/node_modules/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, + "node_modules/qrcode/node_modules/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==", "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=0.8" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/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==" - }, - "node_modules/requirejs": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", - "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", - "bin": { - "r_js": "bin/r.js", - "r.js": "bin/r.js" + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=6" } }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "node_modules/qrcode/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dependencies": { - "path-parse": "^1.0.6" + "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" } }, - "node_modules/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==", - "dev": true, + "node_modules/qrcode/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/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, "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" + "node": ">=0.6" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "node_modules/query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/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==", "engines": { - "node": ">=0.12" + "node": ">= 0.6" } }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/react": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", + "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", "dependencies": { - "glob": "^7.1.3" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "engines": { - "node": "6.* || >= 7.*" + "node_modules/react-devtools-core": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.0.tgz", + "integrity": "sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg==", + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", "engines": { - "node": ">=0.12.0" + "node": ">=8.3.0" } }, - "node_modules/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==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } + "node_modules/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==" }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "node_modules/react-moment": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/react-moment/-/react-moment-0.9.7.tgz", + "integrity": "sha512-ifzUrUGF6KRsUN2pRG5k56kO0mJBr8kRkWb0wNvtFIsBIxOuPxhUpL1YlXwpbQCbHq23hUu6A0VEk64HsFxk9g==" }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "node_modules/react-native": { + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.64.1.tgz", + "integrity": "sha512-jvSj+hNAfwvhaSmxd5KHJ5HidtG0pDXzoH6DaqNpU74g3CmAiA8vuk58B5yx/DYuffGq6PeMniAcwuh3Xp4biQ==", "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" + "@jest/create-cache-key-function": "^26.5.0", + "@react-native-community/cli": "^5.0.1-alpha.0", + "@react-native-community/cli-platform-android": "^5.0.1-alpha.0", + "@react-native-community/cli-platform-ios": "^5.0.1-alpha.0", + "@react-native/assets": "1.0.0", + "@react-native/normalize-color": "1.0.0", + "@react-native/polyfills": "1.0.0", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "event-target-shim": "^5.0.1", + "hermes-engine": "~0.7.0", + "invariant": "^2.2.4", + "jsc-android": "^245459.0.0", + "metro-babel-register": "0.64.0", + "metro-react-native-babel-transformer": "0.64.0", + "metro-runtime": "0.64.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.0.3", + "prop-types": "^15.7.2", + "react-devtools-core": "^4.6.0", + "react-native-codegen": "^0.0.6", + "react-refresh": "^0.4.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "^0.20.1", + "shelljs": "^0.8.4", + "stacktrace-parser": "^0.1.3", + "use-subscription": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.1.4" }, "bin": { - "sane": "src/cli.js" + "react-native": "cli.js" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=12" } }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "node_modules/react-native-app-auth": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/react-native-app-auth/-/react-native-app-auth-6.4.0.tgz", + "integrity": "sha512-m9DOM/Bgplrk6gD+sqshsbdG9XB4eSaA4rZXuPnwTXYTcHxCy0KvJ3jRDLKDY1im78lXNnifGeHicv7chGAwQw==", + "dependencies": { + "invariant": "2.2.4", + "react-native-base64": "0.0.2" + } }, - "node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "dev": true, + "node_modules/react-native-base64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/react-native-base64/-/react-native-base64-0.0.2.tgz", + "integrity": "sha512-Fu/J1a2y0X22EJDWqJR2oEa1fpP4gTFjYxk8ElJdt1Yak3HOXmFJ7EohLVHU2DaQkgmKfw8qb7u/48gpzveRbg==" + }, + "node_modules/react-native-camera": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-4.2.1.tgz", + "integrity": "sha512-+Vkql24PFYQfsPRznJCvPwJQfyzCnjlcww/iZ4Ej80bgivKjL9eU0IMQIXp4yi6XCrKi4voWXxIDPMupQZKeIQ==", "dependencies": { - "xmlchars": "^2.1.1" - }, - "engines": { - "node": ">=8" + "prop-types": "^15.6.2" } }, - "node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "dev": true, + "node_modules/react-native-codegen": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.0.6.tgz", + "integrity": "sha512-cMvrUelD81wiPitEPiwE/TCNscIVauXxmt4NTGcy18HrUd0WRWXfYzAQGXm0eI87u3NMudNhqFj2NISJenxQHg==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "flow-parser": "^0.121.0", + "jscodeshift": "^0.11.0", + "nullthrows": "^1.1.1" } }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "node_modules/react-native-dark-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/react-native-dark-mode/-/react-native-dark-mode-0.2.2.tgz", + "integrity": "sha512-2vhWOOimU7DRKYjCU/pdv0+JpnGKURq5+c7bre093Jtzk57HtlJfd+ViibbC9Y8zh0viIOyKtfL5mYhVhZ6Crw==", + "dependencies": { + "@types/events": "*", + "@types/react": "*", + "@types/react-native": "*", + "events": "^3.0.0", + "toolkit.ts": "^0.0.2" } }, - "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "node_modules/react-native-elements": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.3.2.tgz", + "integrity": "sha512-HygYYmq8JYjk/YYiUwr/64qT64H2xlPBz0JnkGTQwvnnyXZrfkHFopw8rLWCupv3iLLPDzVohvPs0Z5HLdonSQ==", "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.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" + "@types/react-native-vector-icons": "^6.4.5", + "color": "^3.1.0", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.1.0", + "lodash.isequal": "^4.5.0", + "opencollective-postinstall": "^2.0.0", + "prop-types": "^15.7.2", + "react-native-ratings": "^7.2.0", + "react-native-status-bar-height": "^2.5.0" } }, - "node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "node_modules/react-native-elements/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "engines": { "node": ">=0.10.0" } }, - "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "node_modules/react-native-fit-image": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-native-fit-image/-/react-native-fit-image-1.5.5.tgz", + "integrity": "sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==", "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - }, - "engines": { - "node": ">= 0.8.0" + "prop-types": "^15.5.10" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "node_modules/react-native-gesture-handler": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.10.3.tgz", + "integrity": "sha512-cBGMi1IEsIVMgoox4RvMx7V2r6bNKw0uR1Mu1o7NbuHS6BRSVLq0dP34l2ecnPlC+jpWd3le6Yg1nrdCjby2Mw==", + "dependencies": { + "@egjs/hammerjs": "^2.0.17", + "fbjs": "^3.0.0", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "prop-types": "^15.7.2" + } }, - "node_modules/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==", + "node_modules/react-native-gesture-handler/node_modules/fbjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", + "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "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" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/react-native-gesture-handler/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "asap": "~2.0.3" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "node_modules/react-native-iphone-x-helper": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", + "integrity": "sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==" }, - "node_modules/shallow-clone": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", - "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "node_modules/react-native-markdown-renderer": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/react-native-markdown-renderer/-/react-native-markdown-renderer-3.2.8.tgz", + "integrity": "sha512-gDT5r3lwecNsEfpKagSaidEGfmCbpVcmV+HHLjaGYRALJoHkpOFni0rJZW1rCerOR9sjaUNGXE66U7BUrlEw0w==", "dependencies": { - "is-extendable": "^0.1.1", - "kind-of": "^2.0.1", - "lazy-cache": "^0.2.3", - "mixin-object": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" + "@types/markdown-it": "^0.0.4", + "@types/react-native": ">=0.50.0", + "markdown-it": "^8.4.0", + "prop-types": "^15.5.10", + "react-native-fit-image": "^1.5.2" } }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", - "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "dependencies": { - "is-buffer": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/react-native-permissions": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.3.0.tgz", + "integrity": "sha512-F0Yjcp0V340lQW2ibg1lTGmStsMoWsBtosSCRIZOatOQAsNMp77zL6SdYcIGwJUBMVDX3BMraB4AX4Ph3cW1NA==" }, - "node_modules/shallow-clone/node_modules/lazy-cache": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", - "engines": { - "node": ">=0.10.0" - } + "node_modules/react-native-push-notification": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/react-native-push-notification/-/react-native-push-notification-7.4.0.tgz", + "integrity": "sha512-Ac3Ep71e2D8Q/Vy0OHBAO5JwhsFsNSuf9knkpXQWS0B9488nIZJLEMuTpF8610xPvGw7XxVrL/q0oZO5F1pOzw==" }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/react-native-qrcode-scanner": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-native-qrcode-scanner/-/react-native-qrcode-scanner-1.5.5.tgz", + "integrity": "sha512-il79uStkFqUvofqXJQfOL30qgQyU17MUKxj7IGHv6oT2OxIY/vutTwuPPDbsivtv0yTMHP4dGx/79oys4eAuNw==", "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@react-native-async-storage/async-storage": "^1.13.4", + "prop-types": "^15.5.10", + "react-native-permissions": "^2.0.2" } }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } + "node_modules/react-native-qrcode-scanner/node_modules/react-native-permissions": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-2.2.2.tgz", + "integrity": "sha512-ihf4shQDSX5Oo9ChQXb9kr13mmyyNem5MaEvOpr3dCjhBOBWyEMztXm9/uPK1Qg5PsNpaYLa1KpcPZDCw87LXg==" }, - "node_modules/shell-quote": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "node_modules/react-native-qrcode-svg": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.0.6.tgz", + "integrity": "sha512-b+/teD+xj17VDujJzf956U2+9mX+gKwVJss2aqmhEIyjP7+TVOuE08D3UkzfOCWXE8gppcUTTz5gkY1NXgfwyQ==", "dependencies": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "prop-types": "^15.5.10", + "qrcode": "^1.3.2" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "node_modules/react-native-ratings": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-7.3.0.tgz", + "integrity": "sha512-NCDIkmrVPnxPzP9zKdlcNpa2rPs3Hiv2qXsojUr3FpwbANWfgYE+jjGSSCBcS3vpXndTjhoaTGFDnybnUSFPFA==", "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" + "lodash": "^4.17.15", + "prop-types": "^15.7.2" } }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true + "node_modules/react-native-raw-bottom-sheet": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-native-raw-bottom-sheet/-/react-native-raw-bottom-sheet-2.2.0.tgz", + "integrity": "sha512-qL4JKIqvbcVxbkKzeh51hjV7suoJN3ouxzvLmOg0FBUV1yiJAfEbacjQdtRCI6+OU5pyGFBIifLsTXcFDwHggg==" }, - "node_modules/side-channel": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", - "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", - "dev": true, + "node_modules/react-native-reanimated": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.13.3.tgz", + "integrity": "sha512-i714H24dv6ncpFO7/SZ0PfAMbvjgVbF8Ow2NPtowoZAz8osS54DmTMrkgJ9Za+uEku/s0AEaxqiXG2Xgntvv2g==", "dependencies": { - "es-abstract": "^1.18.0-next.0", - "object-inspect": "^1.8.0" + "fbjs": "^1.0.0" } }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "node_modules/react-native-safe-area-context": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz", + "integrity": "sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==" }, - "node_modules/simple-plist": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.0.tgz", - "integrity": "sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==", + "node_modules/react-native-screens": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.18.1.tgz", + "integrity": "sha512-r5WZLpmx2hHjC1RgMdPq5YpSU9tEhBpUaZ5M1SUtNIONyiLqQVxabhRCINdebIk4depJiIl7yw2Q85zJyeX6fw==" + }, + "node_modules/react-native-status-bar-height": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/react-native-status-bar-height/-/react-native-status-bar-height-2.5.0.tgz", + "integrity": "sha512-sYBCPYA/NapBSHkdm/IVL4ID3LLlIuLqINi2FBDyMkc2BU9pfSGOtkz9yfxoK39mYJuTrlTOQ7mManARUsYDSA==" + }, + "node_modules/react-native-svg": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.1.tgz", + "integrity": "sha512-NIAJ8jCnXGCqGWXkkJ1GTzO4a3Md5at5sagYV8Vh4MXYnL4z5Rh428Wahjhh+LIjx40EE5xM5YtwyJBqOIba2Q==", "dependencies": { - "bplist-creator": "0.1.0", - "bplist-parser": "0.3.0", - "plist": "^3.0.4" + "css-select": "^2.1.0", + "css-tree": "^1.0.0-alpha.39" } }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "node_modules/react-native-svg-transformer": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-0.14.3.tgz", + "integrity": "sha512-agDGdMeeBAsWEgg/u7mjtR2Z3c8smGCLep/n3svwifut9dpswZCP+bSIrU8ekg6RNtxAJL+eGJbWjJ38vWxw6g==", "dependencies": { - "is-arrayish": "^0.3.1" + "@svgr/core": "^4.3.3", + "@svgr/plugin-svgo": "^4.3.1", + "path-dirname": "^1.0.2", + "semver": "^5.6.0" } }, - "node_modules/simple-swizzle/node_modules/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==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "node_modules/react-native-svg-transformer/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" + "node_modules/react-native-user-agent": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-native-user-agent/-/react-native-user-agent-2.3.1.tgz", + "integrity": "sha512-AIFr1VgJHwgWmMwCOmIGxuBeAaADlouXKc10UyR4fzWneUbt5uIJIoRu2oExlfCtiT8IyCp106khDD5vx7RUjw==", + "peerDependencies": { + "react-native": "*" } }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "node_modules/react-native-vector-icons": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-7.1.0.tgz", + "integrity": "sha512-V2a1zJ4i+kS8O4j183gIwX14St9AxxXabxwYpFBgRhvr2NDXyFcjHDEAgrOYYlt2W57e20aN1tBDU/I+wn9WtQ==", "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "lodash.frompairs": "^4.0.1", + "lodash.isequal": "^4.5.0", + "lodash.isstring": "^4.0.1", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "lodash.template": "^4.5.0", + "prop-types": "^15.7.2", + "yargs": "^15.0.2" }, - "engines": { - "node": ">=6" + "bin": { + "fa5-upgrade": "bin/fa5-upgrade.sh", + "generate-icon": "bin/generate-icon.js" } }, - "node_modules/slice-ansi/node_modules/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==", + "node_modules/react-native-webview": { + "version": "11.23.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.23.1.tgz", + "integrity": "sha512-bmqsdg4RYOUYD37R9XTrQALm7eD62KbLNPRfgvpLGd1SjaurvAjjsLrLN4mt6yOtKOMKeZvlcAl3x6De6cCQsA==", "dependencies": { - "color-convert": "^1.9.0" + "escape-string-regexp": "2.0.0", + "invariant": "2.2.4" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "react": "*", + "react-native": "*" } }, - "node_modules/slice-ansi/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" + "node_modules/react-native-webview/node_modules/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==", + "engines": { + "node": ">=8" } }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/react-native/node_modules/@react-native-community/cli": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-5.0.1.tgz", + "integrity": "sha512-9VzSYUYSEqxEH5Ib2UNSdn2eyPiYZ4T7Y79o9DKtRBuSaUIwbCUdZtIm+UUjBpLS1XYBkW26FqL8/UdZDmQvXw==", "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" + "@react-native-community/cli-debugger-ui": "^5.0.1", + "@react-native-community/cli-hermes": "^5.0.1", + "@react-native-community/cli-server-api": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "@react-native-community/cli-types": "^5.0.1", + "appdirsjs": "^1.2.4", + "chalk": "^3.0.0", + "command-exists": "^1.2.8", + "commander": "^2.19.0", + "cosmiconfig": "^5.1.0", + "deepmerge": "^3.2.0", + "envinfo": "^7.7.2", + "execa": "^1.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.3", + "joi": "^17.2.1", + "leven": "^3.1.0", + "lodash": "^4.17.15", + "metro": "^0.64.0", + "metro-config": "^0.64.0", + "metro-core": "^0.64.0", + "metro-react-native-babel-transformer": "^0.64.0", + "metro-resolver": "^0.64.0", + "metro-runtime": "^0.64.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-stream-zip": "^1.9.1", + "ora": "^3.4.0", + "pretty-format": "^26.6.2", + "prompts": "^2.4.0", + "semver": "^6.3.0", + "serve-static": "^1.13.1", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1" + }, + "bin": { + "react-native": "build/bin.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/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==", + "node_modules/react-native/node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/react-native/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "dependencies": { - "is-descriptor": "^1.0.0" - }, + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/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==", + "node_modules/react-test-renderer": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz", + "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==", + "dev": true, "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.8.6", + "scheduler": "^0.19.1" } }, - "node_modules/snapdragon-node/node_modules/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==", + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/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==", + "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/read-pkg/node_modules/parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@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" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/read-pkg/node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", "dependencies": { - "is-descriptor": "^0.1.0" - }, + "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" + } + }, + "node_modules/realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", "dependencies": { - "is-extendable": "^0.1.0" + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } + "node_modules/recast/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, - "node_modules/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==", - "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" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "resolve": "^1.1.6" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "node_modules/regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, + "node_modules/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==", "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", - "dev": true - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "engines": { - "node": ">=6" + "@babel/runtime": "^7.8.4" } }, - "node_modules/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==", + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dependencies": { - "extend-shallow": "^3.0.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "node_modules/regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", "dev": true, "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" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "node_modules/stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "node_modules/regexp.prototype.flags/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/stackframe": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", - "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==" - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dependencies": { - "type-fest": "^0.7.1" - }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "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" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "node_modules/regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", "dependencies": { - "is-descriptor": "^0.1.0" + "jsesc": "~0.5.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/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=" }, - "node_modules/stream-buffers": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", - "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=", + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", "engines": { - "node": ">= 0.10.0" + "node": ">=0.10.0" } }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" + "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" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "lodash": "^4.17.19" }, "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/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==", - "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" }, "engines": { - "node": ">=8" + "node": ">=0.12.0" } }, - "node_modules/string.prototype.matchall": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", - "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "node_modules/request-promise-native/node_modules/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, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.2" + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" } }, - "node_modules/string.prototype.matchall/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "node_modules/request/node_modules/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, "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">=0.8" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/string.prototype.trimend/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "node_modules/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==" + }, + "node_modules/requirejs": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", + "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", + "bin": { + "r_js": "bin/r.js", + "r.js": "bin/r.js" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "node": ">=0.4.0" } }, - "node_modules/string.prototype.trimstart/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "path-parse": "^1.0.6" } }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/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==", + "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/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==", + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/strip-final-newline": { + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "node_modules/restore-cursor": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/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==", - "dev": true, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "engines": { - "node": ">=8" + "node": ">=0.12" } }, - "node_modules/sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" - }, - "node_modules/superstruct": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz", - "integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==", + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "clone-deep": "^2.0.1", - "kind-of": "^6.0.1" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/superstruct/node_modules/clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", - "dependencies": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" - }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "engines": { - "node": ">=0.10.0" + "node": "6.* || >= 7.*" } }, - "node_modules/superstruct/node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dependencies": { - "for-in": "^1.0.1" - }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.12.0" } }, - "node_modules/superstruct/node_modules/shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "node_modules/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==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dependencies": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" + "ret": "~0.1.10" } }, - "node_modules/superstruct/node_modules/shallow-clone/node_modules/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==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/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==", + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", "dependencies": { - "has-flag": "^4.0.0" + "@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" + }, + "bin": { + "sane": "src/cli.js" }, "engines": { - "node": ">=8" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", "dev": true, "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "xmlchars": "^2.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/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==" + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "node_modules/selenium-webdriver": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz", + "integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==", "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" - }, - "bin": { - "svgo": "bin/svgo" + "jszip": "^3.6.0", + "tmp": "^0.2.1", + "ws": ">=7.4.6" }, "engines": { - "node": ">=4.0.0" + "node": ">= 10.15.0" } }, - "node_modules/svgo/node_modules/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==", + "node_modules/selenium-webdriver/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dependencies": { - "color-convert": "^1.9.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=4" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/svgo/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "rimraf": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8.17.0" } }, - "node_modules/svgo/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" + "node_modules/selenium-webdriver/node_modules/ws": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/svgo/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/svgo/node_modules/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==", + "node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" + "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.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/svgo/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/svgo/node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", "engines": { "node": ">=0.10.0" } }, - "node_modules/svgo/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dependencies": { - "has-flag": "^3.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/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==", - "dev": true + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, + "node_modules/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==", "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/table/node_modules/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 - }, - "node_modules/table/node_modules/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, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/temp": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", - "engines": [ - "node >=0.8.0" - ], - "dependencies": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" - } + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "bin": { - "rimraf": "bin.js" - } + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, - "node_modules/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==", - "dev": true, + "node_modules/shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/terminal-link/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", "dependencies": { - "type-fest": "^0.11.0" + "is-buffer": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/terminal-link/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, + "node_modules/shallow-clone/node_modules/lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/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==", - "dev": true, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "shebang-regex": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dependencies": { - "os-tmpdir": "~1.0.2" + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/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=", "engines": { "node": ">=4" } }, - "node_modules/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=", + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/side-channel": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", + "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "es-abstract": "^1.18.0-next.0", + "object-inspect": "^1.8.0" } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/simple-plist": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.0.tgz", + "integrity": "sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.0", + "plist": "^3.0.4" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/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==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/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=", + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/slice-ansi/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=0.6" + "node": ">=4" } }, - "node_modules/toolkit.ts": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/toolkit.ts/-/toolkit.ts-0.0.2.tgz", - "integrity": "sha512-yJJTVbCwiD6AfFgReewJCGJuODmyZUeL1sDjnxp33t0UBxnezgQrLbz/F9++RC28CTlk5u5pVji4TbeondYEkw==" + "node_modules/slice-ansi/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } }, - "node_modules/tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" + "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" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, + "node_modules/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==", "dependencies": { - "punycode": "^2.1.0" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dependencies": { - "tslib": "^1.8.1" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, + "node_modules/snapdragon-node/node_modules/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==", "dependencies": { - "safe-buffer": "^5.0.1" + "kind-of": "^6.0.0" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, + "node_modules/snapdragon-node/node_modules/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==", "dependencies": { - "prelude-ls": "~1.1.2" + "kind-of": "^6.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "is-typedarray": "^1.0.0" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ua-parser-js": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/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==" - }, - "node_modules/uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dependencies": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/uglify-es/node_modules/commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" - }, - "node_modules/uglify-es/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "engines": { "node": ">=0.10.0" } }, - "node_modules/ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" - }, - "node_modules/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==", + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/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==", + "node_modules/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==", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" + "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" } }, - "node_modules/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==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/unicode-property-aliases-ecmascript": { + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", + "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", + "dev": true + }, + "node_modules/split-on-first": { "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==", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/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==", + "node_modules/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==", "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "extend-shallow": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "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" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=0.10.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "node_modules/stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + "node_modules/stackframe": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", + "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==" }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "type-fest": "^0.7.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dependencies": { - "isarray": "1.0.0" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", "dev": true, - "dependencies": { - "punycode": "^2.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=", + "engines": { + "node": ">= 0.10.0" + } }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/use-subscription": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", - "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", + "node_modules/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==", "dependencies": { - "object-assign": "^4.1.1" + "safe-buffer": "~5.1.0" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "dev": true, "dependencies": { "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", + "es-abstract": "^1.17.0", "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" } }, - "node_modules/util.promisify/node_modules/es-abstract": { + "node_modules/string.prototype.matchall/node_modules/es-abstract": { "version": "1.17.6", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, "dependencies": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -16211,880 +16450,1749 @@ "node": ">= 0.4" } }, - "node_modules/utils-merge": { + "node_modules/string.prototype.trimend": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "bin": { - "uuid": "bin/uuid" + "node_modules/string.prototype.trimend/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", - "dev": true + "node_modules/string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } }, - "node_modules/v8-to-istanbul": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", - "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", - "dev": true, + "node_modules/string.prototype.trimstart/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" }, "engines": { - "node": "8.x.x || >=10.10.0" + "node": ">= 0.4" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "ansi-regex": "^4.1.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "engines": { + "node": ">=8" } }, - "node_modules/vlq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", - "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/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==", + "node_modules/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==", "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "node_modules/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==", "dev": true, - "dependencies": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" + }, + "node_modules/superstruct": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz", + "integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==", "dependencies": { - "makeerror": "1.0.x" + "clone-deep": "^2.0.1", + "kind-of": "^6.0.1" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "node_modules/superstruct/node_modules/clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", "dependencies": { - "defaults": "^1.0.3" + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz", - "integrity": "sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ==" - }, - "node_modules/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==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, + "node_modules/superstruct/node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/superstruct/node_modules/shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dependencies": { - "isexe": "^2.0.0" + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, + "node_modules/superstruct/node_modules/shallow-clone/node_modules/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==", "engines": { "node": ">=0.10.0" } }, - "node_modules/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==", + "node_modules/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==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "node_modules/supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/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==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "dependencies": { - "ansi-regex": "^5.0.0" + "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" + }, + "bin": { + "svgo": "bin/svgo" }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, + "node_modules/svgo/node_modules/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==", "dependencies": { - "mkdirp": "^0.5.1" + "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, - "node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "node_modules/svgo/node_modules/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==", "dependencies": { - "async-limiter": "~1.0.0" + "color-name": "1.1.3" } }, - "node_modules/xcode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", - "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/svgo/node_modules/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==", "dependencies": { - "simple-plist": "^1.0.0", - "uuid": "^3.3.2" + "mdn-data": "2.0.4", + "source-map": "^0.6.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8.0.0" } }, - "node_modules/xml-name-validator": { + "node_modules/svgo/node_modules/has-flag": { "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==", - "dev": true - }, - "node_modules/xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "node_modules/svgo/node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" }, - "node_modules/xmldoc": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", - "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", - "dependencies": { - "sax": "^1.2.1" + "node_modules/svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/xregexp": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", - "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", - "dev": true, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "@babel/runtime-corejs3": "^7.8.3" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "has-flag": "^3.0.0" + }, "engines": { - "node": ">=0.4" + "node": ">=4" } }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + "node_modules/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==", + "dev": true }, - "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "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" + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/table/node_modules/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 + }, + "node_modules/table/node_modules/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, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { "node": ">=6" } - } - }, - "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" + }, + "node_modules/temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "engines": [ + "node >=0.8.0" + ], + "dependencies": { + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" } }, - "@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==" + "node_modules/temp/node_modules/rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "bin": { + "rimraf": "bin.js" + } }, - "@babel/core": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", - "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", - "requires": { - "@babel/code-frame": "^7.15.8", - "@babel/generator": "^7.15.8", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.8", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.8", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6", - "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" + "node_modules/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==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" - }, - "@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.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==" - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "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" - } - }, - "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" - } - }, - "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=" - }, - "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" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "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" - } - } - } - }, - "@babel/generator": { - "version": "7.11.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz", - "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==", - "requires": { - "@babel/types": "^7.11.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "type-fest": "^0.11.0" }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } + "engines": { + "node": ">=8" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "requires": { - "@babel/types": "^7.10.4" + "node_modules/terminal-link/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "node_modules/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==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-builder-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", - "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/types": "^7.10.4" - } + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true }, - "@babel/helper-builder-react-jsx-experimental": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz", - "integrity": "sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/types": "^7.11.5" - } + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true }, - "@babel/helper-create-class-features-plugin": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", - "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.10.5", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4" + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", - "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.0" + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" } }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/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=", + "engines": { + "node": ">=4" } }, - "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "requires": { - "@babel/types": "^7.16.7" - }, + "node_modules/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=", "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" - }, - "@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - } - } + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz", - "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "requires": { - "@babel/types": "^7.10.4" + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "requires": { - "@babel/types": "^7.15.4" - }, + "node_modules/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=", "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", - "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", - "requires": { - "@babel/types": "^7.11.0" + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" } }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "requires": { - "@babel/types": "^7.10.4" - } + "node_modules/toolkit.ts": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/toolkit.ts/-/toolkit.ts-0.0.2.tgz", + "integrity": "sha512-yJJTVbCwiD6AfFgReewJCGJuODmyZUeL1sDjnxp33t0UBxnezgQrLbz/F9++RC28CTlk5u5pVji4TbeondYEkw==" }, - "@babel/helper-module-transforms": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", - "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/template": "^7.10.4", - "@babel/types": "^7.11.0", - "lodash": "^4.17.19" + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "requires": { - "@babel/types": "^7.10.4" + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "node_modules/tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true }, - "@babel/helper-regex": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", - "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", - "requires": { - "lodash": "^4.17.19" + "node_modules/tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" } }, - "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz", - "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==", - "requires": { - "@babel/types": "^7.11.0" + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" } }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "requires": { - "@babel/types": "^7.11.0" + "node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" } }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } }, - "@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==" + "node_modules/ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "engines": { + "node": "*" + } }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "requires": { + "node_modules/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==" + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use-subscription": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", + "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", + "dependencies": { + "object-assign": "^4.1.1" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "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" + } + }, + "node_modules/util.promisify/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": "8.x.x || >=10.10.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz", + "integrity": "sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ==" + }, + "node_modules/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==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xcode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", + "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", + "dependencies": { + "simple-plist": "^1.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "dependencies": { + "sax": "^1.2.1" + } + }, + "node_modules/xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", + "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + }, + "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" + } + }, + "@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.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", + "requires": { + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.8", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6", + "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" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "requires": { + "@babel/types": "^7.15.6", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", + "requires": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + }, + "@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.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==" + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "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=" + }, + "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" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "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" + } + } + } + }, + "@babel/generator": { + "version": "7.11.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz", + "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==", + "requires": { + "@babel/types": "^7.11.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", + "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-react-jsx-experimental": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz", + "integrity": "sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/types": "^7.11.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "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.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", + "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.5", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "requires": { + "@babel/types": "^7.16.7" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.11.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz", + "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "requires": { + "@babel/types": "^7.15.4" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", + "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", + "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/template": "^7.10.4", + "@babel/types": "^7.11.0", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", + "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "requires": { + "lodash": "^4.17.19" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "requires": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz", + "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==", + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + }, + "@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/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "requires": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "requires": { "@babel/highlight": "^7.14.5" } }, @@ -18287,134 +19395,730 @@ } } }, - "@babel/register": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.0.tgz", - "integrity": "sha512-UNZsMAZ7uKoGHo1HlEXfteEOYssf64n/PNLHGqOKq/bgYcu/4LrQWAHJwSCb3BRZK8Hi5gkJdRcwrGTO2wtRCg==", + "@babel/register": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.0.tgz", + "integrity": "sha512-UNZsMAZ7uKoGHo1HlEXfteEOYssf64n/PNLHGqOKq/bgYcu/4LrQWAHJwSCb3BRZK8Hi5gkJdRcwrGTO2wtRCg==", + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "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==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + }, + "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==", + "requires": { + "kind-of": "^6.0.2" + } + } + } + }, + "@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz", + "integrity": "sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz", + "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.11.5", + "@babel/types": "^7.11.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@babel/types": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz", + "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "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==", + "dev": true + }, + "@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" + } + }, + "@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "requires": { + "@types/hammerjs": "^2.0.36" + } + }, + "@firebase/analytics": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", + "integrity": "sha512-wkcwainNm8Cu2xkJpDSHfhBSdDJn86Q1TZNmLWc67VrhZUHXIKXxIqb65/tNUVE+I8+sFiDDNwA+9R3MqTQTaA==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/analytics-compat": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.13.tgz", + "integrity": "sha512-QC1DH/Dwc8fBihn0H+jocBWyE17GF1fOCpCrpAiQ2u16F/NqsVDVG4LjIqdhq963DXaXneNY7oDwa25Up682AA==", "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" + "@firebase/analytics": "0.8.0", + "@firebase/analytics-types": "0.7.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, "dependencies": { - "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==", - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - }, - "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==", - "requires": { - "kind-of": "^6.0.2" - } + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, - "@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "@firebase/analytics-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", + "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" + }, + "@firebase/app": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.32.tgz", + "integrity": "sha512-FUqDHgCkr6oVTTpastIlquYsMtkd8Tg4SR8+z4sCJ1C1pbPavazN9qeYIqHQjviqLV/OflCrACCZj/s2zlh0ww==", "requires": { - "regenerator-runtime": "^0.13.4" + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/app-check": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.12.tgz", + "integrity": "sha512-l+MmvupSGT/F+I5ei7XjhEfpoL4hLVJr0vUwcG5NEf2hAkQnySli9fnbl9fZu1BJaQ2kthrMmtg1gcbcM9BUCQ==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/app-check-compat": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.12.tgz", + "integrity": "sha512-GFppNLlUyMN9Iq31ME/+GkjRVKlc+MeanzUKQ9UaR73ZsYH3oX3Ja+xjoYgixaVJDDG+ofBYR7ZXTkkQdSR/pw==", + "requires": { + "@firebase/app-check": "0.5.12", + "@firebase/app-check-types": "0.4.0", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/app-check-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", + "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" + }, + "@firebase/app-check-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.4.0.tgz", + "integrity": "sha512-SsWafqMABIOu7zLgWbmwvHGOeQQVQlwm42kwwubsmfLmL4Sf5uGpBfDhQ0CAkpi7bkJ/NwNFKafNDL9prRNP0Q==" + }, + "@firebase/app-compat": { + "version": "0.1.33", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.33.tgz", + "integrity": "sha512-PLCwOpduJOOkw2v0ygBPpYBRobbnxJjZVaj2xjc5IPakHWx9sLHHX3KoZnl+7ZonY1xJ2lCQaLQrwqX2hi0FXg==", + "requires": { + "@firebase/app": "0.7.32", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/app-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" + }, + "@firebase/auth": { + "version": "0.20.6", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.20.6.tgz", + "integrity": "sha512-99R3bY7aQ2zFh5BdqLEgI/qN87l3bPBLIse2eDVcSRwChaM6FTdIKoKk15L1M4ry8utatMtYFt1vRCol7QDsLg==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/auth-compat": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.19.tgz", + "integrity": "sha512-gB9fnPZM2mnNrGR7n6Y+xDC/4cSouDVfdwPYL7GuLv7b48iW1u24DC9Trv10gNUUGq6iGEyqgJgCSrVmlTkX7Q==", + "requires": { + "@firebase/auth": "0.20.6", + "@firebase/auth-types": "0.11.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/auth-interop-types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", + "requires": {} + }, + "@firebase/auth-types": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", + "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==", + "requires": {} + }, + "@firebase/component": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.17.tgz", + "integrity": "sha512-mTM5CBSIlmI+i76qU4+DhuExnWtzcPS3cVgObA3VAjliPPr3GrUlTaaa8KBGfxsD27juQxMsYA0TvCR5X+GQ3Q==", + "requires": { + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/database": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.13.6.tgz", + "integrity": "sha512-5IZIBw2LT50Z8mwmKYmdX37p+Gg2HgeJsrruZmRyOSVgbfoY4Pg87n1uFx6qWqDmfL6HwQgwcrrQfVIXE3C5SA==", + "requires": { + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/database-compat": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.2.6.tgz", + "integrity": "sha512-Ls1BAODaiDYgeJljrIgSuC7JkFIY/HNhhNYebzZSoGQU62RuvnaO3Qgp2EH6h2LzHyRnycNadfh1suROtPaUIA==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/database": "0.13.6", + "@firebase/database-types": "0.9.13", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/database-types": { + "version": "0.9.13", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.13.tgz", + "integrity": "sha512-dIJ1zGe3EHMhwcvukTOPzYlFYFIG1Et5Znl7s7y/ZTN2/toARRNnsv1qCKvqevIMYKvIrRsYOYfOXDS8l1YIJA==", + "requires": { + "@firebase/app-types": "0.7.0", + "@firebase/util": "1.6.3" + } + }, + "@firebase/firestore": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.15.tgz", + "integrity": "sha512-1kal1/0UC1p9x99f0iXwWbmBL/RClksdkqLSd8HVQVawAMTR3zCVKE95omNGl0egRRlDN6c/i8XBEfkwj3SHxw==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "@firebase/webchannel-wrapper": "0.6.2", + "@grpc/grpc-js": "^1.3.2", + "@grpc/proto-loader": "^0.6.13", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/firestore-compat": { + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.24.tgz", + "integrity": "sha512-wy9AerWLyg/RcbjKE9I73TyBW7FMVfxblGUbcRRHi5tSSrjp+JT1jsGriF6NjAij4byboaGVm8Hgrki7Oqf2kw==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/firestore": "3.4.15", + "@firebase/firestore-types": "2.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/firestore-types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", + "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==", + "requires": {} + }, + "@firebase/functions": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.8.4.tgz", + "integrity": "sha512-o1bB0xMyQKe+b246zGnjwHj4R6BH4mU2ZrSaa/3QvTpahUQ3hqYfkZPLOXCU7+vEFxHb3Hd4UUjkFhxoAcPqLA==", + "requires": { + "@firebase/app-check-interop-types": "0.1.0", + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/functions-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.2.4.tgz", + "integrity": "sha512-Crfn6il1yXGuXkjSd8nKrqR4XxPvuP19g64bXpM6Ix67qOkQg676kyOuww0FF17xN0NSXHfG8Pyf+CUrx8wJ5g==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/functions": "0.8.4", + "@firebase/functions-types": "0.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/functions-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", + "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" + }, + "@firebase/installations": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.12.tgz", + "integrity": "sha512-Zq43fCE0PB5tGJ3ojzx5RNQzKdej1188qgAk22rwjuhP7npaG/PlJqDG1/V0ZjTLRePZ1xGrfXSPlA17c/vtNw==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/installations-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.1.12.tgz", + "integrity": "sha512-BIhFpWIn/GkuOa+jnXkp3SDJT2RLYJF6MWpinHIBKFJs7MfrgYZ3zQ1AlhobDEql+bkD1dK4dB5sNcET2T+EyA==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/installations-types": "0.4.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/installations-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.4.0.tgz", + "integrity": "sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A==", + "requires": {} + }, + "@firebase/logger": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.3.tgz", + "integrity": "sha512-POTJl07jOKTOevLXrTvJD/VZ0M6PnJXflbAh5J9VGkmtXPXNG6MdZ9fmRgqYhXKTaDId6AQenQ262uwgpdtO0Q==", + "requires": { + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/messaging": { + "version": "0.9.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.16.tgz", + "integrity": "sha512-Yl9gGrAvJF6C1gg3+Cr2HxlL6APsDEkrorkFafmSP1l+rg1epZKoOAcKJbSF02Vtb50wfb9FqGGy8tzodgETxg==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/messaging-compat": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.16.tgz", + "integrity": "sha512-uG7rWcXJzU8vvlEBFpwG1ndw/GURrrmKcwsHopEWbsPGjMRaVWa7XrdKbvIR7IZohqPzcC/V9L8EeqF4Q4lz8w==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/messaging": "0.9.16", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/messaging-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", + "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" + }, + "@firebase/performance": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.12.tgz", + "integrity": "sha512-MPVTkOkGrm2SMQgI1FPNBm85y2pPqlPb6VDjIMCWkVpAr6G1IZzUT24yEMySRcIlK/Hh7/Qu1Nu5ASRzRuX6+Q==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@firebase/performance-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.12.tgz", + "integrity": "sha512-IBORzUeGY1MGdZnsix9Mu5z4+C3WHIwalu0usxvygL0EZKHztGG8bppYPGH/b5vvg8QyHs9U+Pn1Ot2jZhffQQ==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/performance": "0.5.12", + "@firebase/performance-types": "0.1.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } } }, - "@babel/runtime-corejs3": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz", - "integrity": "sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==", - "dev": true, + "@firebase/performance-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", + "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" + }, + "@firebase/remote-config": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.11.tgz", + "integrity": "sha512-qA84dstrvVpO7rWT/sb2CLv1kjHVmz59SRFPKohJJYFBcPOGK4Pe4FWWhKAE9yg1Gnl0qYAGkahOwNawq3vE0g==", "requires": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } } }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "@firebase/remote-config-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.12.tgz", + "integrity": "sha512-Yz7Gtb2rLa7ykXZX9DnSTId8CXd++jFFLW3foUImrYwJEtWgLJc7gwkRfd1M73IlKGNuQAY+DpUNF0n1dLbecA==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-types": "0.2.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } } }, - "@babel/traverse": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz", - "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==", + "@firebase/remote-config-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", + "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" + }, + "@firebase/storage": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.9.tgz", + "integrity": "sha512-Zch7srLT2SIh9y2nCVv/4Kne0HULn7OPkmreY70BJTUJ+g5WLRjggBq6x9fV5ls9V38iqMWfn4prxzX8yIc08A==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.11.5", - "@babel/types": "^7.11.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" }, "dependencies": { - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, - "@babel/types": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz", - "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==", + "@firebase/storage-compat": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.17.tgz", + "integrity": "sha512-nOYmnpI0gwoz5nROseMi9WbmHGf+xumfsOvdPyMZAjy0VqbDnpKIwmTUZQBdR+bLuB5oIkHQsvw9nbb1SH+PzQ==", "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" + "@firebase/component": "0.5.17", + "@firebase/storage": "0.9.9", + "@firebase/storage-types": "0.6.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "@firebase/storage-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", + "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==", + "requires": {} }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "@firebase/util": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.6.3.tgz", + "integrity": "sha512-FujteO6Zjv6v8A4HS+t7c+PjU0Kaxj+rOnka0BsI/twUaCC9t8EQPmXpWZdk7XfszfahJn2pqsflUWUhtUkRlg==", "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } } }, - "@egjs/hammerjs": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", - "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", - "requires": { - "@types/hammerjs": "^2.0.36" - } + "@firebase/webchannel-wrapper": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz", + "integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ==" }, "@fortawesome/fontawesome-common-types": { "version": "0.2.36", @@ -18446,6 +20150,183 @@ "prop-types": "^15.7.2" } }, + "@grpc/grpc-js": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.0.tgz", + "integrity": "sha512-wvKxal+40Xx11DXO2q5PfY3UiE25iwTb8SOz6A9IJII/V7d19x2ex0he+GJfVW0JZCaBjCPSjUB0yU9Ecm4WCw==", + "requires": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "dependencies": { + "@grpc/proto-loader": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.2.tgz", + "integrity": "sha512-jCdyLIT/tdQ1zhrbTQnJNK5nbDf0GoBpy5jVNywBzzMDF+Vs6uEaHnfz46dMtDxkvwrF2hzk5Z67goliceH0sA==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "protobufjs": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.1.tgz", + "integrity": "sha512-d0nMQqS/aT3lfV8bKi9Gbg73vPd2LcDdTDOu6RE/M+h9DY8g1EmDzk3ADPccthEWfTBjkR2oxNdx9Gs8YubT+g==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "dependencies": { + "long": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" + } + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, + "@grpc/proto-loader": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", + "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.11.3", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, "@hapi/hoek": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", @@ -19568,6 +21449,60 @@ "chalk": "^3.0.0" } }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, "@react-native-async-storage/async-storage": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.16.1.tgz", @@ -20094,6 +22029,11 @@ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, "@types/markdown-it": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-0.0.4.tgz", @@ -22551,6 +24491,14 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "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" + } + }, "fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -22657,6 +24605,39 @@ "path-exists": "^4.0.0" } }, + "firebase": { + "version": "9.9.4", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.9.4.tgz", + "integrity": "sha512-XRfCw54nNGYUYNYi5PLJ6rcERN2M+aS32f6caYEx9GhCp9ndgHHzBL9BpPohUpEpKPtHA75EqYNf8kuR0HQndA==", + "requires": { + "@firebase/analytics": "0.8.0", + "@firebase/analytics-compat": "0.1.13", + "@firebase/app": "0.7.32", + "@firebase/app-check": "0.5.12", + "@firebase/app-check-compat": "0.2.12", + "@firebase/app-compat": "0.1.33", + "@firebase/app-types": "0.7.0", + "@firebase/auth": "0.20.6", + "@firebase/auth-compat": "0.2.19", + "@firebase/database": "0.13.6", + "@firebase/database-compat": "0.2.6", + "@firebase/firestore": "3.4.15", + "@firebase/firestore-compat": "0.1.24", + "@firebase/functions": "0.8.4", + "@firebase/functions-compat": "0.2.4", + "@firebase/installations": "0.5.12", + "@firebase/installations-compat": "0.1.12", + "@firebase/messaging": "0.9.16", + "@firebase/messaging-compat": "0.1.16", + "@firebase/performance": "0.5.12", + "@firebase/performance-compat": "0.1.12", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-compat": "0.1.12", + "@firebase/storage": "0.9.9", + "@firebase/storage-compat": "0.1.17", + "@firebase/util": "1.6.3" + } + }, "flat-cache": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", @@ -22965,6 +24946,11 @@ "toidentifier": "1.0.1" } }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -22996,6 +24982,11 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, "ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", @@ -23012,6 +25003,11 @@ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "import-fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", @@ -25768,6 +27764,17 @@ "object.assign": "^4.1.0" } }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -25806,6 +27813,14 @@ "type-check": "~0.3.2" } }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "requires": { + "immediate": "~3.0.5" + } + }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -25838,6 +27853,11 @@ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, "lodash.frompairs": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", @@ -25964,6 +27984,11 @@ "@sinonjs/commons": "^1.7.0" } }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -27212,6 +29237,11 @@ "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==" + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -27493,6 +29523,26 @@ "react-is": "^16.8.1" } }, + "protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -28530,6 +30580,40 @@ "object-assign": "^4.1.1" } }, + "selenium-webdriver": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz", + "integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==", + "requires": { + "jszip": "^3.6.0", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + }, + "dependencies": { + "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" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "requires": { + "rimraf": "^3.0.0" + } + }, + "ws": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "requires": {} + } + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -29908,6 +31992,21 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "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", diff --git a/package.json b/package.json index 44effd68..27205300 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@react-navigation/bottom-tabs": "^5.11.15", "@react-navigation/native": "^5.9.8", "@react-navigation/stack": "^5.14.9", + "firebase": "^9.9.4", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ndef": "^0.2.0", From 910acce94811e6fa2f66a3c8067170c8b5703047 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 14 Sep 2022 21:08:52 -0400 Subject: [PATCH 034/102] removed push notif google service info plist and added back webview --- App.js | 31 +++++++++++++------------ ios/AppGT.xcodeproj/project.pbxproj | 8 +++---- ios/GoogleService-Info.plist | 36 ----------------------------- 3 files changed, 20 insertions(+), 55 deletions(-) delete mode 100644 ios/GoogleService-Info.plist diff --git a/App.js b/App.js index 690ab0db..228c7f34 100644 --- a/App.js +++ b/App.js @@ -309,24 +309,24 @@ function App(props) { // }; // webview login - // const login = async () => { - // try { - // setShowLogin(!showLogin); - // } catch (error) { - // console.log(error) - // } - // } - const login = async () => { - signInWithPopup(auth, provider) - .then((userCredential) => { - setCookieAndRedirect(userCredential, navigate, location); - }) - .catch((error) => { - handleLoginError(error); - }); + try { + setShowLogin(!showLogin); + } catch (error) { + console.log(error) + } } + // const login = async () => { + // signInWithPopup(auth, provider) + // .then((userCredential) => { + // console.log('CRED: ', userCredential) + // }) + // .catch((error) => { + // // handleLoginError(error); + // }); + // } + const fetchUserDetails = async (accessToken) => { fetch(`${authUrl}/api/user`, { method: "GET", @@ -413,6 +413,7 @@ function App(props) { userAgent='Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/105.0.5195.129 Mobile/15E148 Safari/604.1' javaScriptCanOpenWindowsAutomatically={true} javaScriptEnabled={true} + useWebKit={true} onNavigationStateChange={(event) => { console.log(event); if (event.url.startsWith('https://mobile.hexlabs.org')) {// event.title === 'OAuth application authorized') { diff --git a/ios/AppGT.xcodeproj/project.pbxproj b/ios/AppGT.xcodeproj/project.pbxproj index e2b7aad3..5ab1445e 100644 --- a/ios/AppGT.xcodeproj/project.pbxproj +++ b/ios/AppGT.xcodeproj/project.pbxproj @@ -11,7 +11,7 @@ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 5151D10414D24C789259A0DC /* SpaceMono-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 187AE479EF1147F2A68657C7 /* SpaceMono-Bold.ttf */; }; - 5A6987C1271E4CA200AE5E75 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5A6987C0271E4CA200AE5E75 /* GoogleService-Info.plist */; }; + 5A00B83D28D2635700E4B27B /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5A00B83C28D2635700E4B27B /* GoogleService-Info.plist */; }; 6E5BF9A2B1984A6C830C5225 /* SpaceMono-BoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0A3A684B78764B4697769AFB /* SpaceMono-BoldItalic.ttf */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; B165A0C4392CCC2276A5AD4C /* libPods-AppGT.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6354C7CB3996DC0B202548C7 /* libPods-AppGT.a */; }; @@ -37,7 +37,7 @@ 2C1302889E55AF6CFE12942D /* Pods-AppGT-AppGTTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppGT-AppGTTests.debug.xcconfig"; path = "Target Support Files/Pods-AppGT-AppGTTests/Pods-AppGT-AppGTTests.debug.xcconfig"; sourceTree = ""; }; 4368E45325D614EA00D9838F /* HackGT.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = HackGT.entitlements; path = AppGT/HackGT.entitlements; sourceTree = ""; }; 4FAF25C873A84C4A89ACDCE5 /* SpaceMono-Italic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "SpaceMono-Italic.ttf"; path = "../assets/fonts/SpaceMono-Italic.ttf"; sourceTree = ""; }; - 5A6987C0271E4CA200AE5E75 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 5A00B83C28D2635700E4B27B /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../GoogleService-Info.plist"; sourceTree = ""; }; 6077885D15165913C92ED622 /* libPods-AppGT-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AppGT-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 6354C7CB3996DC0B202548C7 /* libPods-AppGT.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AppGT.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 7CA52163ADF7A0F3F408B53D /* Pods-AppGT.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AppGT.debug.xcconfig"; path = "Target Support Files/Pods-AppGT/Pods-AppGT.debug.xcconfig"; sourceTree = ""; }; @@ -134,7 +134,7 @@ 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 5A6987C0271E4CA200AE5E75 /* GoogleService-Info.plist */, + 5A00B83C28D2635700E4B27B /* GoogleService-Info.plist */, 13B07FAE1A68108700A75B9A /* AppGT */, 832341AE1AAA6A7D00B99B32 /* Libraries */, 00E356EF1AD99517003FC87E /* AppGTTests */, @@ -230,12 +230,12 @@ buildActionMask = 2147483647; files = ( 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, + 5A00B83D28D2635700E4B27B /* GoogleService-Info.plist in Resources */, 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 5151D10414D24C789259A0DC /* SpaceMono-Bold.ttf in Resources */, 6E5BF9A2B1984A6C830C5225 /* SpaceMono-BoldItalic.ttf in Resources */, E77A6C132BA844D7BE262146 /* SpaceMono-Italic.ttf in Resources */, EA24588DC54D4379981A8D85 /* SpaceMono-Regular.ttf in Resources */, - 5A6987C1271E4CA200AE5E75 /* GoogleService-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ios/GoogleService-Info.plist b/ios/GoogleService-Info.plist deleted file mode 100644 index bcb9f691..00000000 --- a/ios/GoogleService-Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CLIENT_ID - 778802244385-dtbb0g7k2sd4d9i7eb45uggcdpt9do5h.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.778802244385-dtbb0g7k2sd4d9i7eb45uggcdpt9do5h - API_KEY - AIzaSyAZn67y7u9yUWILzLI_cLB4gftDQJv4cqI - GCM_SENDER_ID - 778802244385 - PLIST_VERSION - 1 - BUNDLE_ID - gt.hack.AppGT - PROJECT_ID - appgt-push - STORAGE_BUCKET - appgt-push.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:778802244385:ios:f881012286ad48b7df6c60 - DATABASE_URL - https://appgt-push.firebaseio.com - - \ No newline at end of file From 5f545d4738bacfa8bfff7edb253dd161f324fc97 Mon Sep 17 00:00:00 2001 From: rashmiathavale Date: Wed, 14 Sep 2022 21:46:50 -0400 Subject: [PATCH 035/102] podfile changes --- ios/Podfile | 8 +- ios/Podfile.lock | 478 +++++++++++++++++++++++++---------------------- 2 files changed, 260 insertions(+), 226 deletions(-) diff --git a/ios/Podfile b/ios/Podfile index 2d72b5ff..9cd814aa 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -6,7 +6,8 @@ platform :ios, '10.0' target 'AppGT' do # Pods for AppGT pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" - pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" + # pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" + pod 'FBReactNativeSpec', :path => "../node_modules/react-native/React/FBReactNativeSpec" pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety" pod 'React', :path => '../node_modules/react-native/' @@ -34,7 +35,10 @@ target 'AppGT' do pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' - pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + # pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + pod 'RCT-Folly', :podspec => '../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec' + pod 'React-perflogger', :path => '../node_modules/react-native/ReactCommon/reactperflogger' + pod 'React-runtimeexecutor', :path => '../node_modules/react-native/ReactCommon/runtimeexecutor' permissions_path = '../node_modules/react-native-permissions/ios' pod 'Permission-Camera', :path => "#{permissions_path}/Camera" diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 08606dd7..610341ae 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -6,14 +6,14 @@ PODS: - AppAuth/ExternalUserAgent (1.4.0) - boost-for-react-native (1.63.0) - DoubleConversion (1.1.6) - - FBLazyVector (0.63.2) - - FBReactNativeSpec (0.63.2): - - Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.2) - - RCTTypeSafety (= 0.63.2) - - React-Core (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) + - FBLazyVector (0.64.1) + - FBReactNativeSpec (0.64.1): + - RCT-Folly (= 2020.01.13.00) + - RCTRequired (= 0.64.1) + - RCTTypeSafety (= 0.64.1) + - React-Core (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) - Firebase/CoreOnly (7.11.0): - FirebaseCore (= 7.11.0) - Firebase/Messaging (7.11.0): @@ -46,15 +46,6 @@ PODS: - GoogleUtilities/Environment (~> 7.0) - GoogleUtilities/Reachability (~> 7.0) - GoogleUtilities/UserDefaults (~> 7.0) - - Folly (2020.01.13.00): - - boost-for-react-native - - DoubleConversion - - Folly/Default (= 2020.01.13.00) - - glog - - Folly/Default (2020.01.13.00): - - boost-for-react-native - - DoubleConversion - - glog - glog (0.3.5) - GoogleDataTransport (8.4.0): - GoogleUtilities/Environment (~> 7.2) @@ -85,172 +76,199 @@ PODS: - Permission-Camera (3.3.0): - RNPermissions - PromisesObjC (1.2.12) - - RCTRequired (0.63.2) - - RCTTypeSafety (0.63.2): - - FBLazyVector (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.2) - - React-Core (= 0.63.2) - - React (0.63.2): - - React-Core (= 0.63.2) - - React-Core/DevSupport (= 0.63.2) - - React-Core/RCTWebSocket (= 0.63.2) - - React-RCTActionSheet (= 0.63.2) - - React-RCTAnimation (= 0.63.2) - - React-RCTBlob (= 0.63.2) - - React-RCTImage (= 0.63.2) - - React-RCTLinking (= 0.63.2) - - React-RCTNetwork (= 0.63.2) - - React-RCTSettings (= 0.63.2) - - React-RCTText (= 0.63.2) - - React-RCTVibration (= 0.63.2) - - React-callinvoker (0.63.2) - - React-Core (0.63.2): - - Folly (= 2020.01.13.00) + - RCT-Folly (2020.01.13.00): + - boost-for-react-native + - DoubleConversion + - glog + - RCT-Folly/Default (= 2020.01.13.00) + - RCT-Folly/Default (2020.01.13.00): + - boost-for-react-native + - DoubleConversion + - glog + - RCTRequired (0.64.1) + - RCTTypeSafety (0.64.1): + - FBLazyVector (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTRequired (= 0.64.1) + - React-Core (= 0.64.1) + - React (0.64.1): + - React-Core (= 0.64.1) + - React-Core/DevSupport (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-RCTActionSheet (= 0.64.1) + - React-RCTAnimation (= 0.64.1) + - React-RCTBlob (= 0.64.1) + - React-RCTImage (= 0.64.1) + - React-RCTLinking (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - React-RCTSettings (= 0.64.1) + - React-RCTText (= 0.64.1) + - React-RCTVibration (= 0.64.1) + - React-callinvoker (0.64.1) + - React-Core (0.64.1): - glog - - React-Core/Default (= 0.63.2) - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-Core/Default (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/CoreModulesHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/CoreModulesHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/Default (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/Default (0.64.1): - glog - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/DevSupport (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/DevSupport (0.64.1): - glog - - React-Core/Default (= 0.63.2) - - React-Core/RCTWebSocket (= 0.63.2) - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) - - React-jsinspector (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-Core/Default (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-jsinspector (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTActionSheetHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTAnimationHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTAnimationHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTBlobHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTBlobHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTImageHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTImageHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTLinkingHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTLinkingHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTNetworkHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTNetworkHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTSettingsHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTSettingsHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTTextHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTTextHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTVibrationHeaders (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTVibrationHeaders (0.64.1): - glog + - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTWebSocket (0.63.2): - - Folly (= 2020.01.13.00) + - React-Core/RCTWebSocket (0.64.1): - glog - - React-Core/Default (= 0.63.2) - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsiexecutor (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-Core/Default (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-CoreModules (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/CoreModulesHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - React-RCTImage (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-cxxreact (0.63.2): + - React-CoreModules (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/CoreModulesHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTImage (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-cxxreact (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.2) - - React-jsinspector (= 0.63.2) - - React-jsi (0.63.2): + - RCT-Folly (= 2020.01.13.00) + - React-callinvoker (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsinspector (= 0.64.1) + - React-perflogger (= 0.64.1) + - React-runtimeexecutor (= 0.64.1) + - React-jsi (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-jsi/Default (= 0.63.2) - - React-jsi/Default (0.63.2): + - RCT-Folly (= 2020.01.13.00) + - React-jsi/Default (= 0.64.1) + - React-jsi/Default (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-jsiexecutor (0.63.2): + - RCT-Folly (= 2020.01.13.00) + - React-jsiexecutor (0.64.1): - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) - - React-jsinspector (0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-perflogger (= 0.64.1) + - React-jsinspector (0.64.1) - react-native-app-auth (6.4.0): - AppAuth (= 1.4.0) - React-Core @@ -264,66 +282,70 @@ PODS: - React-Core - react-native-safe-area-context (3.3.2): - React-Core - - React-RCTActionSheet (0.63.2): - - React-Core/RCTActionSheetHeaders (= 0.63.2) - - React-RCTAnimation (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/RCTAnimationHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTBlob (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - React-Core/RCTBlobHeaders (= 0.63.2) - - React-Core/RCTWebSocket (= 0.63.2) - - React-jsi (= 0.63.2) - - React-RCTNetwork (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTImage (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/RCTImageHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - React-RCTNetwork (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTLinking (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - React-Core/RCTLinkingHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTNetwork (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/RCTNetworkHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTSettings (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.2) - - React-Core/RCTSettingsHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - React-RCTText (0.63.2): - - React-Core/RCTTextHeaders (= 0.63.2) - - React-RCTVibration (0.63.2): - - FBReactNativeSpec (= 0.63.2) - - Folly (= 2020.01.13.00) - - React-Core/RCTVibrationHeaders (= 0.63.2) - - React-jsi (= 0.63.2) - - ReactCommon/turbomodule/core (= 0.63.2) - - ReactCommon/turbomodule/core (0.63.2): + - React-perflogger (0.64.1) + - React-RCTActionSheet (0.64.1): + - React-Core/RCTActionSheetHeaders (= 0.64.1) + - React-RCTAnimation (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTAnimationHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTBlob (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - React-Core/RCTBlobHeaders (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTImage (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTImageHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTLinking (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - React-Core/RCTLinkingHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTNetwork (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTNetworkHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTSettings (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTSettingsHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTText (0.64.1): + - React-Core/RCTTextHeaders (= 0.64.1) + - React-RCTVibration (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - RCT-Folly (= 2020.01.13.00) + - React-Core/RCTVibrationHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-runtimeexecutor (0.64.1): + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (0.64.1): - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.2) - - React-Core (= 0.63.2) - - React-cxxreact (= 0.63.2) - - React-jsi (= 0.63.2) + - RCT-Folly (= 2020.01.13.00) + - React-callinvoker (= 0.64.1) + - React-Core (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-perflogger (= 0.64.1) - ReactNativeDarkMode (0.2.2): - React - RNCAsyncStorage (1.12.1): @@ -361,10 +383,10 @@ PODS: DEPENDENCIES: - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`) - - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) @@ -380,6 +402,7 @@ DEPENDENCIES: - react-native-app-auth (from `../node_modules/react-native-app-auth`) - react-native-camera (from `../node_modules/react-native-camera`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) @@ -389,6 +412,7 @@ DEPENDENCIES: - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - ReactNativeDarkMode (from `../node_modules/react-native-dark-mode`) - "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)" @@ -426,13 +450,13 @@ EXTERNAL SOURCES: FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: - :path: "../node_modules/react-native/Libraries/FBReactNativeSpec" - Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" + :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" Permission-Camera: :path: "../node_modules/react-native-permissions/ios/Camera" + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: :path: "../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: @@ -459,6 +483,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-camera" react-native-safe-area-context: :path: "../node_modules/react-native-safe-area-context" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: @@ -477,6 +503,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: :path: "../node_modules/react-native/ReactCommon" ReactNativeDarkMode: @@ -511,45 +539,47 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7 boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c - DoubleConversion: cde416483dac037923206447da6e1454df403714 - FBLazyVector: 3ef4a7f62e7db01092f9d517d2ebc0d0677c4a37 - FBReactNativeSpec: dc7fa9088f0f2a998503a352b0554d69a4391c5a + DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de + FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 + FBReactNativeSpec: 6553874f0bb5ab989352b473d1323d0fba9dc754 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c FirebaseInstallations: a58d4f72ec5861840b84df489f2668d970df558a FirebaseInstanceID: ad5135045a498d7775903efd39762d2cdfa1be27 FirebaseMessaging: 163435fb6db065e3b6228f1e577b10ed2cc506d2 - Folly: b73c3869541e86821df3c387eb0af5f65addfab4 - glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 + glog: 73c2498ac6884b13ede40eda8228cb1eee9d9d62 GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 - RCTRequired: f13f25e7b12f925f1f6a6a8c69d929a03c0129fe - RCTTypeSafety: 44982c5c8e43ff4141eb519a8ddc88059acd1f3a - React: e1c65dd41cb9db13b99f24608e47dd595f28ca9a - React-callinvoker: 552a6a6bc8b3bb794cf108ad59e5a9e2e3b4fc98 - React-Core: 9d341e725dc9cd2f49e4c49ad1fc4e8776aa2639 - React-CoreModules: 5335e168165da7f7083ce7147768d36d3e292318 - React-cxxreact: d3261ec5f7d11743fbf21e263a34ea51d1f13ebc - React-jsi: 54245e1d5f4b690dec614a73a3795964eeef13a8 - React-jsiexecutor: 8ca588cc921e70590820ce72b8789b02c67cce38 - React-jsinspector: b14e62ebe7a66e9231e9581279909f2fc3db6606 + RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c + RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 + RCTTypeSafety: 22567f31e67c3e088c7ac23ea46ab6d4779c0ea5 + React: a241e3dbb1e91d06332f1dbd2b3ab26e1a4c4b9d + React-callinvoker: da4d1c6141696a00163960906bc8a55b985e4ce4 + React-Core: 46ba164c437d7dac607b470c83c8308b05799748 + React-CoreModules: 217bd14904491c7b9940ff8b34a3fe08013c2f14 + React-cxxreact: 0090588ae6660c4615d3629fdd5c768d0983add4 + React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 + React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 + React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 - React-RCTActionSheet: 910163b6b09685a35c4ebbc52b66d1bfbbe39fc5 - React-RCTAnimation: 9a883bbe1e9d2e158d4fb53765ed64c8dc2200c6 - React-RCTBlob: 39cf0ece1927996c4466510e25d2105f67010e13 - React-RCTImage: de355d738727b09ad3692f2a979affbd54b5f378 - React-RCTLinking: 8122f221d395a63364b2c0078ce284214bd04575 - React-RCTNetwork: 8f96c7b49ea6a0f28f98258f347b6ad218bc0830 - React-RCTSettings: 8a49622aff9c1925f5455fa340b6fe4853d64ab6 - React-RCTText: 1b6773e776e4b33f90468c20fe3b16ca3e224bb8 - React-RCTVibration: 4d2e726957f4087449739b595f107c0d4b6c2d2d - ReactCommon: a0a1edbebcac5e91338371b72ffc66aa822792ce + React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 + React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a + React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 + React-RCTBlob: f758d4403fc5828a326dc69e27b41e1a92f34947 + React-RCTImage: ce57088705f4a8d03f6594b066a59c29143ba73e + React-RCTLinking: 852a3a95c65fa63f657a4b4e2d3d83a815e00a7c + React-RCTNetwork: 9d7ccb8a08d522d71700b4fb677d9fa28cccd118 + React-RCTSettings: d8aaf4389ff06114dee8c42ef5f0f2915946011e + React-RCTText: 809c12ed6b261796ba056c04fcd20d8b90bcc81d + React-RCTVibration: 4b99a7f5c6c0abbc5256410cc5425fb8531986e1 + React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 + ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 @@ -563,8 +593,8 @@ SPEC CHECKSUMS: RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f RNVectorIcons: bc69e6a278b14842063605de32bec61f0b251a59 - Yoga: 7740b94929bbacbddda59bf115b5317e9a161598 + Yoga: a7de31c64fe738607e7a3803e3f591a4b1df7393 -PODFILE CHECKSUM: 4d332ec7a1d62fb17ce2401299cc3e6ce6ba67bd +PODFILE CHECKSUM: 84a659b4235f23cbc72c89980eb38cfc53d5dae1 COCOAPODS: 1.11.2 From c63bc7704ad9a3e10389384307312cb489a200ee Mon Sep 17 00:00:00 2001 From: rashmiathavale Date: Thu, 22 Sep 2022 20:40:06 -0400 Subject: [PATCH 036/102] added dark/light mode compatibility, back button positioning, and tab to switch between QR code scanning and NFC scanning --- package-lock.json | 8 + package.json | 1 + participantCheckin/CheckInTab.js | 288 ++++++++++++++++++------------- participantCheckin/QRScan.js | 219 +++++++++++++++-------- themes/index.js | 12 ++ 5 files changed, 335 insertions(+), 193 deletions(-) diff --git a/package-lock.json b/package-lock.json index 14e0f513..773b2473 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11475,6 +11475,14 @@ } } }, + "react-native-toggle-element": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/react-native-toggle-element/-/react-native-toggle-element-2.0.1.tgz", + "integrity": "sha512-+btOh+1HAc/nrhc/ktAPYiNLIHYij+5+V+I6twxbDOx3ezfeiWQJkODAJQBgO2+7xxWn8zmlxQ3X/DIJCuJ4mg==", + "requires": { + "prop-types": "^15.7.2" + } + }, "react-native-vector-icons": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-7.1.0.tgz", diff --git a/package.json b/package.json index 9c641b08..1f030965 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "react-native-screens": "^2.18.1", "react-native-svg": "^12.1.1", "react-native-svg-transformer": "^0.14.3", + "react-native-toggle-element": "^2.0.1", "react-native-vector-icons": "^7.1.0" }, "devDependencies": { diff --git a/participantCheckin/CheckInTab.js b/participantCheckin/CheckInTab.js index 267ebfef..390f5ff4 100644 --- a/participantCheckin/CheckInTab.js +++ b/participantCheckin/CheckInTab.js @@ -1,5 +1,14 @@ import React, { useState, useEffect } from "react"; -import { Text, View, StyleSheet,ScrollView, FlatList, TouchableOpacity, Button } from "react-native"; +import { + Text, + View, + StyleSheet, + ScrollView, + FlatList, + TouchableOpacity, + Button, + Pressable, +} from "react-native"; import { ThemeContext } from "../context"; import { EventSel } from "./EventSel"; import { ScanScreen } from "./ScanScreen"; @@ -8,11 +17,10 @@ import { SearchBar } from "react-native-elements"; import { dynamicStyles } from "../themes"; export function CheckInTab(props) { - - const [events, setEvents] = useState(null) - const [selectedEvent, setSelectedEvent] = useState(null) - const [searchText, setSearchText] = useState("") - const [searchResults, setSearchResults] = useState(null) + const [events, setEvents] = useState(null); + const [selectedEvent, setSelectedEvent] = useState(null); + const [searchText, setSearchText] = useState(""); + const [searchResults, setSearchResults] = useState(null); useEffect(() => { async function refreshEventState() { @@ -44,148 +52,185 @@ export function CheckInTab(props) { }), }); const data = await response.json(); - setEvents(data.data.allEvents) + setEvents(data.data.allEvents); } - refreshEventState() - }, []) + refreshEventState(); + }, []); const searchEvents = (value) => { - var newEvents = events.filter(e => e.name.includes(searchText)); - setSearchResults(newEvents) - setSearchText(value) + var newEvents = events.filter((e) => e.name.includes(searchText)); + setSearchResults(newEvents); + setSearchText(value); }; const onPressEvent = (event) => { if (event) { - setSelectedEvent(event) + setSelectedEvent(event); } else { - setSelectedEvent(null) + setSelectedEvent(null); } }; - if(events != null) { // there are no events getting properly populated + if (events != null) { + // there are no events getting properly populated var formattedEvents = []; var shownEvents = searchText.length != 0 ? searchResults : events; - shownEvents.forEach((event)=>{ - const eventType = event != null && event.type != null + shownEvents.forEach((event) => { + const eventType = + event != null && event.type != null ? event.type : { name: "none", color: "gray" }; - const loc = event != null && event.location != null && event.location[0] != null && event.location[0].name != null + const loc = + event != null && + event.location != null && + event.location[0] != null && + event.location[0].name != null ? event.location[0].name + " • " : ""; formattedEvents.push( - { - onPressEvent(event); - }} - > - - + onPress={() => { + onPressEvent(event); + }} + > + + ); - }) - if(selectedEvent == null) { - return ( - - {({ dynamicStyles }) => ( - - - - } - containerStyle={[ - styles.searchContainer, - dynamicStyles.backgroundColor, - dynamicStyles.searchBorderTopColor, - dynamicStyles.searchBorderBottomColor, - { flex: 1 } - ]} - inputContainerStyle={[ - styles.inputContainer, - dynamicStyles.searchBackgroundColor, - ]} - clearIcon={null} - lightTheme - round - placeholder="Search..." - onChangeText={(value) => searchEvents(value)} - value={searchText} - /> - + }); + if (selectedEvent == null) { + return ( + + {({ dynamicStyles }) => ( + + + + } + containerStyle={[ + styles.searchContainer, + dynamicStyles.backgroundColor, + dynamicStyles.searchBorderTopColor, + dynamicStyles.searchBorderBottomColor, + { flex: 1 }, + ]} + inputContainerStyle={[ + styles.inputContainer, + dynamicStyles.searchBackgroundColor, + ]} + clearIcon={null} + lightTheme + round + placeholder="Search..." + onChangeText={(value) => searchEvents(value)} + value={searchText} + /> + - - - - {formattedEvents} - - - + + + {formattedEvents} - )} - - ); - } else { - return ( - - {({ dynamicStyles }) => ( - - - {selectedEvent.name} - - {selectedEvent != null && selectedEvent.location != null && selectedEvent.location[0] != null && selectedEvent.location[0].name != null - ? selectedEvent.location[0].name + " • " - : ""} - {selectedEvent.startTime + ' - ' + selectedEvent.endTime} - - - - )} - - ); - - } + + + )} + + ); + } else { + return ( + + {({ dynamicStyles }) => ( + + + { + onPressEvent(null); + }} + > + + {"< Back"} + + - } else { - return (); + + {selectedEvent.name} + + + {selectedEvent != null && + selectedEvent.location != null && + selectedEvent.location[0] != null && + selectedEvent.location[0].name != null + ? selectedEvent.location[0].name + " • " + : ""} + {selectedEvent.startTime + " - " + selectedEvent.endTime} + + + + + )} + + ); + } + } else { + return ; } } - const styles = StyleSheet.create({ + backButton: { + alignItems: "flex-start", + }, + + backButtontext: { + fontFamily: "SpaceMono-Bold", + fontSize: 17, + marginTop: 10, + }, header: { fontFamily: "SpaceMono-Bold", @@ -200,7 +245,8 @@ const styles = StyleSheet.create({ fontFamily: "SpaceMono-Bold", fontSize: 22, marginBottom: 10, - marginTop: 10 + marginTop: 10, + textAlign: "center", }, eventContainer: { diff --git a/participantCheckin/QRScan.js b/participantCheckin/QRScan.js index 85650001..854cbd6e 100644 --- a/participantCheckin/QRScan.js +++ b/participantCheckin/QRScan.js @@ -1,105 +1,180 @@ import { Text, StyleSheet, View, Alert, Dimensions } from "react-native"; -import QRCodeScanner from 'react-native-qrcode-scanner'; -import { RNCamera } from 'react-native-camera'; +import Toggle from "react-native-toggle-element"; +import QRCodeScanner from "react-native-qrcode-scanner"; +import { RNCamera } from "react-native-camera"; import { TouchableOpacity } from "react-native-gesture-handler"; import React, { useState, useEffect, useContext, useRef } from "react"; -import {request, PERMISSIONS} from "react-native-permissions"; +import { request, PERMISSIONS } from "react-native-permissions"; import { logInteraction } from "../yac"; import { HackathonContext, ScavHuntContext } from "../context"; - - +import { dynamicStyles } from "../themes"; +import { ThemeContext } from "../context"; function QRScan(props) { - const { hackathon } = useContext(HackathonContext) - const[uid, setUid] = useState('') - const[fName, setfName] = useState("") - const[lName, setlName] = useState("") - const[email, setEmail] = useState("") - const [status, setStatus] = useState(-1) - const scanner = useRef(null) + const { hackathon } = useContext(HackathonContext); + const [toggleValue, setToggleValue] = useState(false); + const [uid, setUid] = useState(""); + const [fName, setfName] = useState(""); + const [lName, setlName] = useState(""); + const [email, setEmail] = useState(""); + const [status, setStatus] = useState(-1); + const scanner = useRef(null); const styles = StyleSheet.create({ - centerText: { - flex: 1, - fontSize: 12, - padding: 4, - color: '#777' - }, - textBold: { - fontWeight: '500', - color: '#000' - }, - buttonText: { - fontSize: 21 - }, - buttonTouchable: { - padding: 16 - } + centerText: { + flex: 1, + fontSize: 14, + padding: 4, + color: "#777", + fontFamily: "SpaceMono-Bold", + }, + textBold: { + fontWeight: "500", + color: "#000", + }, + buttonText: { + fontSize: 21, + }, + buttonTouchable: { + padding: 16, + }, }); useEffect(() => { - console.log("235") - console.log('ID: ', hackathon) + console.log("235"); + console.log("ID: ", hackathon); request(PERMISSIONS.IOS.CAMERA).then((result) => { - console.log("asdf") - console.log(result) + console.log("asdf"); + console.log(result); }); }, []); - const onSuccess = async e => { - console.log('QR code scanned!', e) - const json = JSON.parse(e.data) + const onSuccess = async (e) => { + console.log("QR code scanned!", e); + const json = JSON.parse(e.data); if (json.uid) { - setEmail(json.email) - setfName(json.name.first) - setlName(json.name.last) - setUid(json.uid) - const res = await logInteraction(hackathon.name, 'event', json.uid, props.eventID) - setStatus(res.status) - console.log('RES: ', res) + setEmail(json.email); + setfName(json.name.first); + setlName(json.name.last); + setUid(json.uid); + const res = await logInteraction( + hackathon.name, + "event", + json.uid, + props.eventID + ); + setStatus(res.status); + console.log("RES: ", res); if (res.status !== 200) { - createAlert(res.json.message) + createAlert(res.json.message); } else { setTimeout(() => { if (scanner && scanner.current) { - scanner.current.reactivate() + scanner.current.reactivate(); } }, 2000); } } else { - createAlert("Invalid QR Code") + createAlert("Invalid QR Code"); } }; const createAlert = (message) => - Alert.alert( - "Error", - message, - [ - { text: "OK", onPress: () => { + Alert.alert("Error", message, [ + { + text: "OK", + onPress: () => { if (scanner && scanner.current) { - scanner.current.reactivate() + scanner.current.reactivate(); } - } } - ] - ); - + }, + }, + ]); + return ( - - - {status === 200 ? "Success!" : status === -1 ? "Scan to get started!" : "Try again!"} - {'Name: ' + fName + ' ' + lName} - {'Email: ' + email} - {'ID: ' + uid} - - - + + {({ dynamicStyles }) => ( + + + + {status === 200 + ? "Success!" + : status === -1 + ? "Scan to get started!" + : "Try again!"} + + + {"Name: " + fName + " " + lName} + + {"Email: " + email} + {"ID: " + uid} + + setToggleValue(newState)} + leftComponent={ + + QR Code + + } + rightComponent={ + + NFC + + } + trackBar={{ + width: 200, + activeBackgroundColor: dynamicStyles.trackBarBackground.color, + inActiveBackgroundColor: + dynamicStyles.trackBarBackground.color, + borderActiveColor: dynamicStyles.trackBarBackground.color, + borderInActiveColor: dynamicStyles.trackBarBackground.color, + borderWidth: 3, + }} + thumbButton={{ + width: 100, + activeBackgroundColor: + dynamicStyles.toggleThumbBackgroundColor.color, + inActiveBackgroundColor: + dynamicStyles.toggleThumbBackgroundColor.color, + }} + /> + + + + + )} + ); } diff --git a/themes/index.js b/themes/index.js index 262d7f17..688c737d 100644 --- a/themes/index.js +++ b/themes/index.js @@ -12,6 +12,18 @@ export const dynamicStyles = new DynamicStyleSheet({ color: new DynamicValue("#3F3F3F", "white"), }, + toggleText: { + color: new DynamicValue("black", "white"), + }, + + trackBarBackground: { + color: new DynamicValue("#d3d3d3", "#4a5568"), + }, + + toggleThumbBackgroundColor: { + color: new DynamicValue("white", "black"), + }, + filterText: { color: new DynamicValue("white", "#0F0F0F"), fontSize: 15, From e7fca057c71c6401ad5c75ce02bb53b819013b1a Mon Sep 17 00:00:00 2001 From: rashmiathavale Date: Thu, 22 Sep 2022 20:47:45 -0400 Subject: [PATCH 037/102] added test text to NFC tab --- participantCheckin/QRScan.js | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/participantCheckin/QRScan.js b/participantCheckin/QRScan.js index 854cbd6e..74153124 100644 --- a/participantCheckin/QRScan.js +++ b/participantCheckin/QRScan.js @@ -123,7 +123,7 @@ function QRScan(props) { setToggleValue(newState)} + onPress={setToggleValue} leftComponent={ - + {!toggleValue ? ( + + ) : ( + test + )} )} From b5c2185acc309d3dc2c86afe45b20730c678f0cc Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Thu, 29 Sep 2022 19:38:38 -0400 Subject: [PATCH 038/102] Refactored auth and integrated firebase login --- App.js | 426 ++++++++++++--------------------- index.js | 8 + ios/AppGT/Info.plist | 4 +- ios/Podfile.lock | 6 + onboarding/EventOnboarding.js | 2 +- onboarding/LoginOnboarding.js | 154 ++++++++---- package-lock.json | 263 ++------------------ package.json | 1 + scav_hunt/ScavHuntItem.js | 2 +- state_management/auth/index.js | 49 +++- 10 files changed, 345 insertions(+), 570 deletions(-) diff --git a/App.js b/App.js index 228c7f34..2b4ba886 100644 --- a/App.js +++ b/App.js @@ -4,7 +4,7 @@ import { WebView } from 'react-native-webview'; import UserAgent from 'react-native-user-agent' import { fetchHackathonData } from "./cms"; import { HackathonContext, AuthContext, ThemeContext } from "./context"; -import { StatusBar, Modal, SafeAreaView, Text, View } from "react-native"; +import { StatusBar, Modal, SafeAreaView, Platform, View } from "react-native"; import { LoginOnboarding } from "./onboarding/LoginOnboarding"; import SplashScreen from "./components/SplashScreen"; import { EventOnboarding } from "./onboarding/EventOnboarding"; @@ -26,8 +26,6 @@ import { import { dynamicStyles } from "./themes"; import firebase from "@react-native-firebase/app"; import messaging from "@react-native-firebase/messaging"; -import { initializeApp } from 'firebase/app'; -import { getAuth, GithubAuthProvider, signInWithPopup } from "firebase/auth"; import { ScheduleStackScreen, @@ -40,7 +38,7 @@ import { ThemeProvider, HackathonProvider, AuthProvider } from "./state_manageme // old groundtruth auth // const authUrl = "https://login.hack.gt"; -const authUrl = "https://login.hexlabs.org/?redirect=https://mobile.hexlabs.org" +const loginUrl = "https://login.hexlabs.org" const config = { @@ -48,8 +46,8 @@ const config = { redirectUrl: "gt.hack.live://redirect", clientSecret: "hackgt", serviceConfiguration: { - authorizationEndpoint: `${authUrl}/oauth/authorize`, - tokenEndpoint: `${authUrl}/oauth/token`, + authorizationEndpoint: `${loginUrl}/oauth/authorize`, + tokenEndpoint: `${loginUrl}/oauth/token`, }, }; @@ -106,33 +104,18 @@ PushNotification.configure({ // for editing styles shown on tabs, see https://reactnavigation.org/docs/tab-based-navigation const Tab = createBottomTabNavigator(); -const app = initializeApp({ - apiKey: "AIzaSyCsukUZtMkI5FD_etGfefO4Sr7fHkZM7Rg", - authDomain: "hexlabs-cloud.firebaseapp.com", -}); - -const auth = getAuth(app); -const provider = new GithubAuthProvider(); - function App(props) { // event data const [hackathon, setHackathon] = useState(null) const [eventTypes, setEventTypes] = useState([]) - const [types, setTypes] = useState([]) const [starredIds, setStarredIds] = useState([]) const [isStarSchedule, setIsStarSchedule] = useState(false) // used for finding current state of screen for loading/login components const [isFetchingData, setIsFetchingData] = useState(true) - const [isFetchingLogin, setIsFetchingLogin] = useState(true) - // login data - const [showLogin, setShowLogin] = useState(false); - const [user, setUser] = useState(null) - const [accessToken, setAccessToken] = useState(null) // TODO: temporary, onboarding login should show when user is null. login is disabled so remove this whn fixed - const [skipOnboarding, setSkipOnboarding] = useState(false) const [scheduleModal, setScheduleModal] = useState(false) const [pastEventOnboardID, setPastEventOnboardID] = useState(null) @@ -155,13 +138,6 @@ function App(props) { console.log(isStarSchedule) }); - AsyncStorage.getItem("userData", (error, result) => { - if (result) { - setUser(JSON.parse(result)) - } - setIsFetchingLogin(false) - }); - AsyncStorage.getItem("localEventTypeData", (error, result) => { if (result) { const eventTypes = JSON.parse(result); @@ -226,6 +202,8 @@ function App(props) { }, []) + + useEffect(() => { AsyncStorage.setItem( "isStarSchedule", @@ -281,20 +259,6 @@ function App(props) { // } // }; - const logout = async () => { - fetch(`${authUrl}/api/user/logout`, { - method: "POST", - headers: { - Authorization: "Bearer " + accessToken, - }, - }).then((response) => { - AsyncStorage.removeItem("accessToken"); - AsyncStorage.removeItem("userData"); - setAccessToken("") - setUser(null) - }); - }; - // groundtruth login // const login = async () => { // try { @@ -308,58 +272,11 @@ function App(props) { // } // }; - // webview login - const login = async () => { - try { - setShowLogin(!showLogin); - } catch (error) { - console.log(error) - } - } - - // const login = async () => { - // signInWithPopup(auth, provider) - // .then((userCredential) => { - // console.log('CRED: ', userCredential) - // }) - // .catch((error) => { - // // handleLoginError(error); - // }); - // } - - const fetchUserDetails = async (accessToken) => { - fetch(`${authUrl}/api/user`, { - method: "GET", - headers: { - Authorization: "Bearer " + accessToken, - }, - }) - .then((response) => { - return response.json(); - }) - .then((userData) => { - const name = userData.nameParts; - const user = { - email: userData.email, - name: userData.name, - firstName: name.first, - preferredName: name.preferred, - lastName: name.last, - uuid: userData.uuid, - }; - - AsyncStorage.setItem("userData", JSON.stringify(user)); - setUser(user) - }); - }; - const Stack = createStackNavigator(); console.log(hackathon) // TODO: login re-enable - const needsLogin = user == null; - const isLoading = isFetchingData || isFetchingLogin; const splashGrowModal = ( @@ -370,195 +287,158 @@ function App(props) { ); - // until app is done loading data, show the splash screen - if (isLoading) { - return ( - - setScheduleModal(true)} - /> - - ); - } - console.log('AGENT: ', UserAgent.getUserAgent()) - // if user needs to login, do splash grow/fade out animation then show login - if (needsLogin) { - return ( - - - {!scheduleModal && splashGrowModal} - - - - {/* Use the following url with Chrome on Iphone for userAgent: https://www.whatismybrowser.com/guides/the-latest-user-agent/chrome */} - { - console.log(event); - if (event.url.startsWith('https://mobile.hexlabs.org')) {// event.title === 'OAuth application authorized') { - const splitUrl = event.url.split('?') - if (splitUrl[1]) { - const params = splitUrl[1].split('&') - const codeParam = params.find(param => param.startsWith('idToken')) - if (codeParam) { - const authCode = codeParam.split('=')[1] - console.log('AuthCode: ', authCode) - setShowLogin(false) - } - } - } - }} - /> - - - - - - - - - - - ); - } - - const showEventOnboard = pastEventOnboardID !== hackathon.id; - - // if logging in with a hexlabs email - const showCheckin = /@hexlabs.org\s*$/.test(user.email) - // once logged in and all data is loaded, present full app after grow animation return ( - - - - {!scheduleModal && splashGrowModal} - - - - {/* TODO: when need tab bottom bar, convert "Stack." to "Tab." and remoe headerMode="none" and finally add different screens below */} - + + {({isLoading, showLogin, user}) => { + // until app is done loading data, show the splash screen + if (isLoading || isFetchingData) { + return ( + + setScheduleModal(true)} + /> + + ); + } + // if user needs to login, do splash grow/fade out animation then show login + if (showLogin) { + return ( + + + {!scheduleModal && splashGrowModal} + + + ); + } + + const showEventOnboard = pastEventOnboardID !== hackathon.id; + + // if logging in with a hexlabs email + // const showCheckin = /@hexlabs.org\s*$/.test(user.email) + const showCheckin = user && user.roles.member + // once logged in and all data is loaded, present full app after grow animation + return ( + ({ - tabBarIcon: ({ focused, color, size }) => { - let icon; - const selectedColor = focused - ? props.styles.tintColor.color - : props.styles.text.color; - - if (route.name === "Schedule") { - icon = faCalendar; - } else if (route.name === "Information") { - icon = faInfoCircle; - } else if (route.name === "ScavengerHunt") { - icon = faMapSigns - } else if (route.name === "CheckIn") { - icon = faClipboardCheck; - } - - return ( - - ); - }, - })} > - {showEventOnboard ? ( - ( - { - setPastEventOnboardID(hackathon.id) - AsyncStorage.setItem( - "pastEventOnboardID", - hackathon.id - ); + + {!scheduleModal && splashGrowModal} + + + + {/* TODO: when need tab bottom bar, convert "Stack." to "Tab." and remoe headerMode="none" and finally add different screens below */} + - )} - > - ) : ( - - )} - - - - - - - - - - ); + screenOptions={({ route }) => ({ + tabBarIcon: ({ focused, color, size }) => { + let icon; + const selectedColor = focused + ? props.styles.tintColor.color + : props.styles.text.color; + + if (route.name === "Schedule") { + icon = faCalendar; + } else if (route.name === "Information") { + icon = faInfoCircle; + } else if (route.name === "ScavengerHunt") { + icon = faMapSigns + } else if (route.name === "CheckIn") { + icon = faClipboardCheck; + } + + return ( + + ); + }, + })} + > + {showEventOnboard ? ( + ( + { + setPastEventOnboardID(hackathon.id) + AsyncStorage.setItem( + "pastEventOnboardID", + hackathon.id + ); + }} + > + )} + > + ) : ( + + )} + + + + { !showCheckin ? null : + + } + + + + + ); + }} + + + + ) } export default withThemeHook(App); diff --git a/index.js b/index.js index a850d031..e7a29003 100644 --- a/index.js +++ b/index.js @@ -5,5 +5,13 @@ import {AppRegistry} from 'react-native'; import App from './App'; import {name as appName} from './app.json'; +import { initializeApp } from 'firebase/app'; + + +export const app = initializeApp({ + apiKey: "AIzaSyCsukUZtMkI5FD_etGfefO4Sr7fHkZM7Rg", + authDomain: "auth.hexlabs.org", +}); + AppRegistry.registerComponent(appName, () => App); diff --git a/ios/AppGT/Info.plist b/ios/AppGT/Info.plist index 1e1411fe..421461ab 100644 --- a/ios/AppGT/Info.plist +++ b/ios/AppGT/Info.plist @@ -23,11 +23,13 @@ CFBundleURLTypes + CFBundleTypeRole + Editor CFBundleURLName $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleURLSchemes - gt.hack.live + hexlabs diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 714355b7..aa85d304 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -372,6 +372,8 @@ PODS: - RNFBApp - RNGestureHandler (1.10.3): - React-Core + - RNInAppBrowser (3.7.0): + - React-Core - RNPermissions (3.3.0): - React-Core - RNReanimated (1.13.3): @@ -428,6 +430,7 @@ DEPENDENCIES: - "RNFBIid (from `../node_modules/@react-native-firebase/iid`)" - "RNFBMessaging (from `../node_modules/@react-native-firebase/messaging`)" - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - RNInAppBrowser (from `../node_modules/react-native-inappbrowser-reborn`) - RNPermissions (from `../node_modules/react-native-permissions`) - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) @@ -533,6 +536,8 @@ EXTERNAL SOURCES: :path: "../node_modules/@react-native-firebase/messaging" RNGestureHandler: :path: "../node_modules/react-native-gesture-handler" + RNInAppBrowser: + :path: "../node_modules/react-native-inappbrowser-reborn" RNPermissions: :path: "../node_modules/react-native-permissions" RNReanimated: @@ -600,6 +605,7 @@ SPEC CHECKSUMS: RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 + RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d diff --git a/onboarding/EventOnboarding.js b/onboarding/EventOnboarding.js index 4c063120..1e1bb4f9 100644 --- a/onboarding/EventOnboarding.js +++ b/onboarding/EventOnboarding.js @@ -49,7 +49,7 @@ export function EventOnboarding(props) { {({ dynamicStyles }) => ( {({ user }) => { - const id = user ? user.uuid : "Unknown UUID"; + const id = user ? user.userId : "Unknown UUID"; return ( { + try { + const path = '' + const deepLink = getDeepLink(path) + const redirect = '/?redirect=hexlabs://' + path + const result = await InAppBrowser.openAuth(loginUrl + redirect, deepLink, {}) + if (result.type === 'success') { + const splitUrl = result.url.split('?') + if (splitUrl[1]) { + const params = splitUrl[1].split('&') + const codeParam = params.find(param => param.startsWith('idToken')) + if (codeParam) { + const idToken = codeParam.split('=')[1] + console.log('idToken: ', idToken) + fetchAccessToken(idToken) + } + } + } + console.log(JSON.stringify(result)) + } catch (error) { + console.log(error) + } + } + + const getDeepLink = (path = '') => { + const scheme = 'hexlabs' + const prefix = Platform.OS == 'android' ? `${scheme}://my-host/` : `${scheme}://` + return prefix + path + } + + const fetchAccessToken = async (idToken) => { + console.log('token: ', idToken) + fetch(`${authUrl + '/auth/status'}/`, { + method: "GET", + headers: { + Authorization: "Bearer " + idToken, + } + }).then((response) => { + return response.json() + }).then((authJson) => { + console.log('auth: ', authJson) + const customToken = authJson.customToken + signInWithCustomToken(auth, customToken) + }) + } + const createScreens = (width) => { const hackgtLogo = ( @@ -118,56 +176,50 @@ export function LoginOnboarding(props) { return ( {({ dynamicStyles }) => ( - - {({ login, user, logout }) => { - return ( - - { - // update page indicator - setPageIndex(Math.round( - scrollData.nativeEvent.contentOffset.x / screenWidth - )) - }} - > - {createScreens(screenWidth)} - - - - {indexIndicator()} - - login()} - > - - {/* TODO: put back login stuff */} - {/* login()}> - - Don't have an account? - - */} - - {/* TOOD: logout button */} - {/* logout()}> - - Logout (for testing.) - {user != null ? user.email : "None."} - - */} - - - ); - }} - + + { + // update page indicator + setPageIndex(Math.round( + scrollData.nativeEvent.contentOffset.x / screenWidth + )) + }} + > + {createScreens(screenWidth)} + + + + {indexIndicator()} + + login()} + > + + {/* TODO: put back login stuff */} + {/* login()}> + + Don't have an account? + + */} + + {/* TOOD: logout button */} + {/* logout()}> + + Logout (for testing.) + {user != null ? user.email : "None."} + + */} + + )} ); diff --git a/package-lock.json b/package-lock.json index 75a8171d..df60174d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,6 +33,7 @@ "react-native-dark-mode": "^0.2.2", "react-native-elements": "^2.3.2", "react-native-gesture-handler": "^1.10.3", + "react-native-inappbrowser-reborn": "^3.7.0", "react-native-markdown-renderer": "^3.2.8", "react-native-permissions": "^3.3.0", "react-native-push-notification": "^7.4.0", @@ -3366,19 +3367,6 @@ "node": ">=8" } }, - "node_modules/@jest/core/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/@jest/core/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -3512,12 +3500,6 @@ "node": ">=8" } }, - "node_modules/@jest/core/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/@jest/core/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -3928,19 +3910,6 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/@jest/reporters/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -4048,12 +4017,6 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/@jest/reporters/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -4196,19 +4159,6 @@ "node": ">=8" } }, - "node_modules/@jest/test-sequencer/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/@jest/test-sequencer/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -4316,12 +4266,6 @@ "node": ">=8" } }, - "node_modules/@jest/test-sequencer/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/@jest/test-sequencer/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -4435,19 +4379,6 @@ "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/@jest/transform/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -4536,12 +4467,6 @@ "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/@jest/transform/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -9516,12 +9441,6 @@ "node": ">=8" } }, - "node_modules/jest-changed-files/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/jest-changed-files/node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -9594,12 +9513,6 @@ "node": ">=8" } }, - "node_modules/jest-changed-files/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, "node_modules/jest-changed-files/node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -10593,12 +10506,6 @@ "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, "node_modules/jest-jasmine2/node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -10855,19 +10762,6 @@ "node": ">=8" } }, - "node_modules/jest-runner/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/jest-runner/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -10975,12 +10869,6 @@ "node": ">=8" } }, - "node_modules/jest-runner/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/jest-runner/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -11003,12 +10891,6 @@ "node": ">=0.10.0" } }, - "node_modules/jest-runner/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, "node_modules/jest-runner/node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -11176,19 +11058,6 @@ "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/jest-runtime/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -11334,12 +11203,6 @@ "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/jest-runtime/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -14901,6 +14764,19 @@ "asap": "~2.0.3" } }, + "node_modules/react-native-inappbrowser-reborn": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/react-native-inappbrowser-reborn/-/react-native-inappbrowser-reborn-3.7.0.tgz", + "integrity": "sha512-Ia53jYNtFcbNaX5W3QfOmN25I7bcvuDiQmSY5zABXjy4+WI20bPc9ua09li55F8yDCjv3C99jX6vKms68mBV7g==", + "hasInstallScript": true, + "dependencies": { + "invariant": "^2.2.4", + "opencollective-postinstall": "^2.0.3" + }, + "peerDependencies": { + "react-native": ">=0.56" + } + }, "node_modules/react-native-iphone-x-helper": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", @@ -20471,13 +20347,6 @@ "to-regex-range": "^5.0.1" } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -20582,12 +20451,6 @@ "semver": "^6.0.0" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -20912,13 +20775,6 @@ "to-regex-range": "^5.0.1" } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -21003,12 +20859,6 @@ "semver": "^6.0.0" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -21117,13 +20967,6 @@ "to-regex-range": "^5.0.1" } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -21208,12 +21051,6 @@ "semver": "^6.0.0" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -21302,13 +21139,6 @@ "to-regex-range": "^5.0.1" } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -21377,12 +21207,6 @@ "semver": "^6.0.0" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -25680,12 +25504,6 @@ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -25737,12 +25555,6 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -26522,12 +26334,6 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -26733,13 +26539,6 @@ "to-regex-range": "^5.0.1" } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -26824,12 +26623,6 @@ "semver": "^6.0.0" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -26846,12 +26639,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -26982,13 +26769,6 @@ "to-regex-range": "^5.0.1" } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -27102,12 +26882,6 @@ "semver": "^6.0.0" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -29974,6 +29748,15 @@ } } }, + "react-native-inappbrowser-reborn": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/react-native-inappbrowser-reborn/-/react-native-inappbrowser-reborn-3.7.0.tgz", + "integrity": "sha512-Ia53jYNtFcbNaX5W3QfOmN25I7bcvuDiQmSY5zABXjy4+WI20bPc9ua09li55F8yDCjv3C99jX6vKms68mBV7g==", + "requires": { + "invariant": "^2.2.4", + "opencollective-postinstall": "^2.0.3" + } + }, "react-native-iphone-x-helper": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", diff --git a/package.json b/package.json index 27205300..4863cde0 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "react-native-dark-mode": "^0.2.2", "react-native-elements": "^2.3.2", "react-native-gesture-handler": "^1.10.3", + "react-native-inappbrowser-reborn": "^3.7.0", "react-native-markdown-renderer": "^3.2.8", "react-native-permissions": "^3.3.0", "react-native-push-notification": "^7.4.0", diff --git a/scav_hunt/ScavHuntItem.js b/scav_hunt/ScavHuntItem.js index 61f2b37c..ee70a323 100644 --- a/scav_hunt/ScavHuntItem.js +++ b/scav_hunt/ScavHuntItem.js @@ -67,7 +67,7 @@ export function ScavHuntItem(props) { completeHint(item.id) console.log('itemID ', item.id) AsyncStorage.setItem("completedHints", JSON.stringify(state.completedHints.concat([item.id]))) - logInteraction(props.route.params.hackathonName, 'scavengerHunt', user.uuid, item.id) + logInteraction(props.route.params.hackathonName, 'scavengerHunt', user.userId, item.id) } }}> {'Submit'} diff --git a/state_management/auth/index.js b/state_management/auth/index.js index b9e71962..ecd01b42 100644 --- a/state_management/auth/index.js +++ b/state_management/auth/index.js @@ -1,14 +1,57 @@ -import React from 'react' +import React, { useState, useEffect } from 'react' import { initialValue, authReducer } from './AuthReducer' import { } from "./AuthActionTypes"; import { AuthContext } from '../../context' +import { onAuthStateChanged } from "firebase/auth"; +import { app } from '../..'; +import { getAuth } from 'firebase/auth' + export default function AuthProvider({ children }) { + const auth = getAuth(app) + + const [firebaseUser, setFirebaseUser] = useState(null); + const [loading, setLoading] = useState(true); + const [showLogin, setShowLogin] = useState(true); + const [user, setUser] = useState(null); + + const usersUrl = 'https://users.api.hexlabs.org' - const [state, dispatch] = React.useReducer(authReducer, initialValue) + useEffect(() => { + const unsubAuth = onAuthStateChanged(auth, async (fUser) => { + if (fUser) { + setLoading(false) + console.log('FIRUser:', fUser) + await fetchUserDetails(fUser) + setShowLogin(false) + setLoading(false) + setFirebaseUser(fUser) + } else { + setShowLogin(true) + setShowLoading(false) + } + }) + return unsubAuth + }, []) + + const fetchUserDetails = async (fUser) => { + const token = await fUser.getIdToken() + const response = await fetch(`${usersUrl + '/users/' + fUser.uid}/`, { + method: "GET", + headers: { + Authorization: "Bearer " + token, + } + }) + const json = await response.json() + console.log('userJson: ', json) + setUser(json) + } const value = { - state: state + firebaseUser: firebaseUser, + loading: loading, + showLogin: showLogin, + user: user } return ( From 545dd49de0adc4dd74ff77352add5594ecaf70c8 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Thu, 29 Sep 2022 20:35:35 -0400 Subject: [PATCH 039/102] fixed bug associated with loading during login --- App.js | 4 ++-- ios/AppGT.xcodeproj/project.pbxproj | 8 ++++---- state_management/auth/index.js | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/App.js b/App.js index 2b4ba886..2544d95d 100644 --- a/App.js +++ b/App.js @@ -291,9 +291,9 @@ function App(props) { return ( - {({isLoading, showLogin, user}) => { + {({loading, showLogin, user}) => { // until app is done loading data, show the splash screen - if (isLoading || isFetchingData) { + if (loading || isFetchingData) { return ( { const unsubAuth = onAuthStateChanged(auth, async (fUser) => { if (fUser) { - setLoading(false) + setLoading(true) console.log('FIRUser:', fUser) await fetchUserDetails(fUser) setShowLogin(false) @@ -28,7 +28,7 @@ export default function AuthProvider({ children }) { setFirebaseUser(fUser) } else { setShowLogin(true) - setShowLoading(false) + setLoading(false) } }) return unsubAuth From f049c0ef8083623e271f00fc7bcd2f12cb5412c9 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Thu, 29 Sep 2022 20:35:53 -0400 Subject: [PATCH 040/102] added google service plist (was referenced before) --- ios/GoogleService-Info.plist | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 ios/GoogleService-Info.plist diff --git a/ios/GoogleService-Info.plist b/ios/GoogleService-Info.plist new file mode 100644 index 00000000..7e9a2154 --- /dev/null +++ b/ios/GoogleService-Info.plist @@ -0,0 +1,34 @@ + + + + + CLIENT_ID + 676515457846-rpusnd2935sbgh3aih4hctcebrbiguus.apps.googleusercontent.com + REVERSED_CLIENT_ID + com.googleusercontent.apps.676515457846-rpusnd2935sbgh3aih4hctcebrbiguus + API_KEY + AIzaSyDBXu7_e2LQSNG2tAnW_XIk7wRGgfI7l0U + GCM_SENDER_ID + 676515457846 + PLIST_VERSION + 1 + BUNDLE_ID + gt.hack.AppGT + PROJECT_ID + hexlabs-cloud + STORAGE_BUCKET + hexlabs-cloud.appspot.com + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:676515457846:ios:f999aee861afaba13fa197 + + \ No newline at end of file From fdadf8a4fee7faf7b87f483e82b545c791cc3ea9 Mon Sep 17 00:00:00 2001 From: rashmiathavale Date: Thu, 29 Sep 2022 20:39:37 -0400 Subject: [PATCH 041/102] added crossword puzzle buttons --- cms/index.js | 4 +- ios/Podfile.lock | 24 +- package-lock.json | 17575 +----------------------- scav_hunt/ScavHuntCrossword.js | 6 + scav_hunt/ScavengerHuntStackScreen.js | 12 +- scav_hunt/ScavengerHuntTab.js | 291 +- 6 files changed, 239 insertions(+), 17673 deletions(-) create mode 100644 scav_hunt/ScavHuntCrossword.js diff --git a/cms/index.js b/cms/index.js index 1b955d60..1ce0c0b1 100644 --- a/cms/index.js +++ b/cms/index.js @@ -63,8 +63,8 @@ const hackathonQuery = ` `; const getHackathonData = async (queryString) => { - // return fetch("https://keystone.dev.hack.gt/admin/api", { - return fetch("https://cms.hack.gt/admin/api", { + return fetch("https://keystone.dev.hack.gt/admin/api", { + // return fetch("https://cms.hack.gt/admin/api", { method: "POST", headers: { "Content-Type": `application/json`, diff --git a/ios/Podfile.lock b/ios/Podfile.lock index aa85d304..f1911dba 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -556,7 +556,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f + FBReactNativeSpec: 6553874f0bb5ab989352b473d1323d0fba9dc754 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -567,7 +567,7 @@ SPEC CHECKSUMS: GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Permission-Camera: 597646618d1edcc055a3f660844c2ee6de8e0596 + Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 @@ -580,11 +580,11 @@ SPEC CHECKSUMS: React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 - react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 - react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f - react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 - react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 - react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 + react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 + react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa + react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 + react-native-user-agent: 594b689d097a85c24128d2458803586d5e5cb1f7 + react-native-webview: a192040320142d8f10d652a745c46e4f43e37f8c React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 @@ -598,15 +598,15 @@ SPEC CHECKSUMS: React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 - RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 - RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 - RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45 + RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 + RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 + RNCPushNotificationIOS: 089da3b657e1e3d464f38195fd2e3069608ef5af RNFBApp: 9c90f9d576861947ba75fe0830567c570bcbcf6d RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 - RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f + RNInAppBrowser: 9066f16e763951ea2a70c191934274b955cb6ec8 + RNPermissions: b4522b438784c979764461e1beba55250654bada RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f diff --git a/package-lock.json b/package-lock.json index 4337e63a..07ce473c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17544 +1,8 @@ { "name": "AppGT", "version": "0.0.1", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "AppGT", - "version": "0.0.1", - "dependencies": { - "@fortawesome/fontawesome-svg-core": "^1.2.36", - "@fortawesome/free-solid-svg-icons": "^5.15.4", - "@fortawesome/react-native-fontawesome": "^0.2.7", - "@react-native-community/async-storage": "^1.12.1", - "@react-native-community/masked-view": "^0.1.11", - "@react-native-community/push-notification-ios": "^1.10.1", - "@react-native-firebase/app": "^11.5.0", - "@react-native-firebase/iid": "^11.5.0", - "@react-native-firebase/messaging": "^11.5.0", - "@react-navigation/bottom-tabs": "^5.11.15", - "@react-navigation/native": "^5.9.8", - "@react-navigation/stack": "^5.14.9", - "firebase": "^9.9.4", - "moment": "^2.29.1", - "moment-timezone": "^0.5.33", - "ndef": "^0.2.0", - "nfccard-tool": "^0.1.1", - "react": "16.13.1", - "react-moment": "^0.9.7", - "react-native": "0.64.1", - "react-native-app-auth": "^6.4.0", - "react-native-camera": "^4.2.1", - "react-native-dark-mode": "^0.2.2", - "react-native-elements": "^2.3.2", - "react-native-gesture-handler": "^1.10.3", - "react-native-inappbrowser-reborn": "^3.7.0", - "react-native-markdown-renderer": "^3.2.8", - "react-native-permissions": "^3.3.0", - "react-native-push-notification": "^7.4.0", - "react-native-qrcode-scanner": "^1.5.5", - "react-native-qrcode-svg": "6.0.6", - "react-native-raw-bottom-sheet": "^2.2.0", - "react-native-reanimated": "^1.13.3", - "react-native-safe-area-context": "^3.3.2", - "react-native-screens": "^2.18.1", - "react-native-svg": "^12.1.1", - "react-native-svg-transformer": "^0.14.3", - "react-native-toggle-element": "^2.0.1", - "react-native-user-agent": "^2.3.1", - "react-native-vector-icons": "^7.1.0", - "react-native-webview": "^11.23.1" - }, - "devDependencies": { - "@babel/core": "^7.15.8", - "@babel/runtime": "^7.15.4", - "@react-native-community/eslint-config": "^1.1.0", - "babel-jest": "^25.1.0", - "eslint": "^6.5.1", - "jest": "^25.1.0", - "metro-react-native-babel-preset": "^0.59.0", - "react-test-renderer": "16.13.1" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@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==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", - "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", - "dependencies": { - "@babel/code-frame": "^7.15.8", - "@babel/generator": "^7.15.8", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.8", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.8", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "dependencies": { - "@babel/highlight": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dependencies": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "dependencies": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@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==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/core/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/core/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/core/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@babel/core/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/core/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/generator": { - "version": "7.11.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz", - "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==", - "dependencies": { - "@babel/types": "^7.11.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-builder-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", - "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-builder-react-jsx-experimental": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz", - "integrity": "sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/types": "^7.11.5" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", - "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.10.5", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", - "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.0" - } - }, - "node_modules/@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-environment-visitor/node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-environment-visitor/node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz", - "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==", - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables/node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables/node_modules/@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", - "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", - "dependencies": { - "@babel/types": "^7.11.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", - "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/template": "^7.10.4", - "@babel/types": "^7.11.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/@babel/helper-regex": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", - "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", - "dependencies": { - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dependencies": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz", - "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==", - "dependencies": { - "@babel/types": "^7.11.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dependencies": { - "@babel/types": "^7.11.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" - }, - "node_modules/@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==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "dependencies": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "dependencies": { - "@babel/highlight": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dependencies": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dependencies": { - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@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==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helpers/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helpers/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/helpers/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@babel/helpers/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@babel/helpers/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helpers/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/helpers/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helpers/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/highlight/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", - "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", - "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.10.4.tgz", - "integrity": "sha512-G1l00VvDZ7Yk2yRlC5D8Ybvu3gmeHS3rCHoUYdjrqGYUtdeOBoRypnvDZ5KQqxyaiiGHWnVDeSEzA5F9ozItig==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-default-from": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", - "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz", - "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", - "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz", - "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", - "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-export-default-from": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.10.4.tgz", - "integrity": "sha512-79V6r6Pgudz0RnuMGp5xidu6Z+bPFugh8/Q9eDHonmLp4wKFAZDwygJwYgCzuDu8lFA/sYyT+mc5y2wkd7bTXA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz", - "integrity": "sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz", - "integrity": "sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", - "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions/node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz", - "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", - "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", - "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", - "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", - "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz", - "integrity": "sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", - "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", - "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", - "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals/node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", - "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", - "dependencies": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-object-assign": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.10.4.tgz", - "integrity": "sha512-6zccDhYEICfMeQqIjuY5G09/yhKzG30DKHJeYBQUHIsJH7c2jXSGvgwRalufLAXAq432OSlsEfAOLlzEsQzxVw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/generator": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", - "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", - "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/parser": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", - "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", - "@babel/types": "^7.17.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/plugin-transform-object-super/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", - "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-property-literals/node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz", - "integrity": "sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz", - "integrity": "sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==", - "dependencies": { - "@babel/helper-builder-react-jsx": "^7.10.4", - "@babel/helper-builder-react-jsx-experimental": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz", - "integrity": "sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz", - "integrity": "sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", - "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", - "dependencies": { - "regenerator-transform": "^0.14.2" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.5.tgz", - "integrity": "sha512-9aIoee+EhjySZ6vY5hnLjigHzunBlscx9ANKutkeWTJTx6m5Rbq6Ic01tLvO54lSusR+BxV7u4UDdCmXv5aagg==", - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", - "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz", - "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", - "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", - "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz", - "integrity": "sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", - "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/preset-flow": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz", - "integrity": "sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-flow-strip-types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-flow/node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-flow/node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-flow/node_modules/@babel/plugin-syntax-flow": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", - "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-flow/node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", - "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-flow": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", - "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-transform-typescript": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/generator": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", - "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", - "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", - "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", - "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/parser": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", - "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-transform-typescript": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", - "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-typescript": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/traverse": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", - "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.3", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.3", - "@babel/types": "^7.17.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/preset-typescript/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/preset-typescript/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/preset-typescript/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@babel/preset-typescript/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/preset-typescript/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/preset-typescript/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/preset-typescript/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/register": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.0.tgz", - "integrity": "sha512-UNZsMAZ7uKoGHo1HlEXfteEOYssf64n/PNLHGqOKq/bgYcu/4LrQWAHJwSCb3BRZK8Hi5gkJdRcwrGTO2wtRCg==", - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/register/node_modules/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==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/register/node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@babel/register/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz", - "integrity": "sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==", - "dev": true, - "dependencies": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/traverse": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz", - "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.11.5", - "@babel/types": "^7.11.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@babel/types": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz", - "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, - "node_modules/@egjs/hammerjs": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", - "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", - "dependencies": { - "@types/hammerjs": "^2.0.36" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@firebase/analytics": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", - "integrity": "sha512-wkcwainNm8Cu2xkJpDSHfhBSdDJn86Q1TZNmLWc67VrhZUHXIKXxIqb65/tNUVE+I8+sFiDDNwA+9R3MqTQTaA==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/installations": "0.5.12", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/analytics-compat": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.13.tgz", - "integrity": "sha512-QC1DH/Dwc8fBihn0H+jocBWyE17GF1fOCpCrpAiQ2u16F/NqsVDVG4LjIqdhq963DXaXneNY7oDwa25Up682AA==", - "dependencies": { - "@firebase/analytics": "0.8.0", - "@firebase/analytics-types": "0.7.0", - "@firebase/component": "0.5.17", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/analytics-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/analytics-types": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", - "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" - }, - "node_modules/@firebase/analytics/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/app": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.32.tgz", - "integrity": "sha512-FUqDHgCkr6oVTTpastIlquYsMtkd8Tg4SR8+z4sCJ1C1pbPavazN9qeYIqHQjviqLV/OflCrACCZj/s2zlh0ww==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "idb": "7.0.1", - "tslib": "^2.1.0" - } - }, - "node_modules/@firebase/app-check": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.12.tgz", - "integrity": "sha512-l+MmvupSGT/F+I5ei7XjhEfpoL4hLVJr0vUwcG5NEf2hAkQnySli9fnbl9fZu1BJaQ2kthrMmtg1gcbcM9BUCQ==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/app-check-compat": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.12.tgz", - "integrity": "sha512-GFppNLlUyMN9Iq31ME/+GkjRVKlc+MeanzUKQ9UaR73ZsYH3oX3Ja+xjoYgixaVJDDG+ofBYR7ZXTkkQdSR/pw==", - "dependencies": { - "@firebase/app-check": "0.5.12", - "@firebase/app-check-types": "0.4.0", - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/app-check-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/app-check-interop-types": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", - "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" - }, - "node_modules/@firebase/app-check-types": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.4.0.tgz", - "integrity": "sha512-SsWafqMABIOu7zLgWbmwvHGOeQQVQlwm42kwwubsmfLmL4Sf5uGpBfDhQ0CAkpi7bkJ/NwNFKafNDL9prRNP0Q==" - }, - "node_modules/@firebase/app-check/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/app-compat": { - "version": "0.1.33", - "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.33.tgz", - "integrity": "sha512-PLCwOpduJOOkw2v0ygBPpYBRobbnxJjZVaj2xjc5IPakHWx9sLHHX3KoZnl+7ZonY1xJ2lCQaLQrwqX2hi0FXg==", - "dependencies": { - "@firebase/app": "0.7.32", - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - } - }, - "node_modules/@firebase/app-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/app-types": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", - "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" - }, - "node_modules/@firebase/app/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/auth": { - "version": "0.20.6", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.20.6.tgz", - "integrity": "sha512-99R3bY7aQ2zFh5BdqLEgI/qN87l3bPBLIse2eDVcSRwChaM6FTdIKoKk15L1M4ry8utatMtYFt1vRCol7QDsLg==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "node-fetch": "2.6.7", - "selenium-webdriver": "4.1.2", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/auth-compat": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.19.tgz", - "integrity": "sha512-gB9fnPZM2mnNrGR7n6Y+xDC/4cSouDVfdwPYL7GuLv7b48iW1u24DC9Trv10gNUUGq6iGEyqgJgCSrVmlTkX7Q==", - "dependencies": { - "@firebase/auth": "0.20.6", - "@firebase/auth-types": "0.11.0", - "@firebase/component": "0.5.17", - "@firebase/util": "1.6.3", - "node-fetch": "2.6.7", - "selenium-webdriver": "4.1.2", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/auth-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/auth-interop-types": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", - "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/auth-types": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", - "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/auth/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/component": { - "version": "0.5.17", - "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.17.tgz", - "integrity": "sha512-mTM5CBSIlmI+i76qU4+DhuExnWtzcPS3cVgObA3VAjliPPr3GrUlTaaa8KBGfxsD27juQxMsYA0TvCR5X+GQ3Q==", - "dependencies": { - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - } - }, - "node_modules/@firebase/component/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/database": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.13.6.tgz", - "integrity": "sha512-5IZIBw2LT50Z8mwmKYmdX37p+Gg2HgeJsrruZmRyOSVgbfoY4Pg87n1uFx6qWqDmfL6HwQgwcrrQfVIXE3C5SA==", - "dependencies": { - "@firebase/auth-interop-types": "0.1.6", - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "faye-websocket": "0.11.4", - "tslib": "^2.1.0" - } - }, - "node_modules/@firebase/database-compat": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.2.6.tgz", - "integrity": "sha512-Ls1BAODaiDYgeJljrIgSuC7JkFIY/HNhhNYebzZSoGQU62RuvnaO3Qgp2EH6h2LzHyRnycNadfh1suROtPaUIA==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/database": "0.13.6", - "@firebase/database-types": "0.9.13", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - } - }, - "node_modules/@firebase/database-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/database-types": { - "version": "0.9.13", - "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.13.tgz", - "integrity": "sha512-dIJ1zGe3EHMhwcvukTOPzYlFYFIG1Et5Znl7s7y/ZTN2/toARRNnsv1qCKvqevIMYKvIrRsYOYfOXDS8l1YIJA==", - "dependencies": { - "@firebase/app-types": "0.7.0", - "@firebase/util": "1.6.3" - } - }, - "node_modules/@firebase/database/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/firestore": { - "version": "3.4.15", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.15.tgz", - "integrity": "sha512-1kal1/0UC1p9x99f0iXwWbmBL/RClksdkqLSd8HVQVawAMTR3zCVKE95omNGl0egRRlDN6c/i8XBEfkwj3SHxw==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "@firebase/webchannel-wrapper": "0.6.2", - "@grpc/grpc-js": "^1.3.2", - "@grpc/proto-loader": "^0.6.13", - "node-fetch": "2.6.7", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=10.10.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/firestore-compat": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.24.tgz", - "integrity": "sha512-wy9AerWLyg/RcbjKE9I73TyBW7FMVfxblGUbcRRHi5tSSrjp+JT1jsGriF6NjAij4byboaGVm8Hgrki7Oqf2kw==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/firestore": "3.4.15", - "@firebase/firestore-types": "2.5.0", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/firestore-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/firestore-types": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", - "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/firestore/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/functions": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.8.4.tgz", - "integrity": "sha512-o1bB0xMyQKe+b246zGnjwHj4R6BH4mU2ZrSaa/3QvTpahUQ3hqYfkZPLOXCU7+vEFxHb3Hd4UUjkFhxoAcPqLA==", - "dependencies": { - "@firebase/app-check-interop-types": "0.1.0", - "@firebase/auth-interop-types": "0.1.6", - "@firebase/component": "0.5.17", - "@firebase/messaging-interop-types": "0.1.0", - "@firebase/util": "1.6.3", - "node-fetch": "2.6.7", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/functions-compat": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.2.4.tgz", - "integrity": "sha512-Crfn6il1yXGuXkjSd8nKrqR4XxPvuP19g64bXpM6Ix67qOkQg676kyOuww0FF17xN0NSXHfG8Pyf+CUrx8wJ5g==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/functions": "0.8.4", - "@firebase/functions-types": "0.5.0", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/functions-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/functions-types": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", - "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" - }, - "node_modules/@firebase/functions/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/installations": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.12.tgz", - "integrity": "sha512-Zq43fCE0PB5tGJ3ojzx5RNQzKdej1188qgAk22rwjuhP7npaG/PlJqDG1/V0ZjTLRePZ1xGrfXSPlA17c/vtNw==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/util": "1.6.3", - "idb": "7.0.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/installations-compat": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.1.12.tgz", - "integrity": "sha512-BIhFpWIn/GkuOa+jnXkp3SDJT2RLYJF6MWpinHIBKFJs7MfrgYZ3zQ1AlhobDEql+bkD1dK4dB5sNcET2T+EyA==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/installations": "0.5.12", - "@firebase/installations-types": "0.4.0", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/installations-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/installations-types": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.4.0.tgz", - "integrity": "sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A==", - "peerDependencies": { - "@firebase/app-types": "0.x" - } - }, - "node_modules/@firebase/installations/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/logger": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.3.tgz", - "integrity": "sha512-POTJl07jOKTOevLXrTvJD/VZ0M6PnJXflbAh5J9VGkmtXPXNG6MdZ9fmRgqYhXKTaDId6AQenQ262uwgpdtO0Q==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@firebase/logger/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/messaging": { - "version": "0.9.16", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.16.tgz", - "integrity": "sha512-Yl9gGrAvJF6C1gg3+Cr2HxlL6APsDEkrorkFafmSP1l+rg1epZKoOAcKJbSF02Vtb50wfb9FqGGy8tzodgETxg==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/installations": "0.5.12", - "@firebase/messaging-interop-types": "0.1.0", - "@firebase/util": "1.6.3", - "idb": "7.0.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/messaging-compat": { - "version": "0.1.16", - "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.16.tgz", - "integrity": "sha512-uG7rWcXJzU8vvlEBFpwG1ndw/GURrrmKcwsHopEWbsPGjMRaVWa7XrdKbvIR7IZohqPzcC/V9L8EeqF4Q4lz8w==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/messaging": "0.9.16", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/messaging-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/messaging-interop-types": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", - "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" - }, - "node_modules/@firebase/messaging/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/performance": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.12.tgz", - "integrity": "sha512-MPVTkOkGrm2SMQgI1FPNBm85y2pPqlPb6VDjIMCWkVpAr6G1IZzUT24yEMySRcIlK/Hh7/Qu1Nu5ASRzRuX6+Q==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/installations": "0.5.12", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/performance-compat": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.12.tgz", - "integrity": "sha512-IBORzUeGY1MGdZnsix9Mu5z4+C3WHIwalu0usxvygL0EZKHztGG8bppYPGH/b5vvg8QyHs9U+Pn1Ot2jZhffQQ==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/performance": "0.5.12", - "@firebase/performance-types": "0.1.0", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/performance-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/performance-types": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", - "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" - }, - "node_modules/@firebase/performance/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/remote-config": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.11.tgz", - "integrity": "sha512-qA84dstrvVpO7rWT/sb2CLv1kjHVmz59SRFPKohJJYFBcPOGK4Pe4FWWhKAE9yg1Gnl0qYAGkahOwNawq3vE0g==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/installations": "0.5.12", - "@firebase/logger": "0.3.3", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/remote-config-compat": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.12.tgz", - "integrity": "sha512-Yz7Gtb2rLa7ykXZX9DnSTId8CXd++jFFLW3foUImrYwJEtWgLJc7gwkRfd1M73IlKGNuQAY+DpUNF0n1dLbecA==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/logger": "0.3.3", - "@firebase/remote-config": "0.3.11", - "@firebase/remote-config-types": "0.2.0", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/remote-config-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/remote-config-types": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", - "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" - }, - "node_modules/@firebase/remote-config/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/storage": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.9.tgz", - "integrity": "sha512-Zch7srLT2SIh9y2nCVv/4Kne0HULn7OPkmreY70BJTUJ+g5WLRjggBq6x9fV5ls9V38iqMWfn4prxzX8yIc08A==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/util": "1.6.3", - "node-fetch": "2.6.7", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/storage-compat": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.17.tgz", - "integrity": "sha512-nOYmnpI0gwoz5nROseMi9WbmHGf+xumfsOvdPyMZAjy0VqbDnpKIwmTUZQBdR+bLuB5oIkHQsvw9nbb1SH+PzQ==", - "dependencies": { - "@firebase/component": "0.5.17", - "@firebase/storage": "0.9.9", - "@firebase/storage-types": "0.6.0", - "@firebase/util": "1.6.3", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/storage-compat/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/storage-types": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", - "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/storage/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/util": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.6.3.tgz", - "integrity": "sha512-FujteO6Zjv6v8A4HS+t7c+PjU0Kaxj+rOnka0BsI/twUaCC9t8EQPmXpWZdk7XfszfahJn2pqsflUWUhtUkRlg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@firebase/util/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/@firebase/webchannel-wrapper": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz", - "integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ==" - }, - "node_modules/@fortawesome/fontawesome-common-types": { - "version": "0.2.36", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", - "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "1.2.36", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", - "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", - "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.36" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", - "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", - "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.36" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@fortawesome/react-native-fontawesome": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@fortawesome/react-native-fontawesome/-/react-native-fontawesome-0.2.7.tgz", - "integrity": "sha512-H3FjE01PDKGTZW+pXMsaCklT0FADaHo4D+Ni63BSXNQclmFgKj2Xlky37cx0s1BaIIw1geuHcyg0hdFxbACusw==", - "dependencies": { - "humps": "^2.0.1", - "prop-types": "^15.7.2" - } - }, - "node_modules/@grpc/grpc-js": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.0.tgz", - "integrity": "sha512-wvKxal+40Xx11DXO2q5PfY3UiE25iwTb8SOz6A9IJII/V7d19x2ex0he+GJfVW0JZCaBjCPSjUB0yU9Ecm4WCw==", - "dependencies": { - "@grpc/proto-loader": "^0.7.0", - "@types/node": ">=12.12.47" - }, - "engines": { - "node": "^8.13.0 || >=10.10.0" - } - }, - "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.2.tgz", - "integrity": "sha512-jCdyLIT/tdQ1zhrbTQnJNK5nbDf0GoBpy5jVNywBzzMDF+Vs6uEaHnfz46dMtDxkvwrF2hzk5Z67goliceH0sA==", - "dependencies": { - "@types/long": "^4.0.1", - "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", - "protobufjs": "^7.0.0", - "yargs": "^16.2.0" - }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@grpc/grpc-js/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@grpc/grpc-js/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/@grpc/grpc-js/node_modules/protobufjs": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.1.tgz", - "integrity": "sha512-d0nMQqS/aT3lfV8bKi9Gbg73vPd2LcDdTDOu6RE/M+h9DY8g1EmDzk3ADPccthEWfTBjkR2oxNdx9Gs8YubT+g==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@grpc/grpc-js/node_modules/protobufjs/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/@grpc/grpc-js/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@grpc/grpc-js/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@grpc/grpc-js/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@grpc/grpc-js/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@grpc/grpc-js/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@grpc/proto-loader": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", - "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", - "dependencies": { - "@types/long": "^4.0.1", - "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", - "protobufjs": "^6.11.3", - "yargs": "^16.2.0" - }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@grpc/proto-loader/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@grpc/proto-loader/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/@grpc/proto-loader/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@grpc/proto-loader/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@grpc/proto-loader/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@grpc/proto-loader/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@grpc/proto-loader/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", - "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@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==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", - "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/reporters": "^25.5.1", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^25.5.0", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-resolve-dependencies": "^25.5.4", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "jest-watcher": "^25.5.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "realpath-native": "^2.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@jest/core/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/core/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/@jest/core/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/core/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/core/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/@jest/core/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/core/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@jest/create-cache-key-function": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz", - "integrity": "sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw==", - "dependencies": { - "@jest/types": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@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==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/environment/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/environment/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/environment/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/environment/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/environment/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/environment/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", - "dev": true, - "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/reporters": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", - "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "chalk": "^3.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.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^25.5.1", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^3.1.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^4.1.3" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "node-notifier": "^6.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/reporters/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/reporters/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@jest/reporters/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/reporters/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/@jest/reporters/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/reporters/node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/reporters/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/reporters/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/reporters/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/reporters/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/reporters/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", - "dev": true, - "dependencies": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/test-sequencer/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/test-sequencer/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/test-sequencer/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@jest/test-sequencer/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/test-sequencer/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/test-sequencer/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/test-sequencer/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/test-sequencer/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/test-sequencer/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/test-sequencer/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/test-sequencer/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@jest/transform": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", - "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/transform/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@jest/transform/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/transform/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/@jest/transform/node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/transform/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/transform/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@jest/transform/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/transform/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/transform/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@jest/transform/node_modules/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==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "node_modules/@react-native-async-storage/async-storage": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.16.1.tgz", - "integrity": "sha512-aQ7ka+Ii1e/q+7AVFIZPt4kDeSH8b784wMDtz19Kf4A7hf+OgCHBlUQpOXsrv8XxhlBxu0hv4tfrDO15ChnV0Q==", - "dependencies": { - "merge-options": "^3.0.4" - } - }, - "node_modules/@react-native-community/async-storage": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.12.1.tgz", - "integrity": "sha512-70WGaH3PKYASi4BThuEEKMkyAgE9k7VytBqmgPRx3MzJx9/MkspwqJGmn3QLCgHLIFUgF1pit2mWICbRJ3T3lg==", - "dependencies": { - "deep-assign": "^3.0.0" - } - }, - "node_modules/@react-native-community/cli-debugger-ui": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-5.0.1.tgz", - "integrity": "sha512-5gGKaaXYOVE423BUqxIfvfAVSj5Cg1cU/TpGbeg/iqpy2CfqyWqJB3tTuVUbOOiOvR5wbU8tti6pIi1pchJ+oA==", - "dependencies": { - "serve-static": "^1.13.1" - } - }, - "node_modules/@react-native-community/cli-hermes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-5.0.1.tgz", - "integrity": "sha512-nD+ZOFvu5MfjLB18eDJ01MNiFrzj8SDtENjGpf0ZRFndOWASDAmU54/UlU/wj8OzTToK1+S1KY7j2P2M1gleww==", - "dependencies": { - "@react-native-community/cli-platform-android": "^5.0.1", - "@react-native-community/cli-tools": "^5.0.1", - "chalk": "^3.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" - } - }, - "node_modules/@react-native-community/cli-platform-android": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-5.0.1.tgz", - "integrity": "sha512-qv9GJX6BJ+Y4qvV34vgxKwwN1cnveXUdP6y2YmTW7XoAYs5YUzKqHajpY58EyucAL2y++6+573t5y4U/9IIoww==", - "dependencies": { - "@react-native-community/cli-tools": "^5.0.1", - "chalk": "^3.0.0", - "execa": "^1.0.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.3", - "jetifier": "^1.6.2", - "lodash": "^4.17.15", - "logkitty": "^0.7.1", - "slash": "^3.0.0", - "xmldoc": "^1.1.2" - } - }, - "node_modules/@react-native-community/cli-platform-ios": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-5.0.2.tgz", - "integrity": "sha512-IAJ2B3j2BTsQUJZ4R6cVvnTbPq0Vza7+dOgP81ISz2BKRtQ0VqNFv+VOALH2jLaDzf4t7NFlskzIXFqWqy2BLg==", - "dependencies": { - "@react-native-community/cli-tools": "^5.0.1", - "chalk": "^3.0.0", - "glob": "^7.1.3", - "js-yaml": "^3.13.1", - "lodash": "^4.17.15", - "plist": "^3.0.1", - "xcode": "^2.0.0" - } - }, - "node_modules/@react-native-community/cli-server-api": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-5.0.1.tgz", - "integrity": "sha512-OOxL+y9AOZayQzmSW+h5T54wQe+QBc/f67Y9QlWzzJhkKJdYx+S4VOooHoD5PFJzGbYaxhu2YF17p517pcEIIA==", - "dependencies": { - "@react-native-community/cli-debugger-ui": "^5.0.1", - "@react-native-community/cli-tools": "^5.0.1", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.0", - "nocache": "^2.1.0", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^1.1.0" - } - }, - "node_modules/@react-native-community/cli-server-api/node_modules/ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", - "dependencies": { - "options": ">=0.0.5", - "ultron": "1.0.x" - } - }, - "node_modules/@react-native-community/cli-tools": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-5.0.1.tgz", - "integrity": "sha512-XOX5w98oSE8+KnkMZZPMRT7I5TaP8fLbDl0tCu40S7Epz+Zz924n80fmdu6nUDIfPT1nV6yH1hmHmWAWTDOR+Q==", - "dependencies": { - "chalk": "^3.0.0", - "lodash": "^4.17.15", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "shell-quote": "1.6.1" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@react-native-community/cli-types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-5.0.1.tgz", - "integrity": "sha512-BesXnuFFlU/d1F3+sHhvKt8fUxbQlAbZ3hhMEImp9A6sopl8TEtryUGJ1dbazGjRXcADutxvjwT/i3LJVTIQug==", - "dependencies": { - "ora": "^3.4.0" - } - }, - "node_modules/@react-native-community/eslint-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-1.1.0.tgz", - "integrity": "sha512-hwb1hC28BhkwLwnO6vDISV6XZbipw2RIEhBVBN+pE7AUG9HjFXxoksiiOSoYgox9C8g86VJwHnKpak/3NnVBkQ==", - "dev": true, - "dependencies": { - "@react-native-community/eslint-plugin": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^2.25.0", - "@typescript-eslint/parser": "^2.25.0", - "babel-eslint": "10.1.0", - "eslint-config-prettier": "^6.10.1", - "eslint-plugin-eslint-comments": "^3.1.2", - "eslint-plugin-flowtype": "2.50.3", - "eslint-plugin-jest": "22.4.1", - "eslint-plugin-prettier": "3.1.2", - "eslint-plugin-react": "7.19.0", - "eslint-plugin-react-hooks": "^3.0.0", - "eslint-plugin-react-native": "3.8.1", - "prettier": "^2.0.2" - } - }, - "node_modules/@react-native-community/eslint-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.1.0.tgz", - "integrity": "sha512-W/J0fNYVO01tioHjvYWQ9m6RgndVtbElzYozBq1ZPrHO/iCzlqoySHl4gO/fpCl9QEFjvJfjPgtPMTMlsoq5DQ==", - "dev": true - }, - "node_modules/@react-native-community/masked-view": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", - "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==" - }, - "node_modules/@react-native-community/push-notification-ios": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@react-native-community/push-notification-ios/-/push-notification-ios-1.10.1.tgz", - "integrity": "sha512-k6bZWUKLif4GjenyTD3aQLwA2VT3bNmt22INO/34lexnpmqkPDZF7nreqbckTHG0Zso9wDTe4N/AZJUC/d8iRg==", - "dependencies": { - "invariant": "^2.2.4" - } - }, - "node_modules/@react-native-firebase/app": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-11.5.0.tgz", - "integrity": "sha512-Jz5CBhqkybxHjTFr5V0K+Jq2YivzPbu9exSze61/z1zSaIfBhR4G38wmHk44VWAl+PEX8GaYy9yfT69tLiCERA==", - "dependencies": { - "opencollective-postinstall": "^2.0.1", - "superstruct": "^0.6.2" - } - }, - "node_modules/@react-native-firebase/iid": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/iid/-/iid-11.5.0.tgz", - "integrity": "sha512-S9f9AaKr9CkA9d6cfS8V5wpyqdFPPQXIjFU4fPTFaeuJ37T659KqK9SGvY/pSB0DdWC5CMQniukIQsUt5l7O1g==" - }, - "node_modules/@react-native-firebase/messaging": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@react-native-firebase/messaging/-/messaging-11.5.0.tgz", - "integrity": "sha512-bjsoJByiNtikNLCf5RMmUdIj3uH8Uf0eeyM9PdqfNRB1mtVaYrU8AmXnzbSd5SqJ/sxqwyZVuxzWNEJrcOnhZw==" - }, - "node_modules/@react-native/assets": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", - "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" - }, - "node_modules/@react-native/normalize-color": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-1.0.0.tgz", - "integrity": "sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg==" - }, - "node_modules/@react-native/polyfills": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", - "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" - }, - "node_modules/@react-navigation/bottom-tabs": { - "version": "5.11.15", - "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-5.11.15.tgz", - "integrity": "sha512-TBY419W6aN/HZg98xbVp5Bx1HEF5sXuHR5f55W6KMI4k2AvxlwelKD1wbfvEcX2iuQT0YUiiXsACRFUSECYhkw==", - "dependencies": { - "color": "^3.1.3", - "react-native-iphone-x-helper": "^1.3.0" - } - }, - "node_modules/@react-navigation/bottom-tabs/node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "node_modules/@react-navigation/bottom-tabs/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@react-navigation/bottom-tabs/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@react-navigation/core": { - "version": "5.16.1", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-5.16.1.tgz", - "integrity": "sha512-3AToC7vPNeSNcHFLd1h71L6u34hfXoRAS1CxF9Fc4uC8uOrVqcNvphpeFbE0O9Bw6Zpl0BnMFl7E5gaL3KGzNA==", - "dependencies": { - "@react-navigation/routers": "^5.7.4", - "escape-string-regexp": "^4.0.0", - "nanoid": "^3.1.15", - "query-string": "^6.13.6", - "react-is": "^16.13.0" - } - }, - "node_modules/@react-navigation/core/node_modules/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==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@react-navigation/native": { - "version": "5.9.8", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-5.9.8.tgz", - "integrity": "sha512-DNbcDHXQPSFDLn51kkVVJjT3V7jJy2GztNYZe/2bEg29mi5QEcHHcpifjMCtyFKntAOWzKlG88UicIQ17UEghg==", - "dependencies": { - "@react-navigation/core": "^5.16.1", - "escape-string-regexp": "^4.0.0", - "nanoid": "^3.1.15" - } - }, - "node_modules/@react-navigation/native/node_modules/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==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@react-navigation/routers": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-5.7.4.tgz", - "integrity": "sha512-0N202XAqsU/FlE53Nmh6GHyMtGm7g6TeC93mrFAFJOqGRKznT0/ail+cYlU6tNcPA9AHzZu1Modw1eoDINSliQ==", - "dependencies": { - "nanoid": "^3.1.15" - } - }, - "node_modules/@react-navigation/stack": { - "version": "5.14.9", - "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-5.14.9.tgz", - "integrity": "sha512-DuvrT9P+Tz8ezZLQYxORZqOGqO+vEufaxlW1hSLw1knLD4jNxkz8TJDXtfKwaz//9gb43UhTNccNM02vm7iPqQ==", - "dependencies": { - "color": "^3.1.3", - "react-native-iphone-x-helper": "^1.3.0" - } - }, - "node_modules/@react-navigation/stack/node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "node_modules/@react-navigation/stack/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@react-navigation/stack/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@sideway/address": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", - "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", - "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", - "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", - "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", - "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", - "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", - "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", - "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", - "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", - "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", - "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", - "@svgr/babel-plugin-transform-svg-component": "^4.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/core": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", - "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", - "dependencies": { - "@svgr/plugin-jsx": "^4.3.3", - "camelcase": "^5.3.1", - "cosmiconfig": "^5.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", - "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", - "dependencies": { - "@babel/types": "^7.4.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", - "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", - "dependencies": { - "@babel/core": "^7.4.5", - "@svgr/babel-preset": "^4.3.3", - "@svgr/hast-util-to-babel-ast": "^4.3.2", - "svg-parser": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", - "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", - "dependencies": { - "cosmiconfig": "^5.2.1", - "merge-deep": "^3.0.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", - "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", - "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.14.tgz", - "integrity": "sha512-8w9szzKs14ZtBVuP6Wn7nMLRJ0D6dfB0VEBEyRgxrZ/Ln49aNMykrghM2FaNn4FJRzNppCSa0Rv9pBRM5Xc3wg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "node_modules/@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", - "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/hammerjs": { - "version": "2.0.40", - "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.40.tgz", - "integrity": "sha512-VbjwR1fhsn2h2KXAY4oy1fm7dCxaKy0D+deTb8Ilc3Eo3rc5+5eA4rfYmZaHgNJKxVyI0f6WIXzO2zLkVmQPHA==" - }, - "node_modules/@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==" - }, - "node_modules/@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==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" - }, - "node_modules/@types/markdown-it": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-0.0.4.tgz", - "integrity": "sha512-FWR7QB7EqBRq1s9BMk0ccOSOuRLfVEWYpHQYpFPaXtCoqN6dJx2ttdsdQbUxLLnAlKpYeVjveGGhQ3583TTa7g==" - }, - "node_modules/@types/node": { - "version": "14.11.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", - "integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==" - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "node_modules/@types/react": { - "version": "16.9.49", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz", - "integrity": "sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-native": { - "version": "0.63.20", - "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.20.tgz", - "integrity": "sha512-APnxRTDxbWw/IYjvwvXkhYJiz1gahyVA579pJqAVsEfZ+ZUwUHZpWKnexobyH5NmRJHuA/8LrThyps/BW3SYXA==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-native-vector-icons": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.6.tgz", - "integrity": "sha512-lAyxNfMd5L1xZvXWsGcJmNegDf61TAp40uL6ashNNWj9W3IrDJO59L9+9inh0Y2MsEZpLTdxzVU8Unb4/0FQng==", - "dependencies": { - "@types/react": "*", - "@types/react-native": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", - "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/absolute-path": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", - "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", - "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", - "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", - "dev": true, - "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" - } - }, - "node_modules/anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" - }, - "node_modules/ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", - "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - } - }, - "node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/appdirsjs": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.6.tgz", - "integrity": "sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "node_modules/array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" - }, - "node_modules/array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-includes/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" - }, - "node_modules/array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ast-types/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/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==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/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, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", - "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", - "dev": true - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" - }, - "node_modules/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==", - "dev": true, - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", - "dev": true, - "dependencies": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/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==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/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==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", - "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", - "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", - "dev": true, - "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" - } - }, - "node_modules/babel-preset-fbjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", - "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", - "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "node_modules/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, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "node_modules/bplist-creator": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", - "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", - "dependencies": { - "stream-buffers": "2.2.x" - } - }, - "node_modules/bplist-parser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", - "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", - "dependencies": { - "big-integer": "1.6.x" - }, - "engines": { - "node": ">= 5.10.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dev": true - }, - "node_modules/browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "dependencies": { - "resolve": "1.1.7" - } - }, - "node_modules/browser-resolve/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", - "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", - "dependencies": { - "caniuse-lite": "^1.0.30001265", - "electron-to-chromium": "^1.3.867", - "escalade": "^3.1.1", - "node-releases": "^2.0.0", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "engines": { - "node": ">=4" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001270", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz", - "integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==" - }, - "node_modules/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==", - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/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==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", - "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", - "dependencies": { - "for-own": "^0.1.3", - "is-plain-object": "^2.0.1", - "kind-of": "^3.0.2", - "lazy-cache": "^1.0.3", - "shallow-clone": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/coa/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/coa/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/coa/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dev": true - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "node_modules/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/color-string": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", - "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/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==" - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "node_modules/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==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" - }, - "node_modules/core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", - "dev": true - }, - "node_modules/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=" - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "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" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/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==" - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dependencies": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dependencies": { - "css-tree": "1.0.0-alpha.39" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/csstype": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz", - "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==" - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, - "node_modules/dayjs": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.8.tgz", - "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==" - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", - "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==", - "dependencies": { - "is-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dev": true - }, - "node_modules/deepmerge": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", - "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/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==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/dijkstrajs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz", - "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", - "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==" - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "dependencies": { - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.877", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.877.tgz", - "integrity": "sha512-fT5mW5Giw5iyVukeHb2XvB4joBKvzHtl8Vs3QzE7APATpFMt/T7RWyUcIKSZzYkKQgpMbu+vDBTCHfQZvh8klA==" - }, - "node_modules/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==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", - "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", - "dependencies": { - "stackframe": "^1.1.1" - } - }, - "node_modules/errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-abstract": { - "version": "1.18.0-next.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", - "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/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==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/eslint-config-prettier": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", - "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", - "dev": true, - "dependencies": { - "get-stdin": "^6.0.0" - }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" - } - }, - "node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - }, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/eslint-plugin-flowtype": { - "version": "2.50.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", - "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", - "dev": true, - "dependencies": { - "lodash": "^4.17.10" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "22.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", - "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", - "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", - "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.1", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.2.3", - "object.entries": "^1.1.1", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", - "prop-types": "^15.7.2", - "resolve": "^1.15.1", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.2", - "xregexp": "^4.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz", - "integrity": "sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw==", - "dev": true, - "engines": { - "node": ">=7" - } - }, - "node_modules/eslint-plugin-react-native": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz", - "integrity": "sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg==", - "dev": true, - "dependencies": { - "eslint-plugin-react-native-globals": "^0.1.1" - } - }, - "node_modules/eslint-plugin-react-native-globals": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", - "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", - "dev": true - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/eslint/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/eslint/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/eslint/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint/node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/inquirer/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/inquirer/node_modules/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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/eslint/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/eslint/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/eslint/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/expect/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/expect/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/expect/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/expect/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/expect/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/expect/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/expect/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/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==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/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==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fbjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", - "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", - "dependencies": { - "core-js": "^2.4.1", - "fbjs-css-vars": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - }, - "node_modules/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==" - }, - "node_modules/fbjs/node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" - } - }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "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" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/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==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/firebase": { - "version": "9.9.4", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.9.4.tgz", - "integrity": "sha512-XRfCw54nNGYUYNYi5PLJ6rcERN2M+aS32f6caYEx9GhCp9ndgHHzBL9BpPohUpEpKPtHA75EqYNf8kuR0HQndA==", - "dependencies": { - "@firebase/analytics": "0.8.0", - "@firebase/analytics-compat": "0.1.13", - "@firebase/app": "0.7.32", - "@firebase/app-check": "0.5.12", - "@firebase/app-check-compat": "0.2.12", - "@firebase/app-compat": "0.1.33", - "@firebase/app-types": "0.7.0", - "@firebase/auth": "0.20.6", - "@firebase/auth-compat": "0.2.19", - "@firebase/database": "0.13.6", - "@firebase/database-compat": "0.2.6", - "@firebase/firestore": "3.4.15", - "@firebase/firestore-compat": "0.1.24", - "@firebase/functions": "0.8.4", - "@firebase/functions-compat": "0.2.4", - "@firebase/installations": "0.5.12", - "@firebase/installations-compat": "0.1.12", - "@firebase/messaging": "0.9.16", - "@firebase/messaging-compat": "0.1.16", - "@firebase/performance": "0.5.12", - "@firebase/performance-compat": "0.1.12", - "@firebase/remote-config": "0.3.11", - "@firebase/remote-config-compat": "0.1.12", - "@firebase/storage": "0.9.9", - "@firebase/storage-compat": "0.1.17", - "@firebase/util": "1.6.3" - } - }, - "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/flow-parser": { - "version": "0.121.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.121.0.tgz", - "integrity": "sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/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, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/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==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/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==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/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==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "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" - }, - "engines": { - "node": "*" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true, - "optional": true - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hermes-engine": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.7.2.tgz", - "integrity": "sha512-E2DkRaO97gwL98LPhgfkMqhHiNsrAjIfEk3wWYn2Y31xdkdWn0572H7RnVcGujMJVqZNJvtknxlpsUb8Wzc3KA==" - }, - "node_modules/hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", - "dependencies": { - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/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==", - "dev": true - }, - "node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.1" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/humps": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz", - "integrity": "sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=" - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/idb": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", - "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" - }, - "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", - "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", - "dev": true, - "dependencies": { - "es-abstract": "^1.17.0-next.1", - "has": "^1.0.3", - "side-channel": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internal-slot/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "dev": true, - "optional": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dependencies": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, - "node_modules/isomorphic-fetch/node_modules/node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node_modules/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 - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", - "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", - "dev": true, - "dependencies": { - "@jest/core": "^25.5.4", - "import-local": "^3.0.2", - "jest-cli": "^25.5.4" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-changed-files": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", - "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "execa": "^3.2.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-changed-files/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "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", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/jest-changed-files/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-changed-files/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-changed-files/node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-config/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-config/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-config/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-config/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-config/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-config/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-config/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-diff/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-each": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", - "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-each/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-each/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-each/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", - "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", - "dev": true, - "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "jsdom": "^15.2.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-jsdom/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-jsdom/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-jsdom/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", - "dev": true, - "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-node/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-node/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-node/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-node/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-environment-node/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-node/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-node/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-environment-node/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-node/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-node/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/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==", - "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" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/jest-haste-map/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-haste-map/node_modules/@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==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/jest-haste-map/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-haste-map/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-haste-map/node_modules/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==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-haste-map/node_modules/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==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-haste-map/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-haste-map/node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-haste-map/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-haste-map/node_modules/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==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-jasmine2": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", - "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.5.0", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "co": "^4.6.0", - "expect": "^25.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^25.5.0", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-jasmine2/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-jasmine2/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-leak-detector": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", - "dev": true, - "dependencies": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-leak-detector/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", - "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.5.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runner/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runner/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runner/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-runner/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-runner/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/jest-runner/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runner/node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runner/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runner/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runner/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-runner/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-runner/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-runtime/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-runtime/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-runtime/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/jest-runtime/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-runtime/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-runtime/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-runtime/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-runtime/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-snapshot/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-snapshot/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-snapshot/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-snapshot/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-util/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-util/node_modules/@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==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/jest-util/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-util/node_modules/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==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-util/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-util/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - } - }, - "node_modules/jest-util/node_modules/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==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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==", - "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" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-validate/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "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" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-validate/node_modules/@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==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-watcher": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", - "dev": true, - "dependencies": { - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-watcher/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-watcher/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-watcher/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-watcher/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-watcher/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-watcher/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jest-watcher/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", - "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", - "dev": true, - "dependencies": { - "@jest/core": "^25.5.4", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^25.5.4", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "prompts": "^2.0.1", - "realpath-native": "^2.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/jetifier": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.8.tgz", - "integrity": "sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==", - "bin": { - "jetifier": "bin/jetify", - "jetifier-standalone": "bin/jetifier-standalone", - "jetify": "bin/jetify" - } - }, - "node_modules/joi": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", - "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "node_modules/jsc-android": { - "version": "245459.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-245459.0.0.tgz", - "integrity": "sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==" - }, - "node_modules/jscodeshift": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", - "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", - "dependencies": { - "@babel/core": "^7.1.6", - "@babel/parser": "^7.1.6", - "@babel/plugin-proposal-class-properties": "^7.1.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", - "@babel/plugin-proposal-optional-chaining": "^7.1.0", - "@babel/plugin-transform-modules-commonjs": "^7.1.0", - "@babel/preset-flow": "^7.0.0", - "@babel/preset-typescript": "^7.1.0", - "@babel/register": "^7.0.0", - "babel-core": "^7.0.0-bridge.0", - "colors": "^1.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.20.3", - "temp": "^0.8.1", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - } - }, - "node_modules/jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", - "dev": true, - "dependencies": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsdom/node_modules/ws": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", - "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", - "dev": true, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==" - }, - "node_modules/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==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/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 - }, - "node_modules/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==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.1", - "object.assign": "^4.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "node_modules/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==", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.frompairs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", - "integrity": "sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "node_modules/lodash.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" - }, - "node_modules/lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "node_modules/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==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/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==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", - "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" - }, - "bin": { - "logkitty": "bin/logkitty.js" - } - }, - "node_modules/lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/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==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/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==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-it": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", - "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", - "dependencies": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "node_modules/merge-deep": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", - "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", - "dependencies": { - "arr-union": "^3.1.0", - "clone-deep": "^0.2.4", - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-deep/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "dependencies": { - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/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==" - }, - "node_modules/metro": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.64.0.tgz", - "integrity": "sha512-G2OC08Rzfs0kqnSEuKo2yZxR+/eNUpA93Ru45c60uN0Dw3HPrDi+ZBipgFftC6iLE0l+6hu8roFFIofotWxybw==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/generator": "^7.5.0", - "@babel/parser": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "absolute-path": "^0.0.0", - "accepts": "^1.3.7", - "async": "^2.4.0", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "fs-extra": "^1.0.0", - "graceful-fs": "^4.1.3", - "image-size": "^0.6.0", - "invariant": "^2.2.4", - "jest-haste-map": "^26.5.2", - "jest-worker": "^26.0.0", - "lodash.throttle": "^4.1.1", - "metro-babel-register": "0.64.0", - "metro-babel-transformer": "0.64.0", - "metro-cache": "0.64.0", - "metro-cache-key": "0.64.0", - "metro-config": "0.64.0", - "metro-core": "0.64.0", - "metro-hermes-compiler": "0.64.0", - "metro-inspector-proxy": "0.64.0", - "metro-minify-uglify": "0.64.0", - "metro-react-native-babel-preset": "0.64.0", - "metro-resolver": "0.64.0", - "metro-runtime": "0.64.0", - "metro-source-map": "0.64.0", - "metro-symbolicate": "0.64.0", - "metro-transform-plugins": "0.64.0", - "metro-transform-worker": "0.64.0", - "mime-types": "^2.1.27", - "mkdirp": "^0.5.1", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^2.5.4", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "temp": "0.8.3", - "throat": "^5.0.0", - "ws": "^1.1.5", - "yargs": "^15.3.1" - }, - "bin": { - "metro": "src/cli.js" - } - }, - "node_modules/metro-babel-register": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.64.0.tgz", - "integrity": "sha512-Kf6YvE3kIRumGnjK0Q9LqGDIdnsX9eFGtNBmBuCVDuB9wGGA/5CgX8We8W7Y44dz1RGTcHJRhfw5iGg+pwC3aQ==", - "dependencies": { - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/register": "^7.0.0", - "escape-string-regexp": "^1.0.5" - } - }, - "node_modules/metro-babel-transformer": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.64.0.tgz", - "integrity": "sha512-itZaxKTgmKGEZWxNzbSZBc22NngrMZzoUNuU92aHSTGkYi2WH4XlvzEHsstmIKHMsRVKl75cA+mNmgk4gBFJKw==", - "dependencies": { - "@babel/core": "^7.0.0", - "metro-source-map": "0.64.0", - "nullthrows": "^1.1.1" - } - }, - "node_modules/metro-cache": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.64.0.tgz", - "integrity": "sha512-QvGfxe/1QQYM9XOlR8W1xqE9eHDw/AgJIgYGn/TxZxBu9Zga+Rgs1omeSZju45D8w5VWgMr83ma5kACgzvOecg==", - "dependencies": { - "metro-core": "0.64.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4" - } - }, - "node_modules/metro-cache-key": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.64.0.tgz", - "integrity": "sha512-O9B65G8L/fopck45ZhdRosyVZdMtUQuX5mBWEC1NRj02iWBIUPLmYMjrunqIe8vHipCMp3DtTCm/65IlBmO8jg==" - }, - "node_modules/metro-config": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.64.0.tgz", - "integrity": "sha512-QhM4asnX5KhlRWaugwVGNNXhX0Z85u5nK0UQ/A90bBb4xWyXqUe20e788VtdA75rkQiiI6wXTCIHWT0afbnjwQ==", - "dependencies": { - "cosmiconfig": "^5.0.5", - "jest-validate": "^26.5.2", - "metro": "0.64.0", - "metro-cache": "0.64.0", - "metro-core": "0.64.0", - "metro-runtime": "0.64.0" - } - }, - "node_modules/metro-core": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.64.0.tgz", - "integrity": "sha512-v8ZQ5j72EaUwamQ8pLfHlOHTyp7SbdazvHPzFGDpHnwIQqIT0Bw3Syg8R4regTlVG3ngpeSEAi005UITljmMcQ==", - "dependencies": { - "jest-haste-map": "^26.5.2", - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.64.0" - } - }, - "node_modules/metro-hermes-compiler": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.64.0.tgz", - "integrity": "sha512-CLAjVDWGAoGhbi2ZyPHnH5YDdfrDIx6+tzFWfHGIMTZkYBXsYta9IfYXBV8lFb6BIbrXLjlXZAOoosknetMPOA==" - }, - "node_modules/metro-inspector-proxy": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.64.0.tgz", - "integrity": "sha512-KywbH3GNSz9Iqw4UH3smgaV2dBHHYMISeN7ORntDL/G+xfgPc6vt13d+zFb907YpUcXj5N0vdoiAHI5V/0y8IA==", - "dependencies": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "ws": "^1.1.5", - "yargs": "^15.3.1" - }, - "bin": { - "metro-inspector-proxy": "src/cli.js" - } - }, - "node_modules/metro-inspector-proxy/node_modules/ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", - "dependencies": { - "options": ">=0.0.5", - "ultron": "1.0.x" - } - }, - "node_modules/metro-minify-uglify": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.64.0.tgz", - "integrity": "sha512-DRwRstqXR5qfte9Nuwoov5dRXxL7fJeVlO5fGyOajWeO3+AgPjvjXh/UcLJqftkMWTPGUFuzAD5/7JC5v5FLWw==", - "dependencies": { - "uglify-es": "^3.1.9" - } - }, - "node_modules/metro-react-native-babel-preset": { - "version": "0.59.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz", - "integrity": "sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg==", - "dev": true, - "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "node_modules/metro-react-native-babel-transformer": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.64.0.tgz", - "integrity": "sha512-K1sHO3ODBFCr7uEiCQ4RvVr+cQg0EHQF8ChVPnecGh/WDD8udrTq9ECwB0dRfMjAvlsHtRUlJm6ZSI8UPgum2w==", - "dependencies": { - "@babel/core": "^7.0.0", - "babel-preset-fbjs": "^3.3.0", - "metro-babel-transformer": "0.64.0", - "metro-react-native-babel-preset": "0.64.0", - "metro-source-map": "0.64.0", - "nullthrows": "^1.1.1" - } - }, - "node_modules/metro-react-native-babel-transformer/node_modules/metro-react-native-babel-preset": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", - "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", - "dependencies": { - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "node_modules/metro-resolver": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.64.0.tgz", - "integrity": "sha512-cJ26Id8Zf+HmS/1vFwu71K3u7ep/+HeXXAJIeVDYf+niE7AWB9FijyMtAlQgbD8elWqv1leJCnQ/xHRFBfGKYA==", - "dependencies": { - "absolute-path": "^0.0.0" - } - }, - "node_modules/metro-runtime": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.64.0.tgz", - "integrity": "sha512-m7XbWOaIOeFX7YcxUhmnOi6Pg8EaeL89xyZ+quZyZVF1aNoTr4w8FfbKxvijpjsytKHIZtd+43m2Wt5JrqyQmQ==" - }, - "node_modules/metro-source-map": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.64.0.tgz", - "integrity": "sha512-OCG2rtcp5cLEGYvAbfkl6mEc0J2FPRP4/UCEly+juBk7hawS9bCBMBfhJm/HIsvY1frk6nT2Vsl1O8YBbwyx2g==", - "dependencies": { - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.64.0", - "nullthrows": "^1.1.1", - "ob1": "0.64.0", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "node_modules/metro-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/metro-symbolicate": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.64.0.tgz", - "integrity": "sha512-qIi+YRrDWnLVmydj6gwidYLPaBsakZRibGWSspuXgHAxOI3UuLwlo4dpQ73Et0gyHjI7ZvRMRY8JPiOntf9AQQ==", - "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.64.0", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" - }, - "engines": { - "node": ">=8.3" - } - }, - "node_modules/metro-symbolicate/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/metro-transform-plugins": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.64.0.tgz", - "integrity": "sha512-iTIRBD/wBI98plfxj8jAoNUUXfXLNlyvcjPtshhpGvdwu9pzQilGfnDnOaaK+vbITcOk9w5oQectXyJwAqTr1A==", - "dependencies": { - "@babel/core": "^7.0.0", - "@babel/generator": "^7.5.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "nullthrows": "^1.1.1" - } - }, - "node_modules/metro-transform-worker": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.64.0.tgz", - "integrity": "sha512-wegRtK8GyLF6IPZRBJp+zsORgA4iX0h1DRpknyAMDCtSbJ4VU2xV/AojteOgAsDvY3ucAGsvfuZLNDJHUdUNHQ==", - "dependencies": { - "@babel/core": "^7.0.0", - "@babel/generator": "^7.5.0", - "@babel/parser": "^7.0.0", - "@babel/types": "^7.0.0", - "babel-preset-fbjs": "^3.3.0", - "metro": "0.64.0", - "metro-babel-transformer": "0.64.0", - "metro-cache": "0.64.0", - "metro-cache-key": "0.64.0", - "metro-hermes-compiler": "0.64.0", - "metro-source-map": "0.64.0", - "metro-transform-plugins": "0.64.0", - "nullthrows": "^1.1.1" - } - }, - "node_modules/metro/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/metro/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/metro/node_modules/fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - } - }, - "node_modules/metro/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/metro/node_modules/metro-react-native-babel-preset": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", - "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", - "dependencies": { - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "node_modules/metro/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/metro/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/metro/node_modules/ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", - "dependencies": { - "options": ">=0.0.5", - "ultron": "1.0.x" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dependencies": { - "mime-db": "1.44.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/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==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dependencies": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-object/node_modules/for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "engines": { - "node": "*" - } - }, - "node_modules/moment-timezone": { - "version": "0.5.33", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", - "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", - "dependencies": { - "moment": ">= 2.9.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/ndef": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ndef/-/ndef-0.2.0.tgz", - "integrity": "sha512-yl0t0oexuIjNLs8MAF5xZ6rT9P635+ZnCt4sng/aJT8/8gqJ0niBpZoKsioLi+NUA7ydb20MqXo+rIdAQcihVg==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ndef-lib": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ndef-lib/-/ndef-lib-0.0.7.tgz", - "integrity": "sha512-bP0z5AZy7brNOHJbbxPYPriIBrW40bBzC0v2JHigJUB9EvBUbobYEDwfQCL0zvKXggSkWDyR419X1TB1cKNy2A==", - "dependencies": { - "requirejs": "^2.3.5" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/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==" - }, - "node_modules/nfccard-tool": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/nfccard-tool/-/nfccard-tool-0.1.1.tgz", - "integrity": "sha512-XZGAHWQAWpx8Tm8shgQXmFeuSttj+Msp6RP5tRPPZ+q5IxX92p13AXxaN9ILhdx+xrEYQ6Dq+wsKduwzKo2d0A==", - "dependencies": { - "ndef-lib": "0.0.7" - } - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/nocache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", - "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", - "dependencies": { - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.10.5" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - }, - "node_modules/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=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-notifier": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", - "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", - "dev": true, - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^6.3.0", - "shellwords": "^0.1.1", - "which": "^1.3.1" - } - }, - "node_modules/node-notifier/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "optional": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" - }, - "node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/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, - "engines": { - "node": "*" - } - }, - "node_modules/ob1": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.64.0.tgz", - "integrity": "sha512-CO1N+5dhvy+MoAwxz8+fymEUcwsT4a+wHhrHFb02LppcJdHxgcBWviwEhUwKOD2kLMQ7ijrrzybOqpGcqEtvpQ==" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.entries": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", - "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.entries/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", - "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/object.getownpropertydescriptors/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "bin": { - "opencollective-postinstall": "index.js" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/options": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ora": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", - "dependencies": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ora/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/ora/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-each-series": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", - "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "node_modules/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==" - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "engines": { - "node": ">=8.6" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/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==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/plist": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", - "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", - "dependencies": { - "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/plist/node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "node_modules/pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", - "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/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==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pretty-format/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "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" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pretty-format/node_modules/@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==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/pretty-format/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-format/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pretty-format/node_modules/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==" - }, - "node_modules/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==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - }, - "bin": { - "pbjs": "bin/pbjs", - "pbts": "bin/pbts" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qrcode": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", - "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", - "dependencies": { - "buffer": "^5.4.3", - "buffer-alloc": "^1.2.0", - "buffer-from": "^1.1.1", - "dijkstrajs": "^1.0.1", - "isarray": "^2.0.1", - "pngjs": "^3.3.0", - "yargs": "^13.2.4" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qrcode/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qrcode/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/qrcode/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/qrcode/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/qrcode/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/qrcode/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/qrcode/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/qrcode/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/qrcode/node_modules/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==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/qrcode/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/qrcode/node_modules/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==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/qrcode/node_modules/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==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/qrcode/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "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" - } - }, - "node_modules/qrcode/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-devtools-core": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.0.tgz", - "integrity": "sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg==", - "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" - } - }, - "node_modules/react-devtools-core/node_modules/ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/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==" - }, - "node_modules/react-moment": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/react-moment/-/react-moment-0.9.7.tgz", - "integrity": "sha512-ifzUrUGF6KRsUN2pRG5k56kO0mJBr8kRkWb0wNvtFIsBIxOuPxhUpL1YlXwpbQCbHq23hUu6A0VEk64HsFxk9g==" - }, - "node_modules/react-native": { - "version": "0.64.1", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.64.1.tgz", - "integrity": "sha512-jvSj+hNAfwvhaSmxd5KHJ5HidtG0pDXzoH6DaqNpU74g3CmAiA8vuk58B5yx/DYuffGq6PeMniAcwuh3Xp4biQ==", - "dependencies": { - "@jest/create-cache-key-function": "^26.5.0", - "@react-native-community/cli": "^5.0.1-alpha.0", - "@react-native-community/cli-platform-android": "^5.0.1-alpha.0", - "@react-native-community/cli-platform-ios": "^5.0.1-alpha.0", - "@react-native/assets": "1.0.0", - "@react-native/normalize-color": "1.0.0", - "@react-native/polyfills": "1.0.0", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "base64-js": "^1.1.2", - "event-target-shim": "^5.0.1", - "hermes-engine": "~0.7.0", - "invariant": "^2.2.4", - "jsc-android": "^245459.0.0", - "metro-babel-register": "0.64.0", - "metro-react-native-babel-transformer": "0.64.0", - "metro-runtime": "0.64.0", - "metro-source-map": "0.64.0", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.0.3", - "prop-types": "^15.7.2", - "react-devtools-core": "^4.6.0", - "react-native-codegen": "^0.0.6", - "react-refresh": "^0.4.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "^0.20.1", - "shelljs": "^0.8.4", - "stacktrace-parser": "^0.1.3", - "use-subscription": "^1.0.0", - "whatwg-fetch": "^3.0.0", - "ws": "^6.1.4" - }, - "bin": { - "react-native": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/react-native-app-auth": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/react-native-app-auth/-/react-native-app-auth-6.4.0.tgz", - "integrity": "sha512-m9DOM/Bgplrk6gD+sqshsbdG9XB4eSaA4rZXuPnwTXYTcHxCy0KvJ3jRDLKDY1im78lXNnifGeHicv7chGAwQw==", - "dependencies": { - "invariant": "2.2.4", - "react-native-base64": "0.0.2" - } - }, - "node_modules/react-native-base64": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/react-native-base64/-/react-native-base64-0.0.2.tgz", - "integrity": "sha512-Fu/J1a2y0X22EJDWqJR2oEa1fpP4gTFjYxk8ElJdt1Yak3HOXmFJ7EohLVHU2DaQkgmKfw8qb7u/48gpzveRbg==" - }, - "node_modules/react-native-camera": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-4.2.1.tgz", - "integrity": "sha512-+Vkql24PFYQfsPRznJCvPwJQfyzCnjlcww/iZ4Ej80bgivKjL9eU0IMQIXp4yi6XCrKi4voWXxIDPMupQZKeIQ==", - "dependencies": { - "prop-types": "^15.6.2" - } - }, - "node_modules/react-native-codegen": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.0.6.tgz", - "integrity": "sha512-cMvrUelD81wiPitEPiwE/TCNscIVauXxmt4NTGcy18HrUd0WRWXfYzAQGXm0eI87u3NMudNhqFj2NISJenxQHg==", - "dependencies": { - "flow-parser": "^0.121.0", - "jscodeshift": "^0.11.0", - "nullthrows": "^1.1.1" - } - }, - "node_modules/react-native-dark-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/react-native-dark-mode/-/react-native-dark-mode-0.2.2.tgz", - "integrity": "sha512-2vhWOOimU7DRKYjCU/pdv0+JpnGKURq5+c7bre093Jtzk57HtlJfd+ViibbC9Y8zh0viIOyKtfL5mYhVhZ6Crw==", - "dependencies": { - "@types/events": "*", - "@types/react": "*", - "@types/react-native": "*", - "events": "^3.0.0", - "toolkit.ts": "^0.0.2" - } - }, - "node_modules/react-native-elements": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.3.2.tgz", - "integrity": "sha512-HygYYmq8JYjk/YYiUwr/64qT64H2xlPBz0JnkGTQwvnnyXZrfkHFopw8rLWCupv3iLLPDzVohvPs0Z5HLdonSQ==", - "dependencies": { - "@types/react-native-vector-icons": "^6.4.5", - "color": "^3.1.0", - "deepmerge": "^4.2.2", - "hoist-non-react-statics": "^3.1.0", - "lodash.isequal": "^4.5.0", - "opencollective-postinstall": "^2.0.0", - "prop-types": "^15.7.2", - "react-native-ratings": "^7.2.0", - "react-native-status-bar-height": "^2.5.0" - } - }, - "node_modules/react-native-elements/node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-native-fit-image": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/react-native-fit-image/-/react-native-fit-image-1.5.5.tgz", - "integrity": "sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==", - "dependencies": { - "prop-types": "^15.5.10" - } - }, - "node_modules/react-native-gesture-handler": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.10.3.tgz", - "integrity": "sha512-cBGMi1IEsIVMgoox4RvMx7V2r6bNKw0uR1Mu1o7NbuHS6BRSVLq0dP34l2ecnPlC+jpWd3le6Yg1nrdCjby2Mw==", - "dependencies": { - "@egjs/hammerjs": "^2.0.17", - "fbjs": "^3.0.0", - "hoist-non-react-statics": "^3.3.0", - "invariant": "^2.2.4", - "prop-types": "^15.7.2" - } - }, - "node_modules/react-native-gesture-handler/node_modules/fbjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", - "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", - "dependencies": { - "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" - } - }, - "node_modules/react-native-gesture-handler/node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" - } - }, - "node_modules/react-native-inappbrowser-reborn": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/react-native-inappbrowser-reborn/-/react-native-inappbrowser-reborn-3.7.0.tgz", - "integrity": "sha512-Ia53jYNtFcbNaX5W3QfOmN25I7bcvuDiQmSY5zABXjy4+WI20bPc9ua09li55F8yDCjv3C99jX6vKms68mBV7g==", - "hasInstallScript": true, - "dependencies": { - "invariant": "^2.2.4", - "opencollective-postinstall": "^2.0.3" - }, - "peerDependencies": { - "react-native": ">=0.56" - } - }, - "node_modules/react-native-iphone-x-helper": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", - "integrity": "sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==" - }, - "node_modules/react-native-markdown-renderer": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/react-native-markdown-renderer/-/react-native-markdown-renderer-3.2.8.tgz", - "integrity": "sha512-gDT5r3lwecNsEfpKagSaidEGfmCbpVcmV+HHLjaGYRALJoHkpOFni0rJZW1rCerOR9sjaUNGXE66U7BUrlEw0w==", - "dependencies": { - "@types/markdown-it": "^0.0.4", - "@types/react-native": ">=0.50.0", - "markdown-it": "^8.4.0", - "prop-types": "^15.5.10", - "react-native-fit-image": "^1.5.2" - } - }, - "node_modules/react-native-permissions": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.3.0.tgz", - "integrity": "sha512-F0Yjcp0V340lQW2ibg1lTGmStsMoWsBtosSCRIZOatOQAsNMp77zL6SdYcIGwJUBMVDX3BMraB4AX4Ph3cW1NA==" - }, - "node_modules/react-native-push-notification": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/react-native-push-notification/-/react-native-push-notification-7.4.0.tgz", - "integrity": "sha512-Ac3Ep71e2D8Q/Vy0OHBAO5JwhsFsNSuf9knkpXQWS0B9488nIZJLEMuTpF8610xPvGw7XxVrL/q0oZO5F1pOzw==" - }, - "node_modules/react-native-qrcode-scanner": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/react-native-qrcode-scanner/-/react-native-qrcode-scanner-1.5.5.tgz", - "integrity": "sha512-il79uStkFqUvofqXJQfOL30qgQyU17MUKxj7IGHv6oT2OxIY/vutTwuPPDbsivtv0yTMHP4dGx/79oys4eAuNw==", - "dependencies": { - "@react-native-async-storage/async-storage": "^1.13.4", - "prop-types": "^15.5.10", - "react-native-permissions": "^2.0.2" - } - }, - "node_modules/react-native-qrcode-scanner/node_modules/react-native-permissions": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-2.2.2.tgz", - "integrity": "sha512-ihf4shQDSX5Oo9ChQXb9kr13mmyyNem5MaEvOpr3dCjhBOBWyEMztXm9/uPK1Qg5PsNpaYLa1KpcPZDCw87LXg==" - }, - "node_modules/react-native-qrcode-svg": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.0.6.tgz", - "integrity": "sha512-b+/teD+xj17VDujJzf956U2+9mX+gKwVJss2aqmhEIyjP7+TVOuE08D3UkzfOCWXE8gppcUTTz5gkY1NXgfwyQ==", - "dependencies": { - "prop-types": "^15.5.10", - "qrcode": "^1.3.2" - } - }, - "node_modules/react-native-ratings": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-7.3.0.tgz", - "integrity": "sha512-NCDIkmrVPnxPzP9zKdlcNpa2rPs3Hiv2qXsojUr3FpwbANWfgYE+jjGSSCBcS3vpXndTjhoaTGFDnybnUSFPFA==", - "dependencies": { - "lodash": "^4.17.15", - "prop-types": "^15.7.2" - } - }, - "node_modules/react-native-raw-bottom-sheet": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/react-native-raw-bottom-sheet/-/react-native-raw-bottom-sheet-2.2.0.tgz", - "integrity": "sha512-qL4JKIqvbcVxbkKzeh51hjV7suoJN3ouxzvLmOg0FBUV1yiJAfEbacjQdtRCI6+OU5pyGFBIifLsTXcFDwHggg==" - }, - "node_modules/react-native-reanimated": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.13.3.tgz", - "integrity": "sha512-i714H24dv6ncpFO7/SZ0PfAMbvjgVbF8Ow2NPtowoZAz8osS54DmTMrkgJ9Za+uEku/s0AEaxqiXG2Xgntvv2g==", - "dependencies": { - "fbjs": "^1.0.0" - } - }, - "node_modules/react-native-safe-area-context": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz", - "integrity": "sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==" - }, - "node_modules/react-native-screens": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.18.1.tgz", - "integrity": "sha512-r5WZLpmx2hHjC1RgMdPq5YpSU9tEhBpUaZ5M1SUtNIONyiLqQVxabhRCINdebIk4depJiIl7yw2Q85zJyeX6fw==" - }, - "node_modules/react-native-status-bar-height": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/react-native-status-bar-height/-/react-native-status-bar-height-2.5.0.tgz", - "integrity": "sha512-sYBCPYA/NapBSHkdm/IVL4ID3LLlIuLqINi2FBDyMkc2BU9pfSGOtkz9yfxoK39mYJuTrlTOQ7mManARUsYDSA==" - }, - "node_modules/react-native-svg": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.1.tgz", - "integrity": "sha512-NIAJ8jCnXGCqGWXkkJ1GTzO4a3Md5at5sagYV8Vh4MXYnL4z5Rh428Wahjhh+LIjx40EE5xM5YtwyJBqOIba2Q==", - "dependencies": { - "css-select": "^2.1.0", - "css-tree": "^1.0.0-alpha.39" - } - }, - "node_modules/react-native-svg-transformer": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-0.14.3.tgz", - "integrity": "sha512-agDGdMeeBAsWEgg/u7mjtR2Z3c8smGCLep/n3svwifut9dpswZCP+bSIrU8ekg6RNtxAJL+eGJbWjJ38vWxw6g==", - "dependencies": { - "@svgr/core": "^4.3.3", - "@svgr/plugin-svgo": "^4.3.1", - "path-dirname": "^1.0.2", - "semver": "^5.6.0" - } - }, - "node_modules/react-native-svg-transformer/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/react-native-toggle-element": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/react-native-toggle-element/-/react-native-toggle-element-2.0.1.tgz", - "integrity": "sha512-+btOh+1HAc/nrhc/ktAPYiNLIHYij+5+V+I6twxbDOx3ezfeiWQJkODAJQBgO2+7xxWn8zmlxQ3X/DIJCuJ4mg==", - "license": "MIT", - "dependencies": { - "prop-types": "^15.7.2" - } - }, - "node_modules/react-native-user-agent": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/react-native-user-agent/-/react-native-user-agent-2.3.1.tgz", - "integrity": "sha512-AIFr1VgJHwgWmMwCOmIGxuBeAaADlouXKc10UyR4fzWneUbt5uIJIoRu2oExlfCtiT8IyCp106khDD5vx7RUjw==", - "peerDependencies": { - "react-native": "*" - } - }, - "node_modules/react-native-vector-icons": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-7.1.0.tgz", - "integrity": "sha512-V2a1zJ4i+kS8O4j183gIwX14St9AxxXabxwYpFBgRhvr2NDXyFcjHDEAgrOYYlt2W57e20aN1tBDU/I+wn9WtQ==", - "dependencies": { - "lodash.frompairs": "^4.0.1", - "lodash.isequal": "^4.5.0", - "lodash.isstring": "^4.0.1", - "lodash.omit": "^4.5.0", - "lodash.pick": "^4.4.0", - "lodash.template": "^4.5.0", - "prop-types": "^15.7.2", - "yargs": "^15.0.2" - }, - "bin": { - "fa5-upgrade": "bin/fa5-upgrade.sh", - "generate-icon": "bin/generate-icon.js" - } - }, - "node_modules/react-native-webview": { - "version": "11.23.1", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.23.1.tgz", - "integrity": "sha512-bmqsdg4RYOUYD37R9XTrQALm7eD62KbLNPRfgvpLGd1SjaurvAjjsLrLN4mt6yOtKOMKeZvlcAl3x6De6cCQsA==", - "dependencies": { - "escape-string-regexp": "2.0.0", - "invariant": "2.2.4" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/react-native-webview/node_modules/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-native/node_modules/@react-native-community/cli": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-5.0.1.tgz", - "integrity": "sha512-9VzSYUYSEqxEH5Ib2UNSdn2eyPiYZ4T7Y79o9DKtRBuSaUIwbCUdZtIm+UUjBpLS1XYBkW26FqL8/UdZDmQvXw==", - "dependencies": { - "@react-native-community/cli-debugger-ui": "^5.0.1", - "@react-native-community/cli-hermes": "^5.0.1", - "@react-native-community/cli-server-api": "^5.0.1", - "@react-native-community/cli-tools": "^5.0.1", - "@react-native-community/cli-types": "^5.0.1", - "appdirsjs": "^1.2.4", - "chalk": "^3.0.0", - "command-exists": "^1.2.8", - "commander": "^2.19.0", - "cosmiconfig": "^5.1.0", - "deepmerge": "^3.2.0", - "envinfo": "^7.7.2", - "execa": "^1.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "glob": "^7.1.3", - "graceful-fs": "^4.1.3", - "joi": "^17.2.1", - "leven": "^3.1.0", - "lodash": "^4.17.15", - "metro": "^0.64.0", - "metro-config": "^0.64.0", - "metro-core": "^0.64.0", - "metro-react-native-babel-transformer": "^0.64.0", - "metro-resolver": "^0.64.0", - "metro-runtime": "^0.64.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "node-stream-zip": "^1.9.1", - "ora": "^3.4.0", - "pretty-format": "^26.6.2", - "prompts": "^2.4.0", - "semver": "^6.3.0", - "serve-static": "^1.13.1", - "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", - "wcwidth": "^1.0.1" - }, - "bin": { - "react-native": "build/bin.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/react-native/node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/react-native/node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-test-renderer": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz", - "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "react-is": "^16.8.6", - "scheduler": "^0.19.1" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "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" - } - }, - "node_modules/realpath-native": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", - "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/recast": { - "version": "0.20.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", - "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", - "dependencies": { - "ast-types": "0.14.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/recast/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/recast/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" - }, - "node_modules/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==", - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/regexp.prototype.flags/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "node_modules/regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/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=" - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/request-promise-native/node_modules/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, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/request/node_modules/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, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==" - }, - "node_modules/requirejs": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", - "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", - "bin": { - "r_js": "bin/r.js", - "r.js": "bin/r.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dependencies": { - "path-parse": "^1.0.6" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "engines": { - "node": "6.* || >= 7.*" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/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==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "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" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "dev": true, - "dependencies": { - "xmlchars": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "dev": true, - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/selenium-webdriver": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz", - "integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==", - "dependencies": { - "jszip": "^3.6.0", - "tmp": "^0.2.1", - "ws": ">=7.4.6" - }, - "engines": { - "node": ">= 10.15.0" - } - }, - "node_modules/selenium-webdriver/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/selenium-webdriver/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/selenium-webdriver/node_modules/ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "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.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/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==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shallow-clone": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", - "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", - "dependencies": { - "is-extendable": "^0.1.1", - "kind-of": "^2.0.1", - "lazy-cache": "^0.2.3", - "mixin-object": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", - "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "dependencies": { - "is-buffer": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shallow-clone/node_modules/lazy-cache": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-quote": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", - "dependencies": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, - "node_modules/side-channel": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", - "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", - "dev": true, - "dependencies": { - "es-abstract": "^1.18.0-next.0", - "object-inspect": "^1.8.0" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/simple-plist": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.0.tgz", - "integrity": "sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==", - "dependencies": { - "bplist-creator": "0.1.0", - "bplist-parser": "0.3.0", - "plist": "^3.0.4" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/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==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/slice-ansi/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/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==", - "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" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", - "dev": true - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "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" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "node_modules/stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stackframe": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", - "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==" - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dependencies": { - "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-buffers": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", - "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=", - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", - "dev": true, - "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", - "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.2" - } - }, - "node_modules/string.prototype.matchall/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trimend/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trimstart/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" - }, - "node_modules/superstruct": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz", - "integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==", - "dependencies": { - "clone-deep": "^2.0.1", - "kind-of": "^6.0.1" - } - }, - "node_modules/superstruct/node_modules/clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", - "dependencies": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/superstruct/node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/superstruct/node_modules/shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", - "dependencies": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/superstruct/node_modules/shallow-clone/node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "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" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/svgo/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/svgo/node_modules/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==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/svgo/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/svgo/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dev": true - }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table/node_modules/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 - }, - "node_modules/table/node_modules/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, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/temp": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", - "engines": [ - "node >=0.8.0" - ], - "dependencies": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" - } - }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terminal-link/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terminal-link/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/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=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/toolkit.ts": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/toolkit.ts/-/toolkit.ts-0.0.2.tgz", - "integrity": "sha512-yJJTVbCwiD6AfFgReewJCGJuODmyZUeL1sDjnxp33t0UBxnezgQrLbz/F9++RC28CTlk5u5pVji4TbeondYEkw==" - }, - "node_modules/tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, - "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", - "engines": { - "node": "*" - } - }, - "node_modules/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==" - }, - "node_modules/uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dependencies": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/uglify-es/node_modules/commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" - }, - "node_modules/uglify-es/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" - }, - "node_modules/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use-subscription": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", - "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", - "dependencies": { - "object-assign": "^4.1.1" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "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" - } - }, - "node_modules/util.promisify/node_modules/es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", - "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": "8.x.x || >=10.10.0" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vlq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", - "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "dev": true, - "dependencies": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dependencies": { - "makeerror": "1.0.x" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz", - "integrity": "sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ==" - }, - "node_modules/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==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/xcode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", - "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", - "dependencies": { - "simple-plist": "^1.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/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==", - "dev": true - }, - "node_modules/xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/xmldoc": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", - "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", - "dependencies": { - "sax": "^1.2.1" - } - }, - "node_modules/xregexp": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", - "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", - "dev": true, - "dependencies": { - "@babel/runtime-corejs3": "^7.8.3" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" - }, - "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - } - }, "dependencies": { "@babel/code-frame": { "version": "7.10.4", @@ -19588,14 +2052,12 @@ "@firebase/auth-interop-types": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", - "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", - "requires": {} + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==" }, "@firebase/auth-types": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", - "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==", - "requires": {} + "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==" }, "@firebase/component": { "version": "0.5.17", @@ -19706,8 +2168,7 @@ "@firebase/firestore-types": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", - "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==", - "requires": {} + "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==" }, "@firebase/functions": { "version": "0.8.4", @@ -19794,8 +2255,7 @@ "@firebase/installations-types": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.4.0.tgz", - "integrity": "sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A==", - "requires": {} + "integrity": "sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A==" }, "@firebase/logger": { "version": "0.3.3", @@ -19983,8 +2443,7 @@ "@firebase/storage-types": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", - "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==", - "requires": {} + "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==" }, "@firebase/util": { "version": "1.6.3", @@ -29895,8 +12354,7 @@ "react-native-user-agent": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/react-native-user-agent/-/react-native-user-agent-2.3.1.tgz", - "integrity": "sha512-AIFr1VgJHwgWmMwCOmIGxuBeAaADlouXKc10UyR4fzWneUbt5uIJIoRu2oExlfCtiT8IyCp106khDD5vx7RUjw==", - "requires": {} + "integrity": "sha512-AIFr1VgJHwgWmMwCOmIGxuBeAaADlouXKc10UyR4fzWneUbt5uIJIoRu2oExlfCtiT8IyCp106khDD5vx7RUjw==" }, "react-native-vector-icons": { "version": "7.1.0", @@ -30410,8 +12868,7 @@ "ws": { "version": "8.8.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", - "requires": {} + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==" } } }, @@ -30913,14 +13370,6 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" }, - "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" - } - }, "string-length": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", @@ -31054,6 +13503,14 @@ } } }, + "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" + } + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", diff --git a/scav_hunt/ScavHuntCrossword.js b/scav_hunt/ScavHuntCrossword.js new file mode 100644 index 00000000..9d39e634 --- /dev/null +++ b/scav_hunt/ScavHuntCrossword.js @@ -0,0 +1,6 @@ +import React from "react"; +import { Text } from "react-native"; + +export function ScavHuntCrossword(props) { + return Crossword ; +} diff --git a/scav_hunt/ScavengerHuntStackScreen.js b/scav_hunt/ScavengerHuntStackScreen.js index 6fdb22c5..57921789 100644 --- a/scav_hunt/ScavengerHuntStackScreen.js +++ b/scav_hunt/ScavengerHuntStackScreen.js @@ -1,6 +1,6 @@ import React from "react"; import { useDynamicStyleSheet } from "react-native-dark-mode"; - +import { ScavHuntCrossword } from "./ScavHuntCrossword"; import { ScavengerHuntTab } from "./ScavengerHuntTab"; import { AuthContext } from "../context"; import { ScavengerHuntStack } from "../stacks" @@ -37,6 +37,16 @@ export default function ScavengerHuntStackScreen({ navigation }) { name="ScavHuntItem" component={ScavHuntItem} /> + , + headerStyle: dStyles.tabBarBackgroundColor, + headerLeft: null + }} + name="ScavHuntCrossword" + component={ScavHuntCrossword} + /> ) }} diff --git a/scav_hunt/ScavengerHuntTab.js b/scav_hunt/ScavengerHuntTab.js index 8d8e38cd..1f50c8e3 100644 --- a/scav_hunt/ScavengerHuntTab.js +++ b/scav_hunt/ScavengerHuntTab.js @@ -13,114 +13,207 @@ import AsyncStorage from "@react-native-community/async-storage"; import { HackathonContext, ThemeContext, ScavHuntContext } from "../context"; import { fetchServerTime } from "../cms"; import moment from "moment-timezone"; +import QRCode from "react-native-qrcode-svg"; export function ScavengerHuntTab(props) { - const { state, completeHint } = useContext(ScavHuntContext) - const hackathonContext = useContext(HackathonContext) - const hackathon = hackathonContext.state.hackathon - const [currentDate, setCurrentDate] = useState(Date.parse("2000-01-01T20:30:00.000000-04:00")) + const { state, completeHint } = useContext(ScavHuntContext); + const hackathonContext = useContext(HackathonContext); + const hackathon = hackathonContext.state.hackathon; + const [currentDate, setCurrentDate] = useState( + Date.parse("2000-01-01T20:30:00.000000-04:00") + ); useEffect(() => { - AsyncStorage.getItem( - "completedHints", - (error, result) => { - if (result) { - const r = JSON.parse(result) - r.forEach(id => { - if (!state.completedHints.includes(id)) { - completeHint(id) - } - }) - } + AsyncStorage.getItem("completedHints", (error, result) => { + if (result) { + const r = JSON.parse(result); + r.forEach((id) => { + if (!state.completedHints.includes(id)) { + completeHint(id); + } + }); } - ); - }, []) + }); + }, []); useEffect(() => { - console.log(props.user) - const unsubscribe = props.navigation.addListener('focus', () => { - // The screen is focused - fetchServerTime().then( timeData => { - console.log('Got time: ', timeData) - setCurrentDate(Date.parse(timeData.datetime)) - }) - }, [props.navigation]); - return unsubscribe - }) + console.log(props.user); + const unsubscribe = props.navigation.addListener( + "focus", + () => { + // The screen is focused + fetchServerTime().then((timeData) => { + console.log("Got time: ", timeData); + setCurrentDate(Date.parse(timeData.datetime)); + }); + }, + [props.navigation] + ); + return unsubscribe; + }); return ( {({ dynamicStyles }) => { - var scavHunts = hackathon.scavengerHunts - scavHunts.sort((item1, item2) => { - const d1 = Date.parse(item1.releaseDate) - const d2 = Date.parse(item2.releaseDate) - return d1-d2 - }) - const scavHuntButtons = scavHunts.map(challenge => { - const item = { - ...challenge, - releaseDate: Date.parse(challenge.releaseDate), - } - const available = new Date(item.releaseDate) < currentDate - const isComplete = state.completedHints.includes(item.id) - console.log('Scav Hunt info: \nRelease date', new Date(item.releaseDate), 'current date: ', currentDate, 'available: ', available, 'isComplete: ', isComplete) - return ( - { - props.navigation.navigate("ScavHuntItem", {'item': item, 'user': props.user, 'hackathonName': hackathon.name}) - }} - > - { - available ? null : - - } - - {item.title} - - - {"Available " + moment(item.releaseDate).format("MMM D [at] h:mm A")} - - - ); - }) + var scavHunts = hackathon.scavengerHunts; + scavHunts.sort((item1, item2) => { + const d1 = Date.parse(item1.releaseDate); + const d2 = Date.parse(item2.releaseDate); + return d1 - d2; + }); + const crosswordPuzzleChallenges = scavHunts.filter((challenge) => { + !challenge.isQR; + }); + console.log(scavHunts); + var crosswordPuzzleButton = null; - const currPoints = state.completedHints.reduce((acc, curr) => { return acc + (curr.points ? curr.points : 0) }, 0) - const totalPoints = scavHunts.reduce((acc, curr) => { return acc + (curr.points ? curr.points : 0) }, 0) + if (crosswordPuzzleChallenges.length == 0) { + const available = true; + const isComplete = false; + crosswordPuzzleButton = () => ( + { + props.navigation.navigate("ScavHuntCrossword", { + challenges: crosswordPuzzleChallenges, + user: props.user, + hackathonName: hackathon.name, + }); + }} + > + {available ? null : ( + + )} + + {"Crossword Puzzle"} + + + ); + } + const scavHuntButtons = scavHunts.map((challenge) => { + if (!challenge.isQR) { + return null; + } + const item = { + ...challenge, + releaseDate: Date.parse(challenge.releaseDate), + }; + const available = new Date(item.releaseDate) < currentDate; + const isComplete = state.completedHints.includes(item.id); + console.log( + "Scav Hunt info: \nRelease date", + new Date(item.releaseDate), + "current date: ", + currentDate, + "available: ", + available, + "isComplete: ", + isComplete + ); + return ( + { + props.navigation.navigate("ScavHuntItem", { + item: item, + user: props.user, + hackathonName: hackathon.name, + }); + }} + > + {available ? null : ( + + )} + + {item.title} + + + {"Available " + + moment(item.releaseDate).format("MMM D [at] h:mm A")} + + + ); + }); + + const currPoints = state.completedHints.reduce((acc, curr) => { + return acc + (curr.points ? curr.points : 0); + }, 0); + const totalPoints = scavHunts.reduce((acc, curr) => { + return acc + (curr.points ? curr.points : 0); + }, 0); - return ( - - - - {"Scavenger Hunt"} - - { totalPoints ? - - {currPoints + "/" + totalPoints + " pts"} - : null - } - - - {"Scavenger Hunt is a fun way to earn points for completing challenges!"} + return ( + + + + {"Scavenger Hunt"} + + {totalPoints ? ( + + {currPoints + "/" + totalPoints + " pts"} + ) : null} + + + { + "Scavenger Hunt is a fun way to earn points for completing challenges!" + } + - {scavHuntButtons} - - ); - }} + + {scavHuntButtons} + {crosswordPuzzleButton()} + + + ); + }} ); } @@ -146,7 +239,7 @@ const styles = StyleSheet.create({ textAlign: "center", fontFamily: "SpaceMono-Regular", letterSpacing: 0.005, - color: 'black' + color: "black", }, joinEvent: { @@ -168,13 +261,13 @@ const styles = StyleSheet.create({ fontFamily: "SpaceMono-Bold", fontSize: 22, marginTop: 34, - marginBottom: 10, + marginBottom: 10, }, scavHuntHeaderContainer: { flexDirection: "row", - justifyContent: 'space-between', + justifyContent: "space-between", marginHorizontal: 15, - flex: 1 - } + flex: 1, + }, }); From b9cd6e057c2dc35a1d583f7ab7d7080323e627c6 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Thu, 29 Sep 2022 21:23:08 -0400 Subject: [PATCH 042/102] reformatting --- App.js | 254 +- ios/Podfile.lock | 24 +- onboarding/LoginOnboarding.js | 11 +- package-lock.json | 17427 +++++++++++++++++++++++++++++++- 4 files changed, 17546 insertions(+), 170 deletions(-) diff --git a/App.js b/App.js index 2544d95d..2b39a3d7 100644 --- a/App.js +++ b/App.js @@ -40,7 +40,6 @@ import { ThemeProvider, HackathonProvider, AuthProvider } from "./state_manageme // const authUrl = "https://login.hack.gt"; const loginUrl = "https://login.hexlabs.org" - const config = { clientId: "7d1c11b30351e91d6517492c19a9a0185a6e4e6304f9826f96a76895534cf26f", redirectUrl: "gt.hack.live://redirect", @@ -62,7 +61,6 @@ PushNotification.configure({ console.log("NOTIFICATION:", notification); // process the notification - // (required) Called when a remote is received or opened, or local notification is opened notification.finish(PushNotificationIOS.FetchResult.NoData); }, @@ -105,6 +103,8 @@ PushNotification.configure({ const Tab = createBottomTabNavigator(); function App(props) { + const theme = useDarkModeContext(); + const styles = useDynamicStyleSheet(dynamicStyles); // event data const [hackathon, setHackathon] = useState(null) @@ -119,7 +119,6 @@ function App(props) { const [scheduleModal, setScheduleModal] = useState(false) const [pastEventOnboardID, setPastEventOnboardID] = useState(null) - const configAsyncStorage = () => { AsyncStorage.getItem( "starredIds", @@ -202,8 +201,6 @@ function App(props) { }, []) - - useEffect(() => { AsyncStorage.setItem( "isStarSchedule", @@ -274,10 +271,6 @@ function App(props) { const Stack = createStackNavigator(); - console.log(hackathon) - - // TODO: login re-enable - const splashGrowModal = ( - - {({loading, showLogin, user}) => { - // until app is done loading data, show the splash screen - if (loading || isFetchingData) { - return ( - + + + {({ loading, showLogin, user }) => { + // until app is done loading data, show the splash screen + if (loading || isFetchingData) { + return ( setScheduleModal(true)} /> - - ); - } - // if user needs to login, do splash grow/fade out animation then show login - if (showLogin) { - return ( - + ); + } + // if user needs to login, do splash grow/fade out animation then show login + if (showLogin) { + return ( + <> {!scheduleModal && splashGrowModal} - - ); - } - - const showEventOnboard = pastEventOnboardID !== hackathon.id; - - // if logging in with a hexlabs email - // const showCheckin = /@hexlabs.org\s*$/.test(user.email) - const showCheckin = user && user.roles.member - // once logged in and all data is loaded, present full app after grow animation - return ( - + + ); + } + + const showEventOnboard = pastEventOnboardID !== hackathon.id; + + // if logging in with a hexlabs email + // const showCheckin = /@hexlabs.org\s*$/.test(user.email) + const showCheckin = user && user.roles.member + // once logged in and all data is loaded, present full app after grow animation + return ( - {!scheduleModal && splashGrowModal} - - - - {/* TODO: when need tab bottom bar, convert "Stack." to "Tab." and remoe headerMode="none" and finally add different screens below */} - ({ - tabBarIcon: ({ focused, color, size }) => { - let icon; - const selectedColor = focused - ? props.styles.tintColor.color - : props.styles.text.color; - - if (route.name === "Schedule") { - icon = faCalendar; - } else if (route.name === "Information") { - icon = faInfoCircle; - } else if (route.name === "ScavengerHunt") { - icon = faMapSigns - } else if (route.name === "CheckIn") { - icon = faClipboardCheck; - } - - return ( - - ); - }, - })} - > - {showEventOnboard ? ( - ( - { - setPastEventOnboardID(hackathon.id) - AsyncStorage.setItem( - "pastEventOnboardID", - hackathon.id - ); - }} - > - )} - > - ) : ( - - )} - + {!scheduleModal && splashGrowModal} + + + + ({ + tabBarIcon: ({ focused, color, size }) => { + let icon; + const selectedColor = focused + ? styles.tintColor.color + : styles.text.color; + + if (route.name === "Schedule") { + icon = faCalendar; + } else if (route.name === "Information") { + icon = faInfoCircle; + } else if (route.name === "ScavengerHunt") { + icon = faMapSigns + } else if (route.name === "CheckIn") { + icon = faClipboardCheck; + } + + return ( + + ); + }, + })} + > + {showEventOnboard ? ( + name="Schedule" + children={() => ( + { + setPastEventOnboardID(hackathon.id) + AsyncStorage.setItem( + "pastEventOnboardID", + hackathon.id + ); + }} + > + )} + > + ) : ( - { !showCheckin ? null : + )} + + + + {!showCheckin ? null : - } - - + } + + - - ); - }} - + ); + }} + + - ) } -export default withThemeHook(App); - -function withThemeHook(App) { - return function Hook(props) { - const theme = useDarkModeContext(); - const styles = useDynamicStyleSheet(dynamicStyles); - return ; - }; -} +export default App; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f1911dba..aa85d304 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -556,7 +556,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: 6553874f0bb5ab989352b473d1323d0fba9dc754 + FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -567,7 +567,7 @@ SPEC CHECKSUMS: GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 + Permission-Camera: 597646618d1edcc055a3f660844c2ee6de8e0596 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 @@ -580,11 +580,11 @@ SPEC CHECKSUMS: React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 - react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 - react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa - react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 - react-native-user-agent: 594b689d097a85c24128d2458803586d5e5cb1f7 - react-native-webview: a192040320142d8f10d652a745c46e4f43e37f8c + react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 + react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f + react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 + react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 + react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 @@ -598,15 +598,15 @@ SPEC CHECKSUMS: React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 - RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 - RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 - RNCPushNotificationIOS: 089da3b657e1e3d464f38195fd2e3069608ef5af + RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 + RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 + RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45 RNFBApp: 9c90f9d576861947ba75fe0830567c570bcbcf6d RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNInAppBrowser: 9066f16e763951ea2a70c191934274b955cb6ec8 - RNPermissions: b4522b438784c979764461e1beba55250654bada + RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 + RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f diff --git a/onboarding/LoginOnboarding.js b/onboarding/LoginOnboarding.js index 1938e863..e88544b9 100644 --- a/onboarding/LoginOnboarding.js +++ b/onboarding/LoginOnboarding.js @@ -19,7 +19,8 @@ import { app } from '../' import { getAuth } from 'firebase/auth' - +const LOGIN_URL = "https://login.hexlabs.org" +const AUTH_URL = 'https://auth.api.hexlabs.org' export function LoginOnboarding(props) { @@ -27,16 +28,12 @@ export function LoginOnboarding(props) { const [pageIndex, setPageIndex] = useState(0) const [pageCount, setPageCount] = useState(3) - const loginUrl = "https://login.hexlabs.org" - const authUrl = 'https://auth.api.hexlabs.org' - - const login = async () => { try { const path = '' const deepLink = getDeepLink(path) const redirect = '/?redirect=hexlabs://' + path - const result = await InAppBrowser.openAuth(loginUrl + redirect, deepLink, {}) + const result = await InAppBrowser.openAuth(LOGIN_URL + redirect, deepLink, {}) if (result.type === 'success') { const splitUrl = result.url.split('?') if (splitUrl[1]) { @@ -63,7 +60,7 @@ export function LoginOnboarding(props) { const fetchAccessToken = async (idToken) => { console.log('token: ', idToken) - fetch(`${authUrl + '/auth/status'}/`, { + fetch(`${AUTH_URL + '/auth/status'}/`, { method: "GET", headers: { Authorization: "Bearer " + idToken, diff --git a/package-lock.json b/package-lock.json index 07ce473c..da9dc134 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,17417 @@ { "name": "AppGT", "version": "0.0.1", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "AppGT", + "version": "0.0.1", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^1.2.36", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@fortawesome/react-native-fontawesome": "^0.2.7", + "@react-native-community/async-storage": "^1.12.1", + "@react-native-community/masked-view": "^0.1.11", + "@react-native-community/push-notification-ios": "^1.10.1", + "@react-native-firebase/app": "^11.5.0", + "@react-native-firebase/iid": "^11.5.0", + "@react-native-firebase/messaging": "^11.5.0", + "@react-navigation/bottom-tabs": "^5.11.15", + "@react-navigation/native": "^5.9.8", + "@react-navigation/stack": "^5.14.9", + "firebase": "^9.9.4", + "moment": "^2.29.1", + "moment-timezone": "^0.5.33", + "ndef": "^0.2.0", + "nfccard-tool": "^0.1.1", + "react": "16.13.1", + "react-moment": "^0.9.7", + "react-native": "0.64.1", + "react-native-app-auth": "^6.4.0", + "react-native-camera": "^4.2.1", + "react-native-dark-mode": "^0.2.2", + "react-native-elements": "^2.3.2", + "react-native-gesture-handler": "^1.10.3", + "react-native-inappbrowser-reborn": "^3.7.0", + "react-native-markdown-renderer": "^3.2.8", + "react-native-permissions": "^3.3.0", + "react-native-push-notification": "^7.4.0", + "react-native-qrcode-scanner": "^1.5.5", + "react-native-qrcode-svg": "6.0.6", + "react-native-raw-bottom-sheet": "^2.2.0", + "react-native-reanimated": "^1.13.3", + "react-native-safe-area-context": "^3.3.2", + "react-native-screens": "^2.18.1", + "react-native-svg": "^12.1.1", + "react-native-svg-transformer": "^0.14.3", + "react-native-toggle-element": "^2.0.1", + "react-native-user-agent": "^2.3.1", + "react-native-vector-icons": "^7.1.0", + "react-native-webview": "^11.23.1" + }, + "devDependencies": { + "@babel/core": "^7.15.8", + "@babel/runtime": "^7.15.4", + "@react-native-community/eslint-config": "^1.1.0", + "babel-jest": "^25.1.0", + "eslint": "^6.5.1", + "jest": "^25.1.0", + "metro-react-native-babel-preset": "^0.59.0", + "react-test-renderer": "16.13.1" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", + "dependencies": { + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.8", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/code-frame": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/generator": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "dependencies": { + "@babel/types": "^7.15.6", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-module-transforms": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", + "dependencies": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@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==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/parser": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/core/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/core/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/core/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/core/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/core/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/generator": { + "version": "7.11.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz", + "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==", + "dependencies": { + "@babel/types": "^7.11.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-builder-react-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", + "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-builder-react-jsx-experimental": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz", + "integrity": "sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/types": "^7.11.5" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "dependencies": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", + "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.10.5", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", + "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.0" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor/node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.11.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz", + "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables/node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables/node_modules/@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", + "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", + "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/template": "^7.10.4", + "@babel/types": "^7.11.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", + "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "dependencies": { + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz", + "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==", + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + }, + "node_modules/@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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dependencies": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/code-frame": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/generator": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "dependencies": { + "@babel/types": "^7.15.6", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dependencies": { + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@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==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/parser": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helpers/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helpers/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/helpers/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/helpers/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/helpers/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helpers/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/helpers/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helpers/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", + "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", + "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.10.4.tgz", + "integrity": "sha512-G1l00VvDZ7Yk2yRlC5D8Ybvu3gmeHS3rCHoUYdjrqGYUtdeOBoRypnvDZ5KQqxyaiiGHWnVDeSEzA5F9ozItig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-default-from": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", + "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz", + "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", + "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz", + "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", + "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.10.4.tgz", + "integrity": "sha512-79V6r6Pgudz0RnuMGp5xidu6Z+bPFugh8/Q9eDHonmLp4wKFAZDwygJwYgCzuDu8lFA/sYyT+mc5y2wkd7bTXA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz", + "integrity": "sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", + "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz", + "integrity": "sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", + "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz", + "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", + "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", + "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", + "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", + "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz", + "integrity": "sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", + "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", + "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", + "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", + "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", + "dependencies": { + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-object-assign": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.10.4.tgz", + "integrity": "sha512-6zccDhYEICfMeQqIjuY5G09/yhKzG30DKHJeYBQUHIsJH7c2jXSGvgwRalufLAXAq432OSlsEfAOLlzEsQzxVw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/generator": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", + "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "dependencies": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", + "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/parser": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", + "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/traverse": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/plugin-transform-object-super/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", + "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-property-literals/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz", + "integrity": "sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz", + "integrity": "sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==", + "dependencies": { + "@babel/helper-builder-react-jsx": "^7.10.4", + "@babel/helper-builder-react-jsx-experimental": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz", + "integrity": "sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz", + "integrity": "sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", + "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", + "dependencies": { + "regenerator-transform": "^0.14.2" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.5.tgz", + "integrity": "sha512-9aIoee+EhjySZ6vY5hnLjigHzunBlscx9ANKutkeWTJTx6m5Rbq6Ic01tLvO54lSusR+BxV7u4UDdCmXv5aagg==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", + "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz", + "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", + "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", + "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz", + "integrity": "sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.10.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", + "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/preset-flow": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz", + "integrity": "sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-flow-strip-types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-flow/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-flow/node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-flow/node_modules/@babel/plugin-syntax-flow": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", + "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-flow/node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", + "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-flow": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/generator": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", + "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "dependencies": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", + "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", + "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/parser": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", + "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-transform-typescript": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/traverse": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/preset-typescript/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/preset-typescript/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/preset-typescript/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/preset-typescript/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/preset-typescript/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/preset-typescript/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/preset-typescript/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/register": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.0.tgz", + "integrity": "sha512-UNZsMAZ7uKoGHo1HlEXfteEOYssf64n/PNLHGqOKq/bgYcu/4LrQWAHJwSCb3BRZK8Hi5gkJdRcwrGTO2wtRCg==", + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/register/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@babel/register/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz", + "integrity": "sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/traverse": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz", + "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.11.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.11.5", + "@babel/types": "^7.11.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/types": { + "version": "7.11.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz", + "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "dependencies": { + "@types/hammerjs": "^2.0.36" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@firebase/analytics": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", + "integrity": "sha512-wkcwainNm8Cu2xkJpDSHfhBSdDJn86Q1TZNmLWc67VrhZUHXIKXxIqb65/tNUVE+I8+sFiDDNwA+9R3MqTQTaA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/analytics-compat": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.13.tgz", + "integrity": "sha512-QC1DH/Dwc8fBihn0H+jocBWyE17GF1fOCpCrpAiQ2u16F/NqsVDVG4LjIqdhq963DXaXneNY7oDwa25Up682AA==", + "dependencies": { + "@firebase/analytics": "0.8.0", + "@firebase/analytics-types": "0.7.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/analytics-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/analytics-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", + "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" + }, + "node_modules/@firebase/analytics/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/app": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.32.tgz", + "integrity": "sha512-FUqDHgCkr6oVTTpastIlquYsMtkd8Tg4SR8+z4sCJ1C1pbPavazN9qeYIqHQjviqLV/OflCrACCZj/s2zlh0ww==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-check": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.12.tgz", + "integrity": "sha512-l+MmvupSGT/F+I5ei7XjhEfpoL4hLVJr0vUwcG5NEf2hAkQnySli9fnbl9fZu1BJaQ2kthrMmtg1gcbcM9BUCQ==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-check-compat": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.12.tgz", + "integrity": "sha512-GFppNLlUyMN9Iq31ME/+GkjRVKlc+MeanzUKQ9UaR73ZsYH3oX3Ja+xjoYgixaVJDDG+ofBYR7ZXTkkQdSR/pw==", + "dependencies": { + "@firebase/app-check": "0.5.12", + "@firebase/app-check-types": "0.4.0", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-check-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/app-check-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", + "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" + }, + "node_modules/@firebase/app-check-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.4.0.tgz", + "integrity": "sha512-SsWafqMABIOu7zLgWbmwvHGOeQQVQlwm42kwwubsmfLmL4Sf5uGpBfDhQ0CAkpi7bkJ/NwNFKafNDL9prRNP0Q==" + }, + "node_modules/@firebase/app-check/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/app-compat": { + "version": "0.1.33", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.33.tgz", + "integrity": "sha512-PLCwOpduJOOkw2v0ygBPpYBRobbnxJjZVaj2xjc5IPakHWx9sLHHX3KoZnl+7ZonY1xJ2lCQaLQrwqX2hi0FXg==", + "dependencies": { + "@firebase/app": "0.7.32", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/app-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" + }, + "node_modules/@firebase/app/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/auth": { + "version": "0.20.6", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.20.6.tgz", + "integrity": "sha512-99R3bY7aQ2zFh5BdqLEgI/qN87l3bPBLIse2eDVcSRwChaM6FTdIKoKk15L1M4ry8utatMtYFt1vRCol7QDsLg==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/auth-compat": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.19.tgz", + "integrity": "sha512-gB9fnPZM2mnNrGR7n6Y+xDC/4cSouDVfdwPYL7GuLv7b48iW1u24DC9Trv10gNUUGq6iGEyqgJgCSrVmlTkX7Q==", + "dependencies": { + "@firebase/auth": "0.20.6", + "@firebase/auth-types": "0.11.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/auth-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/auth-interop-types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==" + }, + "node_modules/@firebase/auth-types": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", + "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==" + }, + "node_modules/@firebase/auth/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/component": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.17.tgz", + "integrity": "sha512-mTM5CBSIlmI+i76qU4+DhuExnWtzcPS3cVgObA3VAjliPPr3GrUlTaaa8KBGfxsD27juQxMsYA0TvCR5X+GQ3Q==", + "dependencies": { + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/component/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/database": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.13.6.tgz", + "integrity": "sha512-5IZIBw2LT50Z8mwmKYmdX37p+Gg2HgeJsrruZmRyOSVgbfoY4Pg87n1uFx6qWqDmfL6HwQgwcrrQfVIXE3C5SA==", + "dependencies": { + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-compat": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.2.6.tgz", + "integrity": "sha512-Ls1BAODaiDYgeJljrIgSuC7JkFIY/HNhhNYebzZSoGQU62RuvnaO3Qgp2EH6h2LzHyRnycNadfh1suROtPaUIA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/database": "0.13.6", + "@firebase/database-types": "0.9.13", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/database-types": { + "version": "0.9.13", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.13.tgz", + "integrity": "sha512-dIJ1zGe3EHMhwcvukTOPzYlFYFIG1Et5Znl7s7y/ZTN2/toARRNnsv1qCKvqevIMYKvIrRsYOYfOXDS8l1YIJA==", + "dependencies": { + "@firebase/app-types": "0.7.0", + "@firebase/util": "1.6.3" + } + }, + "node_modules/@firebase/database/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/firestore": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.15.tgz", + "integrity": "sha512-1kal1/0UC1p9x99f0iXwWbmBL/RClksdkqLSd8HVQVawAMTR3zCVKE95omNGl0egRRlDN6c/i8XBEfkwj3SHxw==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "@firebase/webchannel-wrapper": "0.6.2", + "@grpc/grpc-js": "^1.3.2", + "@grpc/proto-loader": "^0.6.13", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@firebase/firestore-compat": { + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.24.tgz", + "integrity": "sha512-wy9AerWLyg/RcbjKE9I73TyBW7FMVfxblGUbcRRHi5tSSrjp+JT1jsGriF6NjAij4byboaGVm8Hgrki7Oqf2kw==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/firestore": "3.4.15", + "@firebase/firestore-types": "2.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/firestore-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/firestore-types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", + "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==" + }, + "node_modules/@firebase/firestore/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/functions": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.8.4.tgz", + "integrity": "sha512-o1bB0xMyQKe+b246zGnjwHj4R6BH4mU2ZrSaa/3QvTpahUQ3hqYfkZPLOXCU7+vEFxHb3Hd4UUjkFhxoAcPqLA==", + "dependencies": { + "@firebase/app-check-interop-types": "0.1.0", + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/functions-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.2.4.tgz", + "integrity": "sha512-Crfn6il1yXGuXkjSd8nKrqR4XxPvuP19g64bXpM6Ix67qOkQg676kyOuww0FF17xN0NSXHfG8Pyf+CUrx8wJ5g==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/functions": "0.8.4", + "@firebase/functions-types": "0.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/functions-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/functions-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", + "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" + }, + "node_modules/@firebase/functions/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/installations": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.12.tgz", + "integrity": "sha512-Zq43fCE0PB5tGJ3ojzx5RNQzKdej1188qgAk22rwjuhP7npaG/PlJqDG1/V0ZjTLRePZ1xGrfXSPlA17c/vtNw==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/installations-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.1.12.tgz", + "integrity": "sha512-BIhFpWIn/GkuOa+jnXkp3SDJT2RLYJF6MWpinHIBKFJs7MfrgYZ3zQ1AlhobDEql+bkD1dK4dB5sNcET2T+EyA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/installations-types": "0.4.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/installations-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/installations-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.4.0.tgz", + "integrity": "sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A==" + }, + "node_modules/@firebase/installations/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/logger": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.3.tgz", + "integrity": "sha512-POTJl07jOKTOevLXrTvJD/VZ0M6PnJXflbAh5J9VGkmtXPXNG6MdZ9fmRgqYhXKTaDId6AQenQ262uwgpdtO0Q==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/logger/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/messaging": { + "version": "0.9.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.16.tgz", + "integrity": "sha512-Yl9gGrAvJF6C1gg3+Cr2HxlL6APsDEkrorkFafmSP1l+rg1epZKoOAcKJbSF02Vtb50wfb9FqGGy8tzodgETxg==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/messaging-compat": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.16.tgz", + "integrity": "sha512-uG7rWcXJzU8vvlEBFpwG1ndw/GURrrmKcwsHopEWbsPGjMRaVWa7XrdKbvIR7IZohqPzcC/V9L8EeqF4Q4lz8w==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/messaging": "0.9.16", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/messaging-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/messaging-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", + "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" + }, + "node_modules/@firebase/messaging/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/performance": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.12.tgz", + "integrity": "sha512-MPVTkOkGrm2SMQgI1FPNBm85y2pPqlPb6VDjIMCWkVpAr6G1IZzUT24yEMySRcIlK/Hh7/Qu1Nu5ASRzRuX6+Q==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/performance-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.12.tgz", + "integrity": "sha512-IBORzUeGY1MGdZnsix9Mu5z4+C3WHIwalu0usxvygL0EZKHztGG8bppYPGH/b5vvg8QyHs9U+Pn1Ot2jZhffQQ==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/performance": "0.5.12", + "@firebase/performance-types": "0.1.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/performance-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/performance-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", + "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" + }, + "node_modules/@firebase/performance/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/remote-config": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.11.tgz", + "integrity": "sha512-qA84dstrvVpO7rWT/sb2CLv1kjHVmz59SRFPKohJJYFBcPOGK4Pe4FWWhKAE9yg1Gnl0qYAGkahOwNawq3vE0g==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/remote-config-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.12.tgz", + "integrity": "sha512-Yz7Gtb2rLa7ykXZX9DnSTId8CXd++jFFLW3foUImrYwJEtWgLJc7gwkRfd1M73IlKGNuQAY+DpUNF0n1dLbecA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-types": "0.2.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/remote-config-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", + "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" + }, + "node_modules/@firebase/remote-config/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/storage": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.9.tgz", + "integrity": "sha512-Zch7srLT2SIh9y2nCVv/4Kne0HULn7OPkmreY70BJTUJ+g5WLRjggBq6x9fV5ls9V38iqMWfn4prxzX8yIc08A==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/storage-compat": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.17.tgz", + "integrity": "sha512-nOYmnpI0gwoz5nROseMi9WbmHGf+xumfsOvdPyMZAjy0VqbDnpKIwmTUZQBdR+bLuB5oIkHQsvw9nbb1SH+PzQ==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/storage": "0.9.9", + "@firebase/storage-types": "0.6.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/storage-compat/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/storage-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", + "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==" + }, + "node_modules/@firebase/storage/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/util": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.6.3.tgz", + "integrity": "sha512-FujteO6Zjv6v8A4HS+t7c+PjU0Kaxj+rOnka0BsI/twUaCC9t8EQPmXpWZdk7XfszfahJn2pqsflUWUhtUkRlg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/util/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz", + "integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ==" + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", + "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "1.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", + "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.36" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", + "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.36" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-native-fontawesome": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@fortawesome/react-native-fontawesome/-/react-native-fontawesome-0.2.7.tgz", + "integrity": "sha512-H3FjE01PDKGTZW+pXMsaCklT0FADaHo4D+Ni63BSXNQclmFgKj2Xlky37cx0s1BaIIw1geuHcyg0hdFxbACusw==", + "dependencies": { + "humps": "^2.0.1", + "prop-types": "^15.7.2" + } + }, + "node_modules/@grpc/grpc-js": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.0.tgz", + "integrity": "sha512-wvKxal+40Xx11DXO2q5PfY3UiE25iwTb8SOz6A9IJII/V7d19x2ex0he+GJfVW0JZCaBjCPSjUB0yU9Ecm4WCw==", + "dependencies": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.2.tgz", + "integrity": "sha512-jCdyLIT/tdQ1zhrbTQnJNK5nbDf0GoBpy5jVNywBzzMDF+Vs6uEaHnfz46dMtDxkvwrF2hzk5Z67goliceH0sA==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/grpc-js/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@grpc/grpc-js/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/protobufjs": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.1.tgz", + "integrity": "sha512-d0nMQqS/aT3lfV8bKi9Gbg73vPd2LcDdTDOu6RE/M+h9DY8g1EmDzk3ADPccthEWfTBjkR2oxNdx9Gs8YubT+g==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/protobufjs/node_modules/long": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" + }, + "node_modules/@grpc/grpc-js/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@grpc/grpc-js/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/grpc-js/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/grpc-js/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/grpc-js/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", + "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.11.3", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/proto-loader/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@grpc/proto-loader/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@grpc/proto-loader/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@grpc/proto-loader/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/proto-loader/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/proto-loader/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/proto-loader/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", + "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/core/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/core/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@jest/core/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/core/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/create-cache-key-function": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz", + "integrity": "sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw==", + "dependencies": { + "@jest/types": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/environment/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/environment/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.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.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "node-notifier": "^6.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/reporters/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/reporters/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@jest/reporters/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/reporters/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/reporters/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/test-sequencer/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/transform/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/transform/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/@jest/transform/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/transform/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/transform/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@jest/transform/node_modules/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==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@react-native-async-storage/async-storage": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.16.1.tgz", + "integrity": "sha512-aQ7ka+Ii1e/q+7AVFIZPt4kDeSH8b784wMDtz19Kf4A7hf+OgCHBlUQpOXsrv8XxhlBxu0hv4tfrDO15ChnV0Q==", + "dependencies": { + "merge-options": "^3.0.4" + } + }, + "node_modules/@react-native-community/async-storage": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.12.1.tgz", + "integrity": "sha512-70WGaH3PKYASi4BThuEEKMkyAgE9k7VytBqmgPRx3MzJx9/MkspwqJGmn3QLCgHLIFUgF1pit2mWICbRJ3T3lg==", + "dependencies": { + "deep-assign": "^3.0.0" + } + }, + "node_modules/@react-native-community/cli-debugger-ui": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-5.0.1.tgz", + "integrity": "sha512-5gGKaaXYOVE423BUqxIfvfAVSj5Cg1cU/TpGbeg/iqpy2CfqyWqJB3tTuVUbOOiOvR5wbU8tti6pIi1pchJ+oA==", + "dependencies": { + "serve-static": "^1.13.1" + } + }, + "node_modules/@react-native-community/cli-hermes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-5.0.1.tgz", + "integrity": "sha512-nD+ZOFvu5MfjLB18eDJ01MNiFrzj8SDtENjGpf0ZRFndOWASDAmU54/UlU/wj8OzTToK1+S1KY7j2P2M1gleww==", + "dependencies": { + "@react-native-community/cli-platform-android": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + } + }, + "node_modules/@react-native-community/cli-platform-android": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-5.0.1.tgz", + "integrity": "sha512-qv9GJX6BJ+Y4qvV34vgxKwwN1cnveXUdP6y2YmTW7XoAYs5YUzKqHajpY58EyucAL2y++6+573t5y4U/9IIoww==", + "dependencies": { + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "execa": "^1.0.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "jetifier": "^1.6.2", + "lodash": "^4.17.15", + "logkitty": "^0.7.1", + "slash": "^3.0.0", + "xmldoc": "^1.1.2" + } + }, + "node_modules/@react-native-community/cli-platform-ios": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-5.0.2.tgz", + "integrity": "sha512-IAJ2B3j2BTsQUJZ4R6cVvnTbPq0Vza7+dOgP81ISz2BKRtQ0VqNFv+VOALH2jLaDzf4t7NFlskzIXFqWqy2BLg==", + "dependencies": { + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "glob": "^7.1.3", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "plist": "^3.0.1", + "xcode": "^2.0.0" + } + }, + "node_modules/@react-native-community/cli-server-api": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-5.0.1.tgz", + "integrity": "sha512-OOxL+y9AOZayQzmSW+h5T54wQe+QBc/f67Y9QlWzzJhkKJdYx+S4VOooHoD5PFJzGbYaxhu2YF17p517pcEIIA==", + "dependencies": { + "@react-native-community/cli-debugger-ui": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.0", + "nocache": "^2.1.0", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^1.1.0" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "node_modules/@react-native-community/cli-tools": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-5.0.1.tgz", + "integrity": "sha512-XOX5w98oSE8+KnkMZZPMRT7I5TaP8fLbDl0tCu40S7Epz+Zz924n80fmdu6nUDIfPT1nV6yH1hmHmWAWTDOR+Q==", + "dependencies": { + "chalk": "^3.0.0", + "lodash": "^4.17.15", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "shell-quote": "1.6.1" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@react-native-community/cli-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-5.0.1.tgz", + "integrity": "sha512-BesXnuFFlU/d1F3+sHhvKt8fUxbQlAbZ3hhMEImp9A6sopl8TEtryUGJ1dbazGjRXcADutxvjwT/i3LJVTIQug==", + "dependencies": { + "ora": "^3.4.0" + } + }, + "node_modules/@react-native-community/eslint-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-1.1.0.tgz", + "integrity": "sha512-hwb1hC28BhkwLwnO6vDISV6XZbipw2RIEhBVBN+pE7AUG9HjFXxoksiiOSoYgox9C8g86VJwHnKpak/3NnVBkQ==", + "dev": true, + "dependencies": { + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^2.25.0", + "@typescript-eslint/parser": "^2.25.0", + "babel-eslint": "10.1.0", + "eslint-config-prettier": "^6.10.1", + "eslint-plugin-eslint-comments": "^3.1.2", + "eslint-plugin-flowtype": "2.50.3", + "eslint-plugin-jest": "22.4.1", + "eslint-plugin-prettier": "3.1.2", + "eslint-plugin-react": "7.19.0", + "eslint-plugin-react-hooks": "^3.0.0", + "eslint-plugin-react-native": "3.8.1", + "prettier": "^2.0.2" + } + }, + "node_modules/@react-native-community/eslint-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.1.0.tgz", + "integrity": "sha512-W/J0fNYVO01tioHjvYWQ9m6RgndVtbElzYozBq1ZPrHO/iCzlqoySHl4gO/fpCl9QEFjvJfjPgtPMTMlsoq5DQ==", + "dev": true + }, + "node_modules/@react-native-community/masked-view": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", + "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==" + }, + "node_modules/@react-native-community/push-notification-ios": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@react-native-community/push-notification-ios/-/push-notification-ios-1.10.1.tgz", + "integrity": "sha512-k6bZWUKLif4GjenyTD3aQLwA2VT3bNmt22INO/34lexnpmqkPDZF7nreqbckTHG0Zso9wDTe4N/AZJUC/d8iRg==", + "dependencies": { + "invariant": "^2.2.4" + } + }, + "node_modules/@react-native-firebase/app": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-11.5.0.tgz", + "integrity": "sha512-Jz5CBhqkybxHjTFr5V0K+Jq2YivzPbu9exSze61/z1zSaIfBhR4G38wmHk44VWAl+PEX8GaYy9yfT69tLiCERA==", + "dependencies": { + "opencollective-postinstall": "^2.0.1", + "superstruct": "^0.6.2" + } + }, + "node_modules/@react-native-firebase/iid": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/iid/-/iid-11.5.0.tgz", + "integrity": "sha512-S9f9AaKr9CkA9d6cfS8V5wpyqdFPPQXIjFU4fPTFaeuJ37T659KqK9SGvY/pSB0DdWC5CMQniukIQsUt5l7O1g==" + }, + "node_modules/@react-native-firebase/messaging": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/messaging/-/messaging-11.5.0.tgz", + "integrity": "sha512-bjsoJByiNtikNLCf5RMmUdIj3uH8Uf0eeyM9PdqfNRB1mtVaYrU8AmXnzbSd5SqJ/sxqwyZVuxzWNEJrcOnhZw==" + }, + "node_modules/@react-native/assets": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", + "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" + }, + "node_modules/@react-native/normalize-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-1.0.0.tgz", + "integrity": "sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg==" + }, + "node_modules/@react-native/polyfills": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", + "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" + }, + "node_modules/@react-navigation/bottom-tabs": { + "version": "5.11.15", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-5.11.15.tgz", + "integrity": "sha512-TBY419W6aN/HZg98xbVp5Bx1HEF5sXuHR5f55W6KMI4k2AvxlwelKD1wbfvEcX2iuQT0YUiiXsACRFUSECYhkw==", + "dependencies": { + "color": "^3.1.3", + "react-native-iphone-x-helper": "^1.3.0" + } + }, + "node_modules/@react-navigation/bottom-tabs/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/@react-navigation/bottom-tabs/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@react-navigation/bottom-tabs/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@react-navigation/core": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-5.16.1.tgz", + "integrity": "sha512-3AToC7vPNeSNcHFLd1h71L6u34hfXoRAS1CxF9Fc4uC8uOrVqcNvphpeFbE0O9Bw6Zpl0BnMFl7E5gaL3KGzNA==", + "dependencies": { + "@react-navigation/routers": "^5.7.4", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.15", + "query-string": "^6.13.6", + "react-is": "^16.13.0" + } + }, + "node_modules/@react-navigation/core/node_modules/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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-navigation/native": { + "version": "5.9.8", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-5.9.8.tgz", + "integrity": "sha512-DNbcDHXQPSFDLn51kkVVJjT3V7jJy2GztNYZe/2bEg29mi5QEcHHcpifjMCtyFKntAOWzKlG88UicIQ17UEghg==", + "dependencies": { + "@react-navigation/core": "^5.16.1", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.15" + } + }, + "node_modules/@react-navigation/native/node_modules/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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-navigation/routers": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-5.7.4.tgz", + "integrity": "sha512-0N202XAqsU/FlE53Nmh6GHyMtGm7g6TeC93mrFAFJOqGRKznT0/ail+cYlU6tNcPA9AHzZu1Modw1eoDINSliQ==", + "dependencies": { + "nanoid": "^3.1.15" + } + }, + "node_modules/@react-navigation/stack": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-5.14.9.tgz", + "integrity": "sha512-DuvrT9P+Tz8ezZLQYxORZqOGqO+vEufaxlW1hSLw1knLD4jNxkz8TJDXtfKwaz//9gb43UhTNccNM02vm7iPqQ==", + "dependencies": { + "color": "^3.1.3", + "react-native-iphone-x-helper": "^1.3.0" + } + }, + "node_modules/@react-navigation/stack/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/@react-navigation/stack/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@react-navigation/stack/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@sideway/address": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", + "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", + "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", + "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", + "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", + "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", + "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", + "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", + "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", + "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", + "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", + "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", + "@svgr/babel-plugin-transform-svg-component": "^4.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/core": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", + "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", + "dependencies": { + "@svgr/plugin-jsx": "^4.3.3", + "camelcase": "^5.3.1", + "cosmiconfig": "^5.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", + "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "dependencies": { + "@babel/types": "^7.4.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", + "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "dependencies": { + "@babel/core": "^7.4.5", + "@svgr/babel-preset": "^4.3.3", + "@svgr/hast-util-to-babel-ast": "^4.3.2", + "svg-parser": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", + "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", + "dependencies": { + "cosmiconfig": "^5.2.1", + "merge-deep": "^3.0.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz", + "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.14.tgz", + "integrity": "sha512-8w9szzKs14ZtBVuP6Wn7nMLRJ0D6dfB0VEBEyRgxrZ/Ln49aNMykrghM2FaNn4FJRzNppCSa0Rv9pBRM5Xc3wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz", + "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hammerjs": { + "version": "2.0.40", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.40.tgz", + "integrity": "sha512-VbjwR1fhsn2h2KXAY4oy1fm7dCxaKy0D+deTb8Ilc3Eo3rc5+5eA4rfYmZaHgNJKxVyI0f6WIXzO2zLkVmQPHA==" + }, + "node_modules/@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==" + }, + "node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/markdown-it": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-0.0.4.tgz", + "integrity": "sha512-FWR7QB7EqBRq1s9BMk0ccOSOuRLfVEWYpHQYpFPaXtCoqN6dJx2ttdsdQbUxLLnAlKpYeVjveGGhQ3583TTa7g==" + }, + "node_modules/@types/node": { + "version": "14.11.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", + "integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "node_modules/@types/react": { + "version": "16.9.49", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz", + "integrity": "sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-native": { + "version": "0.63.20", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.63.20.tgz", + "integrity": "sha512-APnxRTDxbWw/IYjvwvXkhYJiz1gahyVA579pJqAVsEfZ+ZUwUHZpWKnexobyH5NmRJHuA/8LrThyps/BW3SYXA==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-native-vector-icons": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.6.tgz", + "integrity": "sha512-lAyxNfMd5L1xZvXWsGcJmNegDf61TAp40uL6ashNNWj9W3IrDJO59L9+9inh0Y2MsEZpLTdxzVU8Unb4/0FQng==", + "dependencies": { + "@types/react": "*", + "@types/react-native": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "dependencies": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/absolute-path": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", + "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", + "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "dev": true, + "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" + } + }, + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" + }, + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/appdirsjs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.6.tgz", + "integrity": "sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "node_modules/array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "node_modules/array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-includes/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "node_modules/array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ast-types/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/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==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/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, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", + "dev": true + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + }, + "node_modules/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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "dev": true, + "dependencies": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/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==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/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==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz", + "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==", + "dev": true, + "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" + } + }, + "node_modules/babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "node_modules/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, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "node_modules/bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "dependencies": { + "stream-buffers": "2.2.x" + } + }, + "node_modules/bplist-parser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", + "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", + "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", + "dependencies": { + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", + "escalade": "^3.1.1", + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001270", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz", + "integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==" + }, + "node_modules/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==", + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "dependencies": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone-deep/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "node_modules/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/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==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "node_modules/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==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "node_modules/core-js-pure": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", + "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "dev": true + }, + "node_modules/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=" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "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" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/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==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "dependencies": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", + "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/csso": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "dependencies": { + "css-tree": "1.0.0-alpha.39" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz", + "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/dayjs": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.8.tgz", + "integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", + "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==", + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/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==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz", + "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", + "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==" + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.877", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.877.tgz", + "integrity": "sha512-fT5mW5Giw5iyVukeHb2XvB4joBKvzHtl8Vs3QzE7APATpFMt/T7RWyUcIKSZzYkKQgpMbu+vDBTCHfQZvh8klA==" + }, + "node_modules/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==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", + "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", + "dependencies": { + "stackframe": "^1.1.1" + } + }, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-abstract": { + "version": "1.18.0-next.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", + "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/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=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", + "dev": true, + "dependencies": { + "get-stdin": "^6.0.0" + }, + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "2.50.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", + "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.10" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "22.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", + "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", + "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", + "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.1", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.1", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.15.1", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.2", + "xregexp": "^4.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz", + "integrity": "sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw==", + "dev": true, + "engines": { + "node": ">=7" + } + }, + "node_modules/eslint-plugin-react-native": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz", + "integrity": "sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg==", + "dev": true, + "dependencies": { + "eslint-plugin-react-native-globals": "^0.1.1" + } + }, + "node_modules/eslint-plugin-react-native-globals": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/eslint/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/inquirer/node_modules/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/eslint/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/eslint/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/eslint/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/expect/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/expect/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/expect/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/expect/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/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==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "dependencies": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + }, + "node_modules/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==" + }, + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/firebase": { + "version": "9.9.4", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.9.4.tgz", + "integrity": "sha512-XRfCw54nNGYUYNYi5PLJ6rcERN2M+aS32f6caYEx9GhCp9ndgHHzBL9BpPohUpEpKPtHA75EqYNf8kuR0HQndA==", + "dependencies": { + "@firebase/analytics": "0.8.0", + "@firebase/analytics-compat": "0.1.13", + "@firebase/app": "0.7.32", + "@firebase/app-check": "0.5.12", + "@firebase/app-check-compat": "0.2.12", + "@firebase/app-compat": "0.1.33", + "@firebase/app-types": "0.7.0", + "@firebase/auth": "0.20.6", + "@firebase/auth-compat": "0.2.19", + "@firebase/database": "0.13.6", + "@firebase/database-compat": "0.2.6", + "@firebase/firestore": "3.4.15", + "@firebase/firestore-compat": "0.1.24", + "@firebase/functions": "0.8.4", + "@firebase/functions-compat": "0.2.4", + "@firebase/installations": "0.5.12", + "@firebase/installations-compat": "0.1.12", + "@firebase/messaging": "0.9.16", + "@firebase/messaging-compat": "0.1.16", + "@firebase/performance": "0.5.12", + "@firebase/performance-compat": "0.1.12", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-compat": "0.1.12", + "@firebase/storage": "0.9.9", + "@firebase/storage-compat": "0.1.17", + "@firebase/util": "1.6.3" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/flow-parser": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.121.0.tgz", + "integrity": "sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/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, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hermes-engine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.7.2.tgz", + "integrity": "sha512-E2DkRaO97gwL98LPhgfkMqhHiNsrAjIfEk3wWYn2Y31xdkdWn0572H7RnVcGujMJVqZNJvtknxlpsUb8Wzc3KA==" + }, + "node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "dependencies": { + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/humps": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz", + "integrity": "sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "dependencies": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internal-slot/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "optional": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", + "dev": true, + "dependencies": { + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-changed-files/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "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", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-config/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-config/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-diff/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-each/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-environment-node/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-node/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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==", + "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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-haste-map/node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-haste-map/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-haste-map/node_modules/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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-haste-map/node_modules/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==", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-haste-map/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-haste-map/node_modules/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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-jasmine2/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-jasmine2/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "dev": true, + "dependencies": { + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-runner/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-runner/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runner/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runner/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-runner/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-runtime/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-runtime/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-runtime/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-runtime/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runtime/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-runtime/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util/node_modules/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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-util/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-util/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-util/node_modules/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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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==", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-watcher/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watcher/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jest-watcher/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "dev": true, + "dependencies": { + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/jetifier": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.8.tgz", + "integrity": "sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==", + "bin": { + "jetifier": "bin/jetify", + "jetifier-standalone": "bin/jetifier-standalone", + "jetify": "bin/jetify" + } + }, + "node_modules/joi": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", + "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsc-android": { + "version": "245459.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-245459.0.0.tgz", + "integrity": "sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==" + }, + "node_modules/jscodeshift": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", + "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", + "dependencies": { + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", + "@babel/plugin-proposal-optional-chaining": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.3", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + } + }, + "node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", + "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "dev": true, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/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==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", + "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/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==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.frompairs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", + "integrity": "sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/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==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "dependencies": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" + } + }, + "node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/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==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/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==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "node_modules/merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", + "dependencies": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-deep/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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==" + }, + "node_modules/metro": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.64.0.tgz", + "integrity": "sha512-G2OC08Rzfs0kqnSEuKo2yZxR+/eNUpA93Ru45c60uN0Dw3HPrDi+ZBipgFftC6iLE0l+6hu8roFFIofotWxybw==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "absolute-path": "^0.0.0", + "accepts": "^1.3.7", + "async": "^2.4.0", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "fs-extra": "^1.0.0", + "graceful-fs": "^4.1.3", + "image-size": "^0.6.0", + "invariant": "^2.2.4", + "jest-haste-map": "^26.5.2", + "jest-worker": "^26.0.0", + "lodash.throttle": "^4.1.1", + "metro-babel-register": "0.64.0", + "metro-babel-transformer": "0.64.0", + "metro-cache": "0.64.0", + "metro-cache-key": "0.64.0", + "metro-config": "0.64.0", + "metro-core": "0.64.0", + "metro-hermes-compiler": "0.64.0", + "metro-inspector-proxy": "0.64.0", + "metro-minify-uglify": "0.64.0", + "metro-react-native-babel-preset": "0.64.0", + "metro-resolver": "0.64.0", + "metro-runtime": "0.64.0", + "metro-source-map": "0.64.0", + "metro-symbolicate": "0.64.0", + "metro-transform-plugins": "0.64.0", + "metro-transform-worker": "0.64.0", + "mime-types": "^2.1.27", + "mkdirp": "^0.5.1", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^2.5.4", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "temp": "0.8.3", + "throat": "^5.0.0", + "ws": "^1.1.5", + "yargs": "^15.3.1" + }, + "bin": { + "metro": "src/cli.js" + } + }, + "node_modules/metro-babel-register": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.64.0.tgz", + "integrity": "sha512-Kf6YvE3kIRumGnjK0Q9LqGDIdnsX9eFGtNBmBuCVDuB9wGGA/5CgX8We8W7Y44dz1RGTcHJRhfw5iGg+pwC3aQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/register": "^7.0.0", + "escape-string-regexp": "^1.0.5" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.64.0.tgz", + "integrity": "sha512-itZaxKTgmKGEZWxNzbSZBc22NngrMZzoUNuU92aHSTGkYi2WH4XlvzEHsstmIKHMsRVKl75cA+mNmgk4gBFJKw==", + "dependencies": { + "@babel/core": "^7.0.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro-cache": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.64.0.tgz", + "integrity": "sha512-QvGfxe/1QQYM9XOlR8W1xqE9eHDw/AgJIgYGn/TxZxBu9Zga+Rgs1omeSZju45D8w5VWgMr83ma5kACgzvOecg==", + "dependencies": { + "metro-core": "0.64.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" + } + }, + "node_modules/metro-cache-key": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.64.0.tgz", + "integrity": "sha512-O9B65G8L/fopck45ZhdRosyVZdMtUQuX5mBWEC1NRj02iWBIUPLmYMjrunqIe8vHipCMp3DtTCm/65IlBmO8jg==" + }, + "node_modules/metro-config": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.64.0.tgz", + "integrity": "sha512-QhM4asnX5KhlRWaugwVGNNXhX0Z85u5nK0UQ/A90bBb4xWyXqUe20e788VtdA75rkQiiI6wXTCIHWT0afbnjwQ==", + "dependencies": { + "cosmiconfig": "^5.0.5", + "jest-validate": "^26.5.2", + "metro": "0.64.0", + "metro-cache": "0.64.0", + "metro-core": "0.64.0", + "metro-runtime": "0.64.0" + } + }, + "node_modules/metro-core": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.64.0.tgz", + "integrity": "sha512-v8ZQ5j72EaUwamQ8pLfHlOHTyp7SbdazvHPzFGDpHnwIQqIT0Bw3Syg8R4regTlVG3ngpeSEAi005UITljmMcQ==", + "dependencies": { + "jest-haste-map": "^26.5.2", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.64.0" + } + }, + "node_modules/metro-hermes-compiler": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.64.0.tgz", + "integrity": "sha512-CLAjVDWGAoGhbi2ZyPHnH5YDdfrDIx6+tzFWfHGIMTZkYBXsYta9IfYXBV8lFb6BIbrXLjlXZAOoosknetMPOA==" + }, + "node_modules/metro-inspector-proxy": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.64.0.tgz", + "integrity": "sha512-KywbH3GNSz9Iqw4UH3smgaV2dBHHYMISeN7ORntDL/G+xfgPc6vt13d+zFb907YpUcXj5N0vdoiAHI5V/0y8IA==", + "dependencies": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "ws": "^1.1.5", + "yargs": "^15.3.1" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" + } + }, + "node_modules/metro-inspector-proxy/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "node_modules/metro-minify-uglify": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.64.0.tgz", + "integrity": "sha512-DRwRstqXR5qfte9Nuwoov5dRXxL7fJeVlO5fGyOajWeO3+AgPjvjXh/UcLJqftkMWTPGUFuzAD5/7JC5v5FLWw==", + "dependencies": { + "uglify-es": "^3.1.9" + } + }, + "node_modules/metro-react-native-babel-preset": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz", + "integrity": "sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg==", + "dev": true, + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/metro-react-native-babel-transformer": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.64.0.tgz", + "integrity": "sha512-K1sHO3ODBFCr7uEiCQ4RvVr+cQg0EHQF8ChVPnecGh/WDD8udrTq9ECwB0dRfMjAvlsHtRUlJm6ZSI8UPgum2w==", + "dependencies": { + "@babel/core": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "metro-babel-transformer": "0.64.0", + "metro-react-native-babel-preset": "0.64.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro-react-native-babel-transformer/node_modules/metro-react-native-babel-preset": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", + "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/metro-resolver": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.64.0.tgz", + "integrity": "sha512-cJ26Id8Zf+HmS/1vFwu71K3u7ep/+HeXXAJIeVDYf+niE7AWB9FijyMtAlQgbD8elWqv1leJCnQ/xHRFBfGKYA==", + "dependencies": { + "absolute-path": "^0.0.0" + } + }, + "node_modules/metro-runtime": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.64.0.tgz", + "integrity": "sha512-m7XbWOaIOeFX7YcxUhmnOi6Pg8EaeL89xyZ+quZyZVF1aNoTr4w8FfbKxvijpjsytKHIZtd+43m2Wt5JrqyQmQ==" + }, + "node_modules/metro-source-map": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.64.0.tgz", + "integrity": "sha512-OCG2rtcp5cLEGYvAbfkl6mEc0J2FPRP4/UCEly+juBk7hawS9bCBMBfhJm/HIsvY1frk6nT2Vsl1O8YBbwyx2g==", + "dependencies": { + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.64.0", + "nullthrows": "^1.1.1", + "ob1": "0.64.0", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "node_modules/metro-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-symbolicate": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.64.0.tgz", + "integrity": "sha512-qIi+YRrDWnLVmydj6gwidYLPaBsakZRibGWSspuXgHAxOI3UuLwlo4dpQ73Et0gyHjI7ZvRMRY8JPiOntf9AQQ==", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/metro-symbolicate/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.64.0.tgz", + "integrity": "sha512-iTIRBD/wBI98plfxj8jAoNUUXfXLNlyvcjPtshhpGvdwu9pzQilGfnDnOaaK+vbITcOk9w5oQectXyJwAqTr1A==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.64.0.tgz", + "integrity": "sha512-wegRtK8GyLF6IPZRBJp+zsORgA4iX0h1DRpknyAMDCtSbJ4VU2xV/AojteOgAsDvY3ucAGsvfuZLNDJHUdUNHQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/types": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "metro": "0.64.0", + "metro-babel-transformer": "0.64.0", + "metro-cache": "0.64.0", + "metro-cache-key": "0.64.0", + "metro-hermes-compiler": "0.64.0", + "metro-source-map": "0.64.0", + "metro-transform-plugins": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/metro/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/metro/node_modules/fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, + "node_modules/metro/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/metro/node_modules/metro-react-native-babel-preset": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", + "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", + "dependencies": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/metro/node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dependencies": { + "mime-db": "1.44.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dependencies": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object/node_modules/for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.33", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", + "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", + "dependencies": { + "moment": ">= 2.9.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/nanoid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/ndef": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ndef/-/ndef-0.2.0.tgz", + "integrity": "sha512-yl0t0oexuIjNLs8MAF5xZ6rT9P635+ZnCt4sng/aJT8/8gqJ0niBpZoKsioLi+NUA7ydb20MqXo+rIdAQcihVg==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/ndef-lib": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ndef-lib/-/ndef-lib-0.0.7.tgz", + "integrity": "sha512-bP0z5AZy7brNOHJbbxPYPriIBrW40bBzC0v2JHigJUB9EvBUbobYEDwfQCL0zvKXggSkWDyR419X1TB1cKNy2A==", + "dependencies": { + "requirejs": "^2.3.5" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==" + }, + "node_modules/nfccard-tool": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/nfccard-tool/-/nfccard-tool-0.1.1.tgz", + "integrity": "sha512-XZGAHWQAWpx8Tm8shgQXmFeuSttj+Msp6RP5tRPPZ+q5IxX92p13AXxaN9ILhdx+xrEYQ6Dq+wsKduwzKo2d0A==", + "dependencies": { + "ndef-lib": "0.0.7" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/nocache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", + "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node_modules/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=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node_modules/node-notifier/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/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, + "engines": { + "node": "*" + } + }, + "node_modules/ob1": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.64.0.tgz", + "integrity": "sha512-CO1N+5dhvy+MoAwxz8+fymEUcwsT4a+wHhrHFb02LppcJdHxgcBWviwEhUwKOD2kLMQ7ijrrzybOqpGcqEtvpQ==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.entries/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.getownpropertydescriptors/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-each-series": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", + "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/plist": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", + "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", + "dependencies": { + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/plist/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", + "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-format/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/pretty-format/node_modules/@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==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pretty-format/node_modules/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==" + }, + "node_modules/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==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", + "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qrcode": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", + "dependencies": { + "buffer": "^5.4.3", + "buffer-alloc": "^1.2.0", + "buffer-from": "^1.1.1", + "dijkstrajs": "^1.0.1", + "isarray": "^2.0.1", + "pngjs": "^3.3.0", + "yargs": "^13.2.4" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/qrcode/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/qrcode/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/qrcode/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/qrcode/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/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==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "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" + } + }, + "node_modules/qrcode/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/react": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", + "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools-core": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.0.tgz", + "integrity": "sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg==", + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/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==" + }, + "node_modules/react-moment": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/react-moment/-/react-moment-0.9.7.tgz", + "integrity": "sha512-ifzUrUGF6KRsUN2pRG5k56kO0mJBr8kRkWb0wNvtFIsBIxOuPxhUpL1YlXwpbQCbHq23hUu6A0VEk64HsFxk9g==" + }, + "node_modules/react-native": { + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.64.1.tgz", + "integrity": "sha512-jvSj+hNAfwvhaSmxd5KHJ5HidtG0pDXzoH6DaqNpU74g3CmAiA8vuk58B5yx/DYuffGq6PeMniAcwuh3Xp4biQ==", + "dependencies": { + "@jest/create-cache-key-function": "^26.5.0", + "@react-native-community/cli": "^5.0.1-alpha.0", + "@react-native-community/cli-platform-android": "^5.0.1-alpha.0", + "@react-native-community/cli-platform-ios": "^5.0.1-alpha.0", + "@react-native/assets": "1.0.0", + "@react-native/normalize-color": "1.0.0", + "@react-native/polyfills": "1.0.0", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "event-target-shim": "^5.0.1", + "hermes-engine": "~0.7.0", + "invariant": "^2.2.4", + "jsc-android": "^245459.0.0", + "metro-babel-register": "0.64.0", + "metro-react-native-babel-transformer": "0.64.0", + "metro-runtime": "0.64.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.0.3", + "prop-types": "^15.7.2", + "react-devtools-core": "^4.6.0", + "react-native-codegen": "^0.0.6", + "react-refresh": "^0.4.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "^0.20.1", + "shelljs": "^0.8.4", + "stacktrace-parser": "^0.1.3", + "use-subscription": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.1.4" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/react-native-app-auth": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/react-native-app-auth/-/react-native-app-auth-6.4.0.tgz", + "integrity": "sha512-m9DOM/Bgplrk6gD+sqshsbdG9XB4eSaA4rZXuPnwTXYTcHxCy0KvJ3jRDLKDY1im78lXNnifGeHicv7chGAwQw==", + "dependencies": { + "invariant": "2.2.4", + "react-native-base64": "0.0.2" + } + }, + "node_modules/react-native-base64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/react-native-base64/-/react-native-base64-0.0.2.tgz", + "integrity": "sha512-Fu/J1a2y0X22EJDWqJR2oEa1fpP4gTFjYxk8ElJdt1Yak3HOXmFJ7EohLVHU2DaQkgmKfw8qb7u/48gpzveRbg==" + }, + "node_modules/react-native-camera": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-4.2.1.tgz", + "integrity": "sha512-+Vkql24PFYQfsPRznJCvPwJQfyzCnjlcww/iZ4Ej80bgivKjL9eU0IMQIXp4yi6XCrKi4voWXxIDPMupQZKeIQ==", + "dependencies": { + "prop-types": "^15.6.2" + } + }, + "node_modules/react-native-codegen": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.0.6.tgz", + "integrity": "sha512-cMvrUelD81wiPitEPiwE/TCNscIVauXxmt4NTGcy18HrUd0WRWXfYzAQGXm0eI87u3NMudNhqFj2NISJenxQHg==", + "dependencies": { + "flow-parser": "^0.121.0", + "jscodeshift": "^0.11.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/react-native-dark-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/react-native-dark-mode/-/react-native-dark-mode-0.2.2.tgz", + "integrity": "sha512-2vhWOOimU7DRKYjCU/pdv0+JpnGKURq5+c7bre093Jtzk57HtlJfd+ViibbC9Y8zh0viIOyKtfL5mYhVhZ6Crw==", + "dependencies": { + "@types/events": "*", + "@types/react": "*", + "@types/react-native": "*", + "events": "^3.0.0", + "toolkit.ts": "^0.0.2" + } + }, + "node_modules/react-native-elements": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-2.3.2.tgz", + "integrity": "sha512-HygYYmq8JYjk/YYiUwr/64qT64H2xlPBz0JnkGTQwvnnyXZrfkHFopw8rLWCupv3iLLPDzVohvPs0Z5HLdonSQ==", + "dependencies": { + "@types/react-native-vector-icons": "^6.4.5", + "color": "^3.1.0", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.1.0", + "lodash.isequal": "^4.5.0", + "opencollective-postinstall": "^2.0.0", + "prop-types": "^15.7.2", + "react-native-ratings": "^7.2.0", + "react-native-status-bar-height": "^2.5.0" + } + }, + "node_modules/react-native-elements/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-native-fit-image": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-native-fit-image/-/react-native-fit-image-1.5.5.tgz", + "integrity": "sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==", + "dependencies": { + "prop-types": "^15.5.10" + } + }, + "node_modules/react-native-gesture-handler": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.10.3.tgz", + "integrity": "sha512-cBGMi1IEsIVMgoox4RvMx7V2r6bNKw0uR1Mu1o7NbuHS6BRSVLq0dP34l2ecnPlC+jpWd3le6Yg1nrdCjby2Mw==", + "dependencies": { + "@egjs/hammerjs": "^2.0.17", + "fbjs": "^3.0.0", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", + "prop-types": "^15.7.2" + } + }, + "node_modules/react-native-gesture-handler/node_modules/fbjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", + "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", + "dependencies": { + "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" + } + }, + "node_modules/react-native-gesture-handler/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/react-native-inappbrowser-reborn": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/react-native-inappbrowser-reborn/-/react-native-inappbrowser-reborn-3.7.0.tgz", + "integrity": "sha512-Ia53jYNtFcbNaX5W3QfOmN25I7bcvuDiQmSY5zABXjy4+WI20bPc9ua09li55F8yDCjv3C99jX6vKms68mBV7g==", + "dependencies": { + "invariant": "^2.2.4", + "opencollective-postinstall": "^2.0.3" + } + }, + "node_modules/react-native-iphone-x-helper": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", + "integrity": "sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==" + }, + "node_modules/react-native-markdown-renderer": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/react-native-markdown-renderer/-/react-native-markdown-renderer-3.2.8.tgz", + "integrity": "sha512-gDT5r3lwecNsEfpKagSaidEGfmCbpVcmV+HHLjaGYRALJoHkpOFni0rJZW1rCerOR9sjaUNGXE66U7BUrlEw0w==", + "dependencies": { + "@types/markdown-it": "^0.0.4", + "@types/react-native": ">=0.50.0", + "markdown-it": "^8.4.0", + "prop-types": "^15.5.10", + "react-native-fit-image": "^1.5.2" + } + }, + "node_modules/react-native-permissions": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.3.0.tgz", + "integrity": "sha512-F0Yjcp0V340lQW2ibg1lTGmStsMoWsBtosSCRIZOatOQAsNMp77zL6SdYcIGwJUBMVDX3BMraB4AX4Ph3cW1NA==" + }, + "node_modules/react-native-push-notification": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/react-native-push-notification/-/react-native-push-notification-7.4.0.tgz", + "integrity": "sha512-Ac3Ep71e2D8Q/Vy0OHBAO5JwhsFsNSuf9knkpXQWS0B9488nIZJLEMuTpF8610xPvGw7XxVrL/q0oZO5F1pOzw==" + }, + "node_modules/react-native-qrcode-scanner": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-native-qrcode-scanner/-/react-native-qrcode-scanner-1.5.5.tgz", + "integrity": "sha512-il79uStkFqUvofqXJQfOL30qgQyU17MUKxj7IGHv6oT2OxIY/vutTwuPPDbsivtv0yTMHP4dGx/79oys4eAuNw==", + "dependencies": { + "@react-native-async-storage/async-storage": "^1.13.4", + "prop-types": "^15.5.10", + "react-native-permissions": "^2.0.2" + } + }, + "node_modules/react-native-qrcode-scanner/node_modules/react-native-permissions": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-2.2.2.tgz", + "integrity": "sha512-ihf4shQDSX5Oo9ChQXb9kr13mmyyNem5MaEvOpr3dCjhBOBWyEMztXm9/uPK1Qg5PsNpaYLa1KpcPZDCw87LXg==" + }, + "node_modules/react-native-qrcode-svg": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.0.6.tgz", + "integrity": "sha512-b+/teD+xj17VDujJzf956U2+9mX+gKwVJss2aqmhEIyjP7+TVOuE08D3UkzfOCWXE8gppcUTTz5gkY1NXgfwyQ==", + "dependencies": { + "prop-types": "^15.5.10", + "qrcode": "^1.3.2" + } + }, + "node_modules/react-native-ratings": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-7.3.0.tgz", + "integrity": "sha512-NCDIkmrVPnxPzP9zKdlcNpa2rPs3Hiv2qXsojUr3FpwbANWfgYE+jjGSSCBcS3vpXndTjhoaTGFDnybnUSFPFA==", + "dependencies": { + "lodash": "^4.17.15", + "prop-types": "^15.7.2" + } + }, + "node_modules/react-native-raw-bottom-sheet": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-native-raw-bottom-sheet/-/react-native-raw-bottom-sheet-2.2.0.tgz", + "integrity": "sha512-qL4JKIqvbcVxbkKzeh51hjV7suoJN3ouxzvLmOg0FBUV1yiJAfEbacjQdtRCI6+OU5pyGFBIifLsTXcFDwHggg==" + }, + "node_modules/react-native-reanimated": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.13.3.tgz", + "integrity": "sha512-i714H24dv6ncpFO7/SZ0PfAMbvjgVbF8Ow2NPtowoZAz8osS54DmTMrkgJ9Za+uEku/s0AEaxqiXG2Xgntvv2g==", + "dependencies": { + "fbjs": "^1.0.0" + } + }, + "node_modules/react-native-safe-area-context": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz", + "integrity": "sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==" + }, + "node_modules/react-native-screens": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.18.1.tgz", + "integrity": "sha512-r5WZLpmx2hHjC1RgMdPq5YpSU9tEhBpUaZ5M1SUtNIONyiLqQVxabhRCINdebIk4depJiIl7yw2Q85zJyeX6fw==" + }, + "node_modules/react-native-status-bar-height": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/react-native-status-bar-height/-/react-native-status-bar-height-2.5.0.tgz", + "integrity": "sha512-sYBCPYA/NapBSHkdm/IVL4ID3LLlIuLqINi2FBDyMkc2BU9pfSGOtkz9yfxoK39mYJuTrlTOQ7mManARUsYDSA==" + }, + "node_modules/react-native-svg": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.1.tgz", + "integrity": "sha512-NIAJ8jCnXGCqGWXkkJ1GTzO4a3Md5at5sagYV8Vh4MXYnL4z5Rh428Wahjhh+LIjx40EE5xM5YtwyJBqOIba2Q==", + "dependencies": { + "css-select": "^2.1.0", + "css-tree": "^1.0.0-alpha.39" + } + }, + "node_modules/react-native-svg-transformer": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-0.14.3.tgz", + "integrity": "sha512-agDGdMeeBAsWEgg/u7mjtR2Z3c8smGCLep/n3svwifut9dpswZCP+bSIrU8ekg6RNtxAJL+eGJbWjJ38vWxw6g==", + "dependencies": { + "@svgr/core": "^4.3.3", + "@svgr/plugin-svgo": "^4.3.1", + "path-dirname": "^1.0.2", + "semver": "^5.6.0" + } + }, + "node_modules/react-native-svg-transformer/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/react-native-toggle-element": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/react-native-toggle-element/-/react-native-toggle-element-2.0.1.tgz", + "integrity": "sha512-+btOh+1HAc/nrhc/ktAPYiNLIHYij+5+V+I6twxbDOx3ezfeiWQJkODAJQBgO2+7xxWn8zmlxQ3X/DIJCuJ4mg==", + "dependencies": { + "prop-types": "^15.7.2" + } + }, + "node_modules/react-native-user-agent": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-native-user-agent/-/react-native-user-agent-2.3.1.tgz", + "integrity": "sha512-AIFr1VgJHwgWmMwCOmIGxuBeAaADlouXKc10UyR4fzWneUbt5uIJIoRu2oExlfCtiT8IyCp106khDD5vx7RUjw==" + }, + "node_modules/react-native-vector-icons": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-7.1.0.tgz", + "integrity": "sha512-V2a1zJ4i+kS8O4j183gIwX14St9AxxXabxwYpFBgRhvr2NDXyFcjHDEAgrOYYlt2W57e20aN1tBDU/I+wn9WtQ==", + "dependencies": { + "lodash.frompairs": "^4.0.1", + "lodash.isequal": "^4.5.0", + "lodash.isstring": "^4.0.1", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "lodash.template": "^4.5.0", + "prop-types": "^15.7.2", + "yargs": "^15.0.2" + }, + "bin": { + "fa5-upgrade": "bin/fa5-upgrade.sh", + "generate-icon": "bin/generate-icon.js" + } + }, + "node_modules/react-native-webview": { + "version": "11.23.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.23.1.tgz", + "integrity": "sha512-bmqsdg4RYOUYD37R9XTrQALm7eD62KbLNPRfgvpLGd1SjaurvAjjsLrLN4mt6yOtKOMKeZvlcAl3x6De6cCQsA==", + "dependencies": { + "escape-string-regexp": "2.0.0", + "invariant": "2.2.4" + } + }, + "node_modules/react-native-webview/node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-native/node_modules/@react-native-community/cli": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-5.0.1.tgz", + "integrity": "sha512-9VzSYUYSEqxEH5Ib2UNSdn2eyPiYZ4T7Y79o9DKtRBuSaUIwbCUdZtIm+UUjBpLS1XYBkW26FqL8/UdZDmQvXw==", + "dependencies": { + "@react-native-community/cli-debugger-ui": "^5.0.1", + "@react-native-community/cli-hermes": "^5.0.1", + "@react-native-community/cli-server-api": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "@react-native-community/cli-types": "^5.0.1", + "appdirsjs": "^1.2.4", + "chalk": "^3.0.0", + "command-exists": "^1.2.8", + "commander": "^2.19.0", + "cosmiconfig": "^5.1.0", + "deepmerge": "^3.2.0", + "envinfo": "^7.7.2", + "execa": "^1.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.3", + "joi": "^17.2.1", + "leven": "^3.1.0", + "lodash": "^4.17.15", + "metro": "^0.64.0", + "metro-config": "^0.64.0", + "metro-core": "^0.64.0", + "metro-react-native-babel-transformer": "^0.64.0", + "metro-resolver": "^0.64.0", + "metro-runtime": "^0.64.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-stream-zip": "^1.9.1", + "ora": "^3.4.0", + "pretty-format": "^26.6.2", + "prompts": "^2.4.0", + "semver": "^6.3.0", + "serve-static": "^1.13.1", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/react-native/node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/react-native/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-test-renderer": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz", + "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.8.6", + "scheduler": "^0.19.1" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "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" + } + }, + "node_modules/realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "dependencies": { + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/recast/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==" + }, + "node_modules/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==", + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexp.prototype.flags/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "node_modules/regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/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=" + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/request-promise-native/node_modules/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, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/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, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==" + }, + "node_modules/requirejs": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", + "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", + "bin": { + "r_js": "bin/r.js", + "r.js": "bin/r.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/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==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "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" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/selenium-webdriver": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz", + "integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==", + "dependencies": { + "jszip": "^3.6.0", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + }, + "engines": { + "node": ">= 10.15.0" + } + }, + "node_modules/selenium-webdriver/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/selenium-webdriver/node_modules/ws": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "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.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dependencies": { + "is-buffer": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dependencies": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/side-channel": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", + "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", + "dev": true, + "dependencies": { + "es-abstract": "^1.18.0-next.0", + "object-inspect": "^1.8.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/simple-plist": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.0.tgz", + "integrity": "sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==", + "dependencies": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.0", + "plist": "^3.0.4" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/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==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/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==", + "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" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", + "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", + "dev": true + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "node_modules/stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackframe": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", + "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==" + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "node_modules/string.prototype.matchall/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trimend/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trimstart/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" + }, + "node_modules/superstruct": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz", + "integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==", + "dependencies": { + "clone-deep": "^2.0.1", + "kind-of": "^6.0.1" + } + }, + "node_modules/superstruct/node_modules/clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dependencies": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superstruct/node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superstruct/node_modules/shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superstruct/node_modules/shallow-clone/node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "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" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/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 + }, + "node_modules/table/node_modules/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, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "engines": [ + "node >=0.8.0" + ], + "dependencies": { + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/toolkit.ts": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/toolkit.ts/-/toolkit.ts-0.0.2.tgz", + "integrity": "sha512-yJJTVbCwiD6AfFgReewJCGJuODmyZUeL1sDjnxp33t0UBxnezgQrLbz/F9++RC28CTlk5u5pVji4TbeondYEkw==" + }, + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/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==" + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/use-subscription": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", + "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", + "dependencies": { + "object-assign": "^4.1.1" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "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" + } + }, + "node_modules/util.promisify/node_modules/es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": "8.x.x || >=10.10.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz", + "integrity": "sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ==" + }, + "node_modules/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==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xcode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", + "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", + "dependencies": { + "simple-plist": "^1.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "dependencies": { + "sax": "^1.2.1" + } + }, + "node_modules/xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", + "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", + "dev": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.10.4", @@ -13370,6 +30779,14 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" }, + "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" + } + }, "string-length": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", @@ -13503,14 +30920,6 @@ } } }, - "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" - } - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", From b6f1f4af7128479f08ccdea31a0b8aa9df9675ea Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 30 Sep 2022 02:06:14 -0400 Subject: [PATCH 043/102] Major file refactor --- App.js | 113 ++++----- .../NFCScanning}/NDEFParser.ts | 0 {NFCScanning => app/NFCScanning}/Scanning.js | 0 {NFCScanning => app/NFCScanning}/nfc.js | 0 {cms => app/cms}/DataHandler.js | 0 {cms => app/cms}/index.js | 0 {components => app/components}/Card.js | 2 +- .../components}/FilterSelect.js | 40 ++-- .../components}/FontMarkdown.js | 2 +- .../components}/GradientButton.js | 4 +- .../components}/SplashScreen.js | 9 +- .../components}/TagScrollView.js | 6 +- app/features/checkin/CheckInStackScreen.js | 35 +++ .../features/checkin}/CheckInTab.js | 6 +- .../features/checkin}/EventSel.js | 16 +- .../features/checkin}/QRScan.js | 8 +- app/features/checkin/ScanScreen.js | 41 ++++ .../features/checkin}/SearchComponent.js | 19 +- .../information/InformationStackScreen.js | 26 ++ .../features/information}/InformationTab.js | 10 +- .../features/onboarding}/ContentInfo.js | 4 +- .../features/onboarding}/EventOnboarding.js | 36 +-- .../features/onboarding}/LoginOnboarding.js | 148 ++++++------ .../scavengerHunt}/ScavHuntCrossword.js | 0 app/features/scavengerHunt/ScavHuntItem.js | 224 ++++++++++++++++++ .../scavengerHunt/ScavengerHuntStackScreen.js | 56 +++++ .../scavengerHunt}/ScavengerHuntTab.js | 8 +- .../scavengerHunt}/scavenger-hunt-data.js | 0 .../features/schedule}/EventBottomSheet.js | 60 ++--- .../features/schedule}/EventTypeView.js | 0 .../features/schedule}/ScheduleDayView.js | 66 +++--- app/features/schedule/ScheduleEventCell.js | 122 ++++++++++ .../features/schedule}/ScheduleSearch.js | 104 +++----- app/features/schedule/ScheduleStackScreen.js | 69 ++++++ .../features/schedule}/ScheduleTab.js | 48 ++-- app/navigation/index.js | 11 + .../state}/auth/AuthActionTypes.ts | 0 .../state}/auth/AuthReducer.js | 0 app/state/auth/index.js | 57 +++++ .../state}/checkIn/CheckInActionTypes.ts | 0 .../state}/checkIn/CheckInReducer.js | 0 app/state/checkIn/index.js | 16 ++ context.js => app/state/context.js | 0 .../state}/hackathon/HackathonActionTypes.ts | 0 .../state}/hackathon/HackathonReducer.js | 0 app/state/hackathon/index.js | 31 +++ {state_management => app/state}/index.js | 0 .../state}/scavHunt/ScavHuntActionTypes.ts | 0 .../state}/scavHunt/ScavHuntReducer.ts | 0 app/state/scavHunt/index.js | 23 ++ .../state}/theme/ThemeActionTypes.ts | 0 .../state}/theme/ThemeReducer.js | 0 app/state/theme/index.js | 16 ++ {themes => app/theme}/index.js | 0 {yac => app/yac}/index.js | 2 +- assets/{ => images}/AddToCalendarButton.svg | 0 assets/{ => images}/Back.svg | 0 assets/{ => images}/ButtonBackground.svg | 0 assets/{ => images}/Cancel.svg | 0 assets/{ => images}/ChevronUp.svg | 0 assets/{ => images}/ContinueButton.svg | 0 assets/{ => images}/CorrectAnswer.svg | 0 assets/{ => images}/DismissModal.svg | 0 assets/{ => images}/FridayGradient.svg | 0 assets/{ => images}/FridayGray.svg | 0 assets/{ => images}/GradientBackground.svg | 0 assets/{ => images}/HackGTIcon.svg | 0 assets/{ => images}/HappeningNow.svg | 0 assets/{ => images}/IncorrectAnswer.svg | 0 assets/{ => images}/Logo.png | Bin assets/{ => images}/Logo.svg | 0 assets/{ => images}/LogoText.svg | 0 .../{ => images}/RemoveFromCalendarButton.svg | 0 assets/{ => images}/SaturdayGradient.svg | 0 assets/{ => images}/SaturdayGray.svg | 0 assets/{ => images}/Search.svg | 0 assets/{ => images}/StarLargeOff.svg | 0 assets/{ => images}/StarLargeOn.svg | 0 assets/{ => images}/StarOff.svg | 0 assets/{ => images}/StarOn.svg | 0 assets/{ => images}/SundayGradient.svg | 0 assets/{ => images}/SundayGray.svg | 0 assets/{ => images}/UnderlineGradient.svg | 0 assets/{ => images}/X.svg | 0 firebase.js | 6 + index.js | 18 +- info/InformationStackScreen.js | 26 -- ios/Podfile.lock | 4 +- participantCheckin/CheckInStackScreen.js | 35 --- participantCheckin/ScanScreen.js | 42 ---- scav_hunt/ScavHuntItem.js | 196 --------------- scav_hunt/ScavengerHuntStackScreen.js | 56 ----- schedule/ScheduleEventCell.js | 122 ---------- schedule/ScheduleStackScreen.js | 69 ------ stacks/index.js | 11 - state_management/auth/index.js | 62 ----- state_management/checkIn/index.js | 19 -- state_management/hackathon/index.js | 30 --- state_management/scavHunt/index.js | 23 -- state_management/theme/index.js | 19 -- 100 files changed, 1065 insertions(+), 1111 deletions(-) rename {NFCScanning => app/NFCScanning}/NDEFParser.ts (100%) rename {NFCScanning => app/NFCScanning}/Scanning.js (100%) rename {NFCScanning => app/NFCScanning}/nfc.js (100%) rename {cms => app/cms}/DataHandler.js (100%) rename {cms => app/cms}/index.js (100%) rename {components => app/components}/Card.js (96%) rename {components => app/components}/FilterSelect.js (83%) rename {components => app/components}/FontMarkdown.js (98%) rename {components => app/components}/GradientButton.js (88%) rename {components => app/components}/SplashScreen.js (88%) rename {components => app/components}/TagScrollView.js (92%) create mode 100644 app/features/checkin/CheckInStackScreen.js rename {participantCheckin => app/features/checkin}/CheckInTab.js (98%) rename {participantCheckin => app/features/checkin}/EventSel.js (89%) rename {participantCheckin => app/features/checkin}/QRScan.js (96%) create mode 100644 app/features/checkin/ScanScreen.js rename {participantCheckin => app/features/checkin}/SearchComponent.js (81%) create mode 100644 app/features/information/InformationStackScreen.js rename {info => app/features/information}/InformationTab.js (94%) rename {onboarding => app/features/onboarding}/ContentInfo.js (92%) rename {onboarding => app/features/onboarding}/EventOnboarding.js (92%) rename {onboarding => app/features/onboarding}/LoginOnboarding.js (66%) rename {scav_hunt => app/features/scavengerHunt}/ScavHuntCrossword.js (100%) create mode 100644 app/features/scavengerHunt/ScavHuntItem.js create mode 100644 app/features/scavengerHunt/ScavengerHuntStackScreen.js rename {scav_hunt => app/features/scavengerHunt}/ScavengerHuntTab.js (98%) rename {scav_hunt => app/features/scavengerHunt}/scavenger-hunt-data.js (100%) rename {schedule => app/features/schedule}/EventBottomSheet.js (74%) rename {schedule => app/features/schedule}/EventTypeView.js (100%) rename {schedule => app/features/schedule}/ScheduleDayView.js (85%) create mode 100644 app/features/schedule/ScheduleEventCell.js rename {schedule => app/features/schedule}/ScheduleSearch.js (78%) create mode 100644 app/features/schedule/ScheduleStackScreen.js rename {schedule => app/features/schedule}/ScheduleTab.js (82%) create mode 100644 app/navigation/index.js rename {state_management => app/state}/auth/AuthActionTypes.ts (100%) rename {state_management => app/state}/auth/AuthReducer.js (100%) create mode 100644 app/state/auth/index.js rename {state_management => app/state}/checkIn/CheckInActionTypes.ts (100%) rename {state_management => app/state}/checkIn/CheckInReducer.js (100%) create mode 100644 app/state/checkIn/index.js rename context.js => app/state/context.js (100%) rename {state_management => app/state}/hackathon/HackathonActionTypes.ts (100%) rename {state_management => app/state}/hackathon/HackathonReducer.js (100%) create mode 100644 app/state/hackathon/index.js rename {state_management => app/state}/index.js (100%) rename {state_management => app/state}/scavHunt/ScavHuntActionTypes.ts (100%) rename {state_management => app/state}/scavHunt/ScavHuntReducer.ts (100%) create mode 100644 app/state/scavHunt/index.js rename {state_management => app/state}/theme/ThemeActionTypes.ts (100%) rename {state_management => app/state}/theme/ThemeReducer.js (100%) create mode 100644 app/state/theme/index.js rename {themes => app/theme}/index.js (100%) rename {yac => app/yac}/index.js (96%) rename assets/{ => images}/AddToCalendarButton.svg (100%) rename assets/{ => images}/Back.svg (100%) rename assets/{ => images}/ButtonBackground.svg (100%) rename assets/{ => images}/Cancel.svg (100%) rename assets/{ => images}/ChevronUp.svg (100%) rename assets/{ => images}/ContinueButton.svg (100%) rename assets/{ => images}/CorrectAnswer.svg (100%) rename assets/{ => images}/DismissModal.svg (100%) rename assets/{ => images}/FridayGradient.svg (100%) rename assets/{ => images}/FridayGray.svg (100%) rename assets/{ => images}/GradientBackground.svg (100%) rename assets/{ => images}/HackGTIcon.svg (100%) rename assets/{ => images}/HappeningNow.svg (100%) rename assets/{ => images}/IncorrectAnswer.svg (100%) rename assets/{ => images}/Logo.png (100%) rename assets/{ => images}/Logo.svg (100%) rename assets/{ => images}/LogoText.svg (100%) rename assets/{ => images}/RemoveFromCalendarButton.svg (100%) rename assets/{ => images}/SaturdayGradient.svg (100%) rename assets/{ => images}/SaturdayGray.svg (100%) rename assets/{ => images}/Search.svg (100%) rename assets/{ => images}/StarLargeOff.svg (100%) rename assets/{ => images}/StarLargeOn.svg (100%) rename assets/{ => images}/StarOff.svg (100%) rename assets/{ => images}/StarOn.svg (100%) rename assets/{ => images}/SundayGradient.svg (100%) rename assets/{ => images}/SundayGray.svg (100%) rename assets/{ => images}/UnderlineGradient.svg (100%) rename assets/{ => images}/X.svg (100%) create mode 100644 firebase.js delete mode 100644 info/InformationStackScreen.js delete mode 100644 participantCheckin/CheckInStackScreen.js delete mode 100644 participantCheckin/ScanScreen.js delete mode 100644 scav_hunt/ScavHuntItem.js delete mode 100644 scav_hunt/ScavengerHuntStackScreen.js delete mode 100644 schedule/ScheduleEventCell.js delete mode 100644 schedule/ScheduleStackScreen.js delete mode 100644 stacks/index.js delete mode 100644 state_management/auth/index.js delete mode 100644 state_management/checkIn/index.js delete mode 100644 state_management/hackathon/index.js delete mode 100644 state_management/scavHunt/index.js delete mode 100644 state_management/theme/index.js diff --git a/App.js b/App.js index 2b39a3d7..be764ecf 100644 --- a/App.js +++ b/App.js @@ -1,44 +1,50 @@ import "react-native-gesture-handler"; import React, { useState, useEffect } from "react"; -import { WebView } from 'react-native-webview'; -import UserAgent from 'react-native-user-agent' -import { fetchHackathonData } from "./cms"; -import { HackathonContext, AuthContext, ThemeContext } from "./context"; +import { WebView } from "react-native-webview"; +import UserAgent from "react-native-user-agent"; +import { fetchHackathonData } from "./app/cms"; +import { + HackathonContext, + AuthContext, + ThemeContext, +} from "./app/state/context"; import { StatusBar, Modal, SafeAreaView, Platform, View } from "react-native"; -import { LoginOnboarding } from "./onboarding/LoginOnboarding"; -import SplashScreen from "./components/SplashScreen"; -import { EventOnboarding } from "./onboarding/EventOnboarding"; +import { LoginOnboarding } from "./app/features/onboarding/LoginOnboarding"; +import SplashScreen from "./app/components/SplashScreen"; +import { EventOnboarding } from "./app/features/onboarding/EventOnboarding"; import { NavigationContainer } from "@react-navigation/native"; import { createStackNavigator } from "@react-navigation/stack"; import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; -import { faInfoCircle, faCalendar, faMapSigns, faClipboardCheck } from "@fortawesome/free-solid-svg-icons"; -import Logo from "./assets/Logo"; +import { + faInfoCircle, + faCalendar, + faMapSigns, + faClipboardCheck, +} from "@fortawesome/free-solid-svg-icons"; import AsyncStorage from "@react-native-community/async-storage"; import { authorize } from "react-native-app-auth"; import PushNotificationIOS from "@react-native-community/push-notification-ios"; import PushNotification from "react-native-push-notification"; -import { turnToEst } from "./cms/DataHandler"; +import { turnToEst } from "./app/cms/DataHandler"; import { useDarkModeContext, useDynamicStyleSheet, } from "react-native-dark-mode"; -import { dynamicStyles } from "./themes"; +import { dynamicStyles } from "./app/theme"; import firebase from "@react-native-firebase/app"; import messaging from "@react-native-firebase/messaging"; - -import { - ScheduleStackScreen, - InformationStackScreen, - ScavengerHuntStackScreen, - CheckInStackScreen -} from "./stacks" - -import { ThemeProvider, HackathonProvider, AuthProvider } from "./state_management"; +import { + ScheduleStackScreen, + InformationStackScreen, + ScavengerHuntStackScreen, + CheckInStackScreen, +} from "./app/navigation"; +import { ThemeProvider, HackathonProvider, AuthProvider } from "./app/state"; // old groundtruth auth // const authUrl = "https://login.hack.gt"; -const loginUrl = "https://login.hexlabs.org" +const loginUrl = "https://login.hexlabs.org"; const config = { clientId: "7d1c11b30351e91d6517492c19a9a0185a6e4e6304f9826f96a76895534cf26f", @@ -107,23 +113,22 @@ function App(props) { const styles = useDynamicStyleSheet(dynamicStyles); // event data - const [hackathon, setHackathon] = useState(null) - const [eventTypes, setEventTypes] = useState([]) - const [starredIds, setStarredIds] = useState([]) - const [isStarSchedule, setIsStarSchedule] = useState(false) + const [hackathon, setHackathon] = useState(null); + const [eventTypes, setEventTypes] = useState([]); + const [starredIds, setStarredIds] = useState([]); + const [isStarSchedule, setIsStarSchedule] = useState(false); // used for finding current state of screen for loading/login components - const [isFetchingData, setIsFetchingData] = useState(true) + const [isFetchingData, setIsFetchingData] = useState(true); // TODO: temporary, onboarding login should show when user is null. login is disabled so remove this whn fixed - const [scheduleModal, setScheduleModal] = useState(false) - const [pastEventOnboardID, setPastEventOnboardID] = useState(null) + const [scheduleModal, setScheduleModal] = useState(false); + const [pastEventOnboardID, setPastEventOnboardID] = useState(null); const configAsyncStorage = () => { AsyncStorage.getItem( "starredIds", - (error, result) => - result && setStarredIds(JSON.parse(result)) + (error, result) => result && setStarredIds(JSON.parse(result)) ); AsyncStorage.getItem( @@ -132,16 +137,15 @@ function App(props) { ); AsyncStorage.getItem("isStarSchedule", (error, result) => { - result && - setIsStarSchedule(result === true ? true : false) - console.log(isStarSchedule) + result && setIsStarSchedule(result === true ? true : false); + console.log(isStarSchedule); }); AsyncStorage.getItem("localEventTypeData", (error, result) => { if (result) { const eventTypes = JSON.parse(result); if (eventTypes != null) { - setEventTypes(eventTypes) + setEventTypes(eventTypes); } } }); @@ -152,8 +156,8 @@ function App(props) { const hackathon = JSON.parse(result); if (hackathon != null) { - setHackathon(hackathon) - setIsFetchingData(false) + setHackathon(hackathon); + setIsFetchingData(false); } } @@ -173,15 +177,15 @@ function App(props) { AsyncStorage.setItem("localHackathonData", JSON.stringify(hackathon)); AsyncStorage.setItem("localTypeData", JSON.stringify(eventTypes)); - setEventTypes(eventTypes) - setHackathon(hackathon) - setIsFetchingData(false) + setEventTypes(eventTypes); + setHackathon(hackathon); + setIsFetchingData(false); } else { // if still loading, present error asking for retry } }); }); - } + }; useEffect(() => { // setup firebase notification support @@ -197,16 +201,15 @@ function App(props) { (created) => console.log(`createChannel returned '${created}'`) ); - configAsyncStorage() - - }, []) + configAsyncStorage(); + }, []); useEffect(() => { AsyncStorage.setItem( "isStarSchedule", isStarSchedule == true ? "true" : "false" ); - }, [isStarSchedule]) + }, [isStarSchedule]); // useEffect(() => { // console.log('toggling starred ids', starredIds) @@ -273,14 +276,10 @@ function App(props) { const splashGrowModal = ( - setScheduleModal(true)} - /> + setScheduleModal(true)} /> ); - return ( ( { - setPastEventOnboardID(hackathon.id) + setPastEventOnboardID(hackathon.id); AsyncStorage.setItem( "pastEventOnboardID", hackathon.id @@ -389,7 +388,9 @@ function App(props) { )} @@ -402,12 +403,12 @@ function App(props) { name="ScavengerHunt" component={ScavengerHuntStackScreen} /> - {!showCheckin ? null : + {!showCheckin ? null : ( - } + )} @@ -416,7 +417,7 @@ function App(props) { - ) + ); } export default App; diff --git a/NFCScanning/NDEFParser.ts b/app/NFCScanning/NDEFParser.ts similarity index 100% rename from NFCScanning/NDEFParser.ts rename to app/NFCScanning/NDEFParser.ts diff --git a/NFCScanning/Scanning.js b/app/NFCScanning/Scanning.js similarity index 100% rename from NFCScanning/Scanning.js rename to app/NFCScanning/Scanning.js diff --git a/NFCScanning/nfc.js b/app/NFCScanning/nfc.js similarity index 100% rename from NFCScanning/nfc.js rename to app/NFCScanning/nfc.js diff --git a/cms/DataHandler.js b/app/cms/DataHandler.js similarity index 100% rename from cms/DataHandler.js rename to app/cms/DataHandler.js diff --git a/cms/index.js b/app/cms/index.js similarity index 100% rename from cms/index.js rename to app/cms/index.js diff --git a/components/Card.js b/app/components/Card.js similarity index 96% rename from components/Card.js rename to app/components/Card.js index 27b0f0e9..624beb79 100644 --- a/components/Card.js +++ b/app/components/Card.js @@ -1,6 +1,6 @@ import React from "react"; import { View, StyleSheet } from "react-native"; -import { ThemeContext } from "../context"; +import { ThemeContext } from "../state/context"; export function Card(props) { const createCardStyle = (dynamicStyles) => { diff --git a/components/FilterSelect.js b/app/components/FilterSelect.js similarity index 83% rename from components/FilterSelect.js rename to app/components/FilterSelect.js index 88c085a9..0952ca4c 100644 --- a/components/FilterSelect.js +++ b/app/components/FilterSelect.js @@ -1,26 +1,26 @@ import { StyleSheet, View, Text } from "react-native"; import React, { useState, useContext } from "react"; -import { ThemeContext, HackathonContext } from "../context"; +import { ThemeContext, HackathonContext } from "../state/context"; import { TouchableOpacity } from "react-native-gesture-handler"; export default function FilterSelect(props) { - const { state } = useContext(HackathonContext) - const eventTypes = state.eventTypes + const { state } = useContext(HackathonContext); + const eventTypes = state.eventTypes; - const [showMenu, setShowMenu] = useState(false) - const [filterType, setFilterType] = useState(null) + const [showMenu, setShowMenu] = useState(false); + const [filterType, setFilterType] = useState(null); const hideFilterMenu = (item) => { let newFilter = item.name === "clear" ? null : item; - setShowMenu(false) - setFilterType(newFilter) + setShowMenu(false); + setFilterType(newFilter); props.onFilterMenuChange(false); if (props.onSelectFilter) { props.onSelectFilter(newFilter); } - } + }; return ( @@ -38,13 +38,11 @@ export default function FilterSelect(props) { dynamicStyles.searchBackgroundColor, ]} onPress={() => { - setShowMenu(false) + setShowMenu(false); props.onFilterMenuChange(false); }} > - + {" "} x{" "} @@ -99,12 +97,9 @@ export default function FilterSelect(props) { return ( { - setShowMenu(true) + setShowMenu(true); props.onFilterMenuChange(true); }} > @@ -115,10 +110,7 @@ export default function FilterSelect(props) { alignItems: "center", }} > - - {" "} - {filterType.name}{" "} - + {filterType.name} { hideFilterMenu({ name: "clear" }); @@ -139,13 +131,11 @@ export default function FilterSelect(props) { dynamicStyles.searchBackgroundColor, ]} onPress={() => { - setShowMenu(true) + setShowMenu(true); props.onFilterMenuChange(true); }} > - + {" "} Filter{" "} diff --git a/components/FontMarkdown.js b/app/components/FontMarkdown.js similarity index 98% rename from components/FontMarkdown.js rename to app/components/FontMarkdown.js index d8b0ed80..c39c3daf 100644 --- a/components/FontMarkdown.js +++ b/app/components/FontMarkdown.js @@ -1,7 +1,7 @@ import { StyleSheet } from "react-native"; import React from "react"; import Markdown from "react-native-markdown-renderer"; -import { ThemeContext } from "../context"; +import { ThemeContext } from "../state/context"; export default function FontMarkdown(props) { const createStyles = (dynamicStyles) => { diff --git a/components/GradientButton.js b/app/components/GradientButton.js similarity index 88% rename from components/GradientButton.js rename to app/components/GradientButton.js index 996539f1..33ed8329 100644 --- a/components/GradientButton.js +++ b/app/components/GradientButton.js @@ -1,7 +1,7 @@ import React from "react"; import { StyleSheet, TouchableOpacity, Text } from "react-native"; -import { ThemeContext } from "../context"; -import ButtonBackground from "../assets/ButtonBackground"; +import { ThemeContext } from "../state/context"; +import ButtonBackground from "../../assets/images/ButtonBackground"; export function GradientButton(props) { return ( diff --git a/components/SplashScreen.js b/app/components/SplashScreen.js similarity index 88% rename from components/SplashScreen.js rename to app/components/SplashScreen.js index 04ff3e4d..a975ccfe 100644 --- a/components/SplashScreen.js +++ b/app/components/SplashScreen.js @@ -1,11 +1,10 @@ import React, { useEffect } from "react"; import { Animated, Easing } from "react-native"; -import HackGTIcon from "../assets/Logo"; -import { ThemeContext } from "../context"; +import HackGTIcon from "../../assets/images/Logo"; +import { ThemeContext } from "../state/context"; export default function SplashScreen(props) { - - const opacity = new Animated.Value(0) + const opacity = new Animated.Value(0); const growAnimation = () => { Animated.timing(opacity, { @@ -25,7 +24,7 @@ export default function SplashScreen(props) { props.onGrowDone(); } } - }, []) + }, []); return ( diff --git a/components/TagScrollView.js b/app/components/TagScrollView.js similarity index 92% rename from components/TagScrollView.js rename to app/components/TagScrollView.js index 928ca7e7..f1d07b91 100644 --- a/components/TagScrollView.js +++ b/app/components/TagScrollView.js @@ -1,5 +1,5 @@ import React from "react"; -import { ThemeContext } from "../context"; +import { ThemeContext } from "../state/context"; import { Text, ScrollView, @@ -21,9 +21,7 @@ export default function TagScrollView(props) { {props.tags.map((value, i) => { return ( - props.onPress && props.onPress(value) - } + onPress={() => props.onPress && props.onPress(value)} disabled={props.disabled} style={[ styles.tagStyle, diff --git a/app/features/checkin/CheckInStackScreen.js b/app/features/checkin/CheckInStackScreen.js new file mode 100644 index 00000000..f5b94093 --- /dev/null +++ b/app/features/checkin/CheckInStackScreen.js @@ -0,0 +1,35 @@ +import React from "react"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; + +import { CheckInTab } from "./CheckInTab"; +import { AuthContext } from "../../state/context"; +import { CheckInStack } from "../../navigation"; +import { dynamicStyles } from "../../theme"; +import CheckInProvider from "../../state/checkIn"; +import HackGTIcon from "../../../assets/images/HackGTIcon"; + +export default function CheckInStackScreen({ navigation }) { + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + + {({ user }) => { + return ( + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + + ); + }} + + + ); +} diff --git a/participantCheckin/CheckInTab.js b/app/features/checkin/CheckInTab.js similarity index 98% rename from participantCheckin/CheckInTab.js rename to app/features/checkin/CheckInTab.js index 390f5ff4..67f1c0e7 100644 --- a/participantCheckin/CheckInTab.js +++ b/app/features/checkin/CheckInTab.js @@ -9,12 +9,12 @@ import { Button, Pressable, } from "react-native"; -import { ThemeContext } from "../context"; +import { ThemeContext } from "../../state/context"; import { EventSel } from "./EventSel"; import { ScanScreen } from "./ScanScreen"; -import SearchIcon from "../assets/Search"; +import SearchIcon from "../../../assets/images/Search"; import { SearchBar } from "react-native-elements"; -import { dynamicStyles } from "../themes"; +import { dynamicStyles } from "../../theme"; export function CheckInTab(props) { const [events, setEvents] = useState(null); diff --git a/participantCheckin/EventSel.js b/app/features/checkin/EventSel.js similarity index 89% rename from participantCheckin/EventSel.js rename to app/features/checkin/EventSel.js index 086f2365..b2f07e09 100644 --- a/participantCheckin/EventSel.js +++ b/app/features/checkin/EventSel.js @@ -1,14 +1,14 @@ import React, { Component } from "react"; import { Text, View, StyleSheet } from "react-native"; -import { ThemeContext } from "../context"; -import { Card } from "../components/Card"; +import { ThemeContext } from "../../state/context"; +import { Card } from "../../components/Card"; export function EventSel(props) { return ( - {({ dynamicStyles }) => (( + {({ dynamicStyles }) => ( - + - - - ))} + )} ); } const styles = StyleSheet.create({ card: { - marginBottom: 10 + marginBottom: 10, }, titleHeader: { flexDirection: "row", @@ -74,4 +72,4 @@ const styles = StyleSheet.create({ wrappable: { flexWrap: "wrap", }, -}); \ No newline at end of file +}); diff --git a/participantCheckin/QRScan.js b/app/features/checkin/QRScan.js similarity index 96% rename from participantCheckin/QRScan.js rename to app/features/checkin/QRScan.js index 74153124..8a74c5b3 100644 --- a/participantCheckin/QRScan.js +++ b/app/features/checkin/QRScan.js @@ -5,10 +5,10 @@ import { RNCamera } from "react-native-camera"; import { TouchableOpacity } from "react-native-gesture-handler"; import React, { useState, useEffect, useContext, useRef } from "react"; import { request, PERMISSIONS } from "react-native-permissions"; -import { logInteraction } from "../yac"; -import { HackathonContext, ScavHuntContext } from "../context"; -import { dynamicStyles } from "../themes"; -import { ThemeContext } from "../context"; +import { logInteraction } from "../../yac"; +import { HackathonContext, ScavHuntContext } from "../../state/context"; +import { dynamicStyles } from "../../theme"; +import { ThemeContext } from "../../state/context"; function QRScan(props) { const { hackathon } = useContext(HackathonContext); diff --git a/app/features/checkin/ScanScreen.js b/app/features/checkin/ScanScreen.js new file mode 100644 index 00000000..e8bde3de --- /dev/null +++ b/app/features/checkin/ScanScreen.js @@ -0,0 +1,41 @@ +import React from "react"; +import { View, StyleSheet } from "react-native"; +import { ThemeContext } from "../../state/context"; +import QRScan from "./QRScan"; + +export function ScanScreen(props) { + return ( + + {({ dynamicStyles }) => ( + + + + )} + + ); +} + +const styles = StyleSheet.create({ + card: { + marginBottom: 10, + }, + + titleFont: { + fontSize: 16, + width: "90%", + fontWeight: "bold", + fontFamily: "SpaceMono-Regular", + letterSpacing: 0.005, + marginRight: 10, + }, + + subtitleFont: { + marginTop: 2, + fontFamily: "SpaceMono-Regular", + letterSpacing: 0.005, + }, + + wrappable: { + flexWrap: "wrap", + }, +}); diff --git a/participantCheckin/SearchComponent.js b/app/features/checkin/SearchComponent.js similarity index 81% rename from participantCheckin/SearchComponent.js rename to app/features/checkin/SearchComponent.js index 4635402e..b60afbd9 100644 --- a/participantCheckin/SearchComponent.js +++ b/app/features/checkin/SearchComponent.js @@ -1,18 +1,14 @@ import React, { useState } from "react"; import { ThemeContext } from "../context"; import { SearchBar } from "react-native-elements"; -import { - View, - StyleSheet, -} from "react-native"; -import SearchIcon from "../assets/Search"; +import { View, StyleSheet } from "react-native"; +import SearchIcon from "../../assets/images/Search"; export function SearchComponent(props) { - - const [searchText, setSearchText] = useState("") + const [searchText, setSearchText] = useState(""); const searchEvents = (value) => { - setSearchText(value) + setSearchText(value); }; return ( @@ -22,10 +18,7 @@ export function SearchComponent(props) { } containerStyle={[ @@ -58,7 +51,7 @@ const styles = StyleSheet.create({ fontSize: 22, marginTop: 34, marginBottom: 10, - backgroundColor: "#ADD8E6" + backgroundColor: "#ADD8E6", }, searchHeader: { marginTop: 34, diff --git a/app/features/information/InformationStackScreen.js b/app/features/information/InformationStackScreen.js new file mode 100644 index 00000000..8d6cdbf8 --- /dev/null +++ b/app/features/information/InformationStackScreen.js @@ -0,0 +1,26 @@ +import React from "react"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; + +import { InformationTab } from "./InformationTab"; +import { InformationStack } from "../../navigation"; +import { dynamicStyles } from "../../theme"; + +import HackGTIcon from "../../../assets/images/HackGTIcon"; + +export default function InformationStackScreen({ navigation }) { + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + + ); +} diff --git a/info/InformationTab.js b/app/features/information/InformationTab.js similarity index 94% rename from info/InformationTab.js rename to app/features/information/InformationTab.js index 9a5a3fbc..ddb3bb93 100644 --- a/info/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -8,14 +8,14 @@ import { ScrollView, Alert, } from "react-native"; -import { HackathonContext, ThemeContext } from "../context"; -import { Card } from "../components/Card"; +import { HackathonContext, ThemeContext } from "../../state/context"; +import { Card } from "../../components/Card"; import { Linking } from "react-native"; -import FontMarkdown from "../components/FontMarkdown"; +import FontMarkdown from "../../components/FontMarkdown"; export function InformationTab(props) { - const { state } = useContext(HackathonContext) - const hackathon = state.hackathon + const { state } = useContext(HackathonContext); + const hackathon = state.hackathon; return ( {({ dynamicStyles }) => { diff --git a/onboarding/ContentInfo.js b/app/features/onboarding/ContentInfo.js similarity index 92% rename from onboarding/ContentInfo.js rename to app/features/onboarding/ContentInfo.js index e08541d1..9d6bdf19 100644 --- a/onboarding/ContentInfo.js +++ b/app/features/onboarding/ContentInfo.js @@ -1,7 +1,7 @@ import React, { Component } from "react"; import { Text, View, StyleSheet } from "react-native"; -import Logo from "../assets/Logo"; -import { ThemeContext } from "../context"; +import Logo from "../../../assets/images/Logo"; +import { ThemeContext } from "../../state/context"; export function ContentInfo(props) { return ( diff --git a/onboarding/EventOnboarding.js b/app/features/onboarding/EventOnboarding.js similarity index 92% rename from onboarding/EventOnboarding.js rename to app/features/onboarding/EventOnboarding.js index 1e1bb4f9..035af0bd 100644 --- a/onboarding/EventOnboarding.js +++ b/app/features/onboarding/EventOnboarding.js @@ -15,20 +15,24 @@ import { faExclamation, faKeyboard, } from "@fortawesome/free-solid-svg-icons"; -import BackButton from "../assets/Back"; -import ContinueButton from "../assets/ContinueButton"; +import BackButton from "../../../assets/images/Back"; +import ContinueButton from "../../../assets/images/ContinueButton"; import QRCode from "react-native-qrcode-svg"; import { Linking } from "react-native"; -import { AuthContext, HackathonContext, ThemeContext } from "../context"; +import { + AuthContext, + HackathonContext, + ThemeContext, +} from "../../state/context"; export function EventOnboarding(props) { - const { state } = useContext(HackathonContext) - const hackathon = state.hackathon + const { state } = useContext(HackathonContext); + const hackathon = state.hackathon; + + const [pageIndex, setPageIndex] = useState(0); + const [pageCount, setPageCount] = useState(3); - const [pageIndex, setPageIndex] = useState(0) - const [pageCount, setPageCount] = useState(3) - - const scrollViewRef = useRef(null) + const scrollViewRef = useRef(null); useEffect(() => { const screenWidth = Dimensions.get("window").width; @@ -37,7 +41,7 @@ export function EventOnboarding(props) { if (scrollViewRef != null) { scrollViewRef.current.scrollTo({ x: newHorizontalPosition }); } - }) + }); const createScreens = (width) => { const hackathonName = hackathon.name; @@ -189,7 +193,7 @@ export function EventOnboarding(props) { }} ); - } + }; const statusHeader = () => { const portionComplete = (pageIndex + 1) / pageCount; @@ -202,7 +206,7 @@ export function EventOnboarding(props) { { if (pageIndex - 1 >= 0) { - setPageIndex(pageIndex - 1) + setPageIndex(pageIndex - 1); } }} > @@ -231,16 +235,14 @@ export function EventOnboarding(props) { )} ); - } + }; const screenWidth = Dimensions.get("window").width; return ( {({ dynamicStyles }) => ( - + {statusHeader()} { if (pageIndex < pageCount - 1) { - setPageIndex(pageIndex + 1) + setPageIndex(pageIndex + 1); } else { // reached end, onboarding complete props.onDone(); diff --git a/onboarding/LoginOnboarding.js b/app/features/onboarding/LoginOnboarding.js similarity index 66% rename from onboarding/LoginOnboarding.js rename to app/features/onboarding/LoginOnboarding.js index e88544b9..a4455fe2 100644 --- a/onboarding/LoginOnboarding.js +++ b/app/features/onboarding/LoginOnboarding.js @@ -1,78 +1,80 @@ import React, { useState } from "react"; import { Dimensions, Platform } from "react-native"; -import { - ScrollView, - View, - StyleSheet, -} from "react-native"; +import { ScrollView, View, StyleSheet } from "react-native"; import Svg, { Circle } from "react-native-svg"; -import { InAppBrowser } from 'react-native-inappbrowser-reborn' +import { InAppBrowser } from "react-native-inappbrowser-reborn"; import { signInWithCustomToken } from "firebase/auth"; -import Logo from "../assets/Logo"; -import LogoText from "../assets/LogoText"; +import Logo from "../../../assets/images/Logo"; +import LogoText from "../../../assets/images/LogoText"; import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; import { faUsers, faCalendarCheck } from "@fortawesome/free-solid-svg-icons"; import { ContentInfo } from "./ContentInfo"; -import { AuthContext, ThemeContext } from "../context"; -import { GradientButton } from "../components/GradientButton"; -import { app } from '../' +import { AuthContext, ThemeContext } from "../../state/context"; +import { GradientButton } from "../../components/GradientButton"; +import { app } from "../../../firebase"; -import { getAuth } from 'firebase/auth' +import { getAuth } from "firebase/auth"; -const LOGIN_URL = "https://login.hexlabs.org" -const AUTH_URL = 'https://auth.api.hexlabs.org' +const LOGIN_URL = "https://login.hexlabs.org"; +const AUTH_URL = "https://auth.api.hexlabs.org"; export function LoginOnboarding(props) { - const auth = getAuth(app); - const [pageIndex, setPageIndex] = useState(0) - const [pageCount, setPageCount] = useState(3) + const [pageIndex, setPageIndex] = useState(0); + const [pageCount, setPageCount] = useState(3); const login = async () => { try { - const path = '' - const deepLink = getDeepLink(path) - const redirect = '/?redirect=hexlabs://' + path - const result = await InAppBrowser.openAuth(LOGIN_URL + redirect, deepLink, {}) - if (result.type === 'success') { - const splitUrl = result.url.split('?') + const path = ""; + const deepLink = getDeepLink(path); + const redirect = "/?redirect=hexlabs://" + path; + const result = await InAppBrowser.openAuth( + LOGIN_URL + redirect, + deepLink, + {} + ); + if (result.type === "success") { + const splitUrl = result.url.split("?"); if (splitUrl[1]) { - const params = splitUrl[1].split('&') - const codeParam = params.find(param => param.startsWith('idToken')) + const params = splitUrl[1].split("&"); + const codeParam = params.find((param) => param.startsWith("idToken")); if (codeParam) { - const idToken = codeParam.split('=')[1] - console.log('idToken: ', idToken) - fetchAccessToken(idToken) + const idToken = codeParam.split("=")[1]; + console.log("idToken: ", idToken); + fetchAccessToken(idToken); } } } - console.log(JSON.stringify(result)) + console.log(JSON.stringify(result)); } catch (error) { - console.log(error) + console.log(error); } - } + }; - const getDeepLink = (path = '') => { - const scheme = 'hexlabs' - const prefix = Platform.OS == 'android' ? `${scheme}://my-host/` : `${scheme}://` - return prefix + path - } + const getDeepLink = (path = "") => { + const scheme = "hexlabs"; + const prefix = + Platform.OS == "android" ? `${scheme}://my-host/` : `${scheme}://`; + return prefix + path; + }; const fetchAccessToken = async (idToken) => { - console.log('token: ', idToken) - fetch(`${AUTH_URL + '/auth/status'}/`, { + console.log("token: ", idToken); + fetch(`${AUTH_URL + "/auth/status"}/`, { method: "GET", headers: { Authorization: "Bearer " + idToken, - } - }).then((response) => { - return response.json() - }).then((authJson) => { - console.log('auth: ', authJson) - const customToken = authJson.customToken - signInWithCustomToken(auth, customToken) + }, }) - } + .then((response) => { + return response.json(); + }) + .then((authJson) => { + console.log("auth: ", authJson); + const customToken = authJson.customToken; + signInWithCustomToken(auth, customToken); + }); + }; const createScreens = (width) => { const hackgtLogo = ( @@ -136,37 +138,35 @@ export function LoginOnboarding(props) { }} ); - } + }; // render the dots indicating which page user is on const indexIndicator = () => { const radius = 4; const size = radius * 2; - const bubbles = Array.from(new Array(pageCount).keys()).map( - (i) => { - return ( - - {({ dynamicStyles }) => ( - - - - )} - - ); - } - ); + const bubbles = Array.from(new Array(pageCount).keys()).map((i) => { + return ( + + {({ dynamicStyles }) => ( + + + + )} + + ); + }); return {bubbles}; - } + }; const screenWidth = Dimensions.get("window").width; @@ -182,9 +182,9 @@ export function LoginOnboarding(props) { pagingEnabled={true} onMomentumScrollEnd={(scrollData) => { // update page indicator - setPageIndex(Math.round( - scrollData.nativeEvent.contentOffset.x / screenWidth - )) + setPageIndex( + Math.round(scrollData.nativeEvent.contentOffset.x / screenWidth) + ); }} > {createScreens(screenWidth)} @@ -265,4 +265,4 @@ const styles = StyleSheet.create({ fontFamily: "SpaceMono-Bold", letterSpacing: 0.05, }, -}); \ No newline at end of file +}); diff --git a/scav_hunt/ScavHuntCrossword.js b/app/features/scavengerHunt/ScavHuntCrossword.js similarity index 100% rename from scav_hunt/ScavHuntCrossword.js rename to app/features/scavengerHunt/ScavHuntCrossword.js diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js new file mode 100644 index 00000000..b4938629 --- /dev/null +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -0,0 +1,224 @@ +import React, { useRef, useState, useContext, useEffect } from "react"; + +import { + View, + StyleSheet, + Text, + TouchableOpacity, + TextInput, + Dimensions, +} from "react-native"; +import { logInteraction } from "../../yac"; +import AsyncStorage from "@react-native-community/async-storage"; +import RBSheet from "react-native-raw-bottom-sheet"; +import { ScavHuntContext } from "../../state/context"; +import DismissModal from "../../../assets/images/DismissModal.svg"; +import CorrectAnswer from "../../../assets/images/CorrectAnswer.svg"; +import IncorrectAnswer from "../../../assets/images/IncorrectAnswer.svg"; + +export function ScavHuntItem(props) { + const { state, completeHint } = useContext(ScavHuntContext); + const sheetRef = useRef(); + const item = props.route.params.item; + const user = props.route.params.user; + const isComplete = state.completedHints.includes(item.id); + const [modalVisible, setModalVisible] = useState(false); + const [answer, setAnswer] = useState(isComplete ? item.answer : ""); + const [showAnswerStatus, setShowAnswerStatus] = useState(isComplete); + const [isAnswerCorrect, setIsAnswerCorrect] = useState(isComplete); + const answerStatus = () => { + console.log("answer status: ", showAnswerStatus, isAnswerCorrect); + if (showAnswerStatus) { + isAnswerCorrect ? : ; + } + }; + console.log("woahhhhhh", props); + const sheetContent = () => ( + + { + setModalVisible(false); + sheetRef.current.close(); + }} + > + + + + {"What's the answer?"} + + + + { + // answerStatus() + showAnswerStatus ? ( + isAnswerCorrect ? ( + + ) : ( + + ) + ) : null + } + + {isAnswerCorrect ? ( + {"Complete"} + ) : ( + { + setShowAnswerStatus(true); + if (answer === item.answer) { + setIsAnswerCorrect(true); + completeHint(item.id); + console.log("itemID ", item.id); + AsyncStorage.setItem( + "completedHints", + JSON.stringify(state.completedHints.concat([item.id])) + ); + logInteraction( + props.route.params.hackathonName, + "scavengerHunt", + user.userId, + item.id + ); + } + }} + > + {"Submit"} + + )} + + ); + + const completed = () => { + if (props.isComplete) { + return ( + + {"Completed!"} + + ); + } + }; + + return ( + <> + + + + {item.title} + {completed()} + + {item.hint} + { + setModalVisible(true); + sheetRef.current.open(); + // sheetRef.current.snapTo(0) + }} + > + + {isComplete ? "Completed!" : "Input Answer"} + + + + + + {sheetContent()} + + + ); +} + +const styles = StyleSheet.create({ + answerButton: { + marginTop: 32, + backgroundColor: "#5DBCD2", + alignItems: "center", + borderRadius: 10, + }, + + answerButtonText: { + padding: 17, + fontFamily: "SpaceMono-Bold", + color: "white", + }, + + hintText: { + paddingTop: 4, + textAlign: "left", + fontFamily: "SpaceMono-Regular", + fontSize: 16, + letterSpacing: 0.005, + }, + + joinEvent: { + margin: 5, + borderRadius: 10, + borderWidth: 1, + flex: 0.5, + }, + + titleText: { + paddingTop: 5, + textAlign: "center", + fontFamily: "SpaceMono-Bold", + fontSize: 24, + letterSpacing: 0.005, + }, + + sheetStyle: { + flexDirection: "column", + backgroundColor: "white", + alignItems: "center", + }, + + answerInputContainer: { + flexDirection: "row", + alignItems: "center", + backgroundColor: "#F3F3F3", + borderRadius: 5, + padding: 11, + width: Dimensions.get("window").width - 80, + }, + + answerInput: { + fontFamily: "SpaceMono-Regular", + fontSize: 20, + borderRadius: 5, + padding: 11, + flex: 1, + }, + + completeText: { + fontFamily: "SpaceMono-Bold", + fontSize: 20, + marginTop: 32, + }, +}); diff --git a/app/features/scavengerHunt/ScavengerHuntStackScreen.js b/app/features/scavengerHunt/ScavengerHuntStackScreen.js new file mode 100644 index 00000000..fc8d4682 --- /dev/null +++ b/app/features/scavengerHunt/ScavengerHuntStackScreen.js @@ -0,0 +1,56 @@ +import React from "react"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; +import { ScavHuntCrossword } from "./ScavHuntCrossword"; +import { ScavengerHuntTab } from "./ScavengerHuntTab"; +import { AuthContext } from "../../state/context"; +import { ScavengerHuntStack } from "../../navigation"; +import { dynamicStyles } from "../../theme"; +import ScavHuntProvider from "../../state/scavHunt"; +import { ScavHuntItem } from "./ScavHuntItem"; +import HackGTIcon from "../../../assets/images/HackGTIcon"; + +export default function ScavengerHuntStackScreen({ navigation }) { + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + + {({ user }) => { + return ( + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + , + headerStyle: dStyles.tabBarBackgroundColor, + headerLeft: null, + }} + name="ScavHuntItem" + component={ScavHuntItem} + /> + , + headerStyle: dStyles.tabBarBackgroundColor, + headerLeft: null, + }} + name="ScavHuntCrossword" + component={ScavHuntCrossword} + /> + + ); + }} + + + ); +} diff --git a/scav_hunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js similarity index 98% rename from scav_hunt/ScavengerHuntTab.js rename to app/features/scavengerHunt/ScavengerHuntTab.js index 1f50c8e3..09dc62f9 100644 --- a/scav_hunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -10,8 +10,12 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; import { faLock } from "@fortawesome/free-solid-svg-icons"; import AsyncStorage from "@react-native-community/async-storage"; -import { HackathonContext, ThemeContext, ScavHuntContext } from "../context"; -import { fetchServerTime } from "../cms"; +import { + HackathonContext, + ThemeContext, + ScavHuntContext, +} from "../../state/context"; +import { fetchServerTime } from "../../cms"; import moment from "moment-timezone"; import QRCode from "react-native-qrcode-svg"; diff --git a/scav_hunt/scavenger-hunt-data.js b/app/features/scavengerHunt/scavenger-hunt-data.js similarity index 100% rename from scav_hunt/scavenger-hunt-data.js rename to app/features/scavengerHunt/scavenger-hunt-data.js diff --git a/schedule/EventBottomSheet.js b/app/features/schedule/EventBottomSheet.js similarity index 74% rename from schedule/EventBottomSheet.js rename to app/features/schedule/EventBottomSheet.js index fab943e8..1f3195ec 100644 --- a/schedule/EventBottomSheet.js +++ b/app/features/schedule/EventBottomSheet.js @@ -2,20 +2,24 @@ import React, { useEffect, useContext, useState } from "react"; import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; import { EventTypeView } from "./EventTypeView"; import RBSheet from "react-native-raw-bottom-sheet"; -import X from "../assets/X"; -import RemoveStarButton from "../assets/RemoveFromCalendarButton"; -import AddStarButton from "../assets/AddToCalendarButton"; -import { HackathonContext, ThemeContext } from "../context"; -import FontMarkdown from "../components/FontMarkdown"; +import X from "../../../assets/images/X"; +import RemoveStarButton from "../../../assets/images/RemoveFromCalendarButton"; +import AddStarButton from "../../../assets/images/AddToCalendarButton"; +import { HackathonContext, ThemeContext } from "../../state/context"; +import FontMarkdown from "../../components/FontMarkdown"; import { Linking } from "react-native"; export function EventBottomSheet(props) { - const { state, toggleStar } = useContext(HackathonContext) - const [addStarButton, setAddStarButton] = useState(props.event ? state.starredIds.indexOf(props.event.id) == -1 : true) - console.log('SELECTED EVENT: ', props.event) + const { state, toggleStar } = useContext(HackathonContext); + const [addStarButton, setAddStarButton] = useState( + props.event ? state.starredIds.indexOf(props.event.id) == -1 : true + ); + console.log("SELECTED EVENT: ", props.event); useEffect(() => { - setAddStarButton(props.event ? state.starredIds.indexOf(props.event.id) == -1 : false) - }) + setAddStarButton( + props.event ? state.starredIds.indexOf(props.event.id) == -1 : false + ); + }); const bottomSheetContent = () => { const event = props.event; const title = event.name; @@ -37,14 +41,10 @@ export function EventBottomSheet(props) { return ( {({ dynamicStyles }) => { - const eventTags = event.tags - ? event.tags.map((tag) => tag.name) - : []; + const eventTags = event.tags ? event.tags.map((tag) => tag.name) : []; return ( - + { @@ -52,9 +52,7 @@ export function EventBottomSheet(props) { }} > @@ -62,10 +60,7 @@ export function EventBottomSheet(props) { {title} {location} {start} - {end} @@ -75,9 +70,7 @@ export function EventBottomSheet(props) { {event.tags && event.tags.map((tag) => ( - + {tag.name} ))} @@ -97,22 +90,17 @@ export function EventBottomSheet(props) { ) : null} - - {description} - + {description} { - setAddStarButton(!addStarButton) - toggleStar(props.event) - } - } + setAddStarButton(!addStarButton); + toggleStar(props.event); + }} > {addStarButton ? ( - + ) : ( )} diff --git a/schedule/EventTypeView.js b/app/features/schedule/EventTypeView.js similarity index 100% rename from schedule/EventTypeView.js rename to app/features/schedule/EventTypeView.js diff --git a/schedule/ScheduleDayView.js b/app/features/schedule/ScheduleDayView.js similarity index 85% rename from schedule/ScheduleDayView.js rename to app/features/schedule/ScheduleDayView.js index eb17ab71..6a769d31 100644 --- a/schedule/ScheduleDayView.js +++ b/app/features/schedule/ScheduleDayView.js @@ -7,28 +7,29 @@ import { StyleSheet, FlatList, } from "react-native"; -import { ThemeContext } from "../context"; +import { ThemeContext } from "../../state/context"; import { ScheduleEventCell } from "./ScheduleEventCell"; import Svg, { Circle } from "react-native-svg"; import { Dimensions } from "react-native"; -import SaturdayGray from "../assets/SaturdayGray"; -import SaturdayGradient from "../assets/SaturdayGradient"; -import FridayGray from "../assets/FridayGray"; -import FridayGradient from "../assets/FridayGradient"; -import SundayGray from "../assets/SundayGray"; -import SundayGradient from "../assets/SundayGradient"; -import Underline from "../assets/UnderlineGradient"; -import { getTimeblocksForDay, isEventHappeningNow } from "../cms/DataHandler"; -import BackToTop from "../assets/ChevronUp"; +import SaturdayGray from "../../../assets/images/SaturdayGray"; +import SaturdayGradient from "../../../assets/images/SaturdayGradient"; +import FridayGray from "../../../assets/images/FridayGray"; +import FridayGradient from "../../../assets/images/FridayGradient"; +import SundayGray from "../../../assets/images/SundayGray"; +import SundayGradient from "../../../assets/images/SundayGradient"; +import Underline from "../../../assets/images/UnderlineGradient"; +import { + getTimeblocksForDay, + isEventHappeningNow, +} from "../../cms/DataHandler"; +import BackToTop from "../../../assets/images/ChevronUp"; export function ScheduleDayView(props) { + const initDayIndex = props.initialDayIndex == -1 ? 0 : props.initialDayIndex; + const [dayIndex, setDayIndex] = useState(initDayIndex); - const initDayIndex = - props.initialDayIndex == -1 ? 0 : props.initialDayIndex; - const [dayIndex, setDayIndex] = useState(initDayIndex) - - const tabListRef = useRef(null) - const currentScheduleRef = useRef(null) + const tabListRef = useRef(null); + const currentScheduleRef = useRef(null); useEffect(() => { if (props.events.count > 0) { @@ -37,7 +38,10 @@ export function ScheduleDayView(props) { animated: false, }); if (props.initialEventIndex > 0) { - if (currentScheduleRef != null && props.days[dayIndex] == currentDayString) { + if ( + currentScheduleRef != null && + props.days[dayIndex] == currentDayString + ) { currentScheduleRef.current.scrollToIndex({ index: props.initialEventIndex, animated: false, @@ -45,7 +49,7 @@ export function ScheduleDayView(props) { } } } - }, []) + }, []); const tabContent = (day) => ( @@ -62,7 +66,9 @@ export function ScheduleDayView(props) { paddingBottom: props.paddingHeight, }} data={timeblocks} - keyExtractor={(item, index) => '' + (item && item.id ? item.id : index)} + keyExtractor={(item, index) => + "" + (item && item.id ? item.id : index) + } onScrollToIndexFailed={(error) => { setTimeout(() => { if (props.days[dayIndex] == currentDayString) { @@ -88,7 +94,11 @@ export function ScheduleDayView(props) { if (item && item.time) { return ( - + { if (tabListRef.current != null) { tabListRef.current.scrollToIndex({ index: i }); - setDayIndex(i) + setDayIndex(i); } }} > @@ -239,7 +249,10 @@ export function ScheduleDayView(props) { bottom: props.paddingHeight + 10, }} onPress={() => { - if (currentScheduleRef != null && props.days[dayIndex] == currentDayString) { + if ( + currentScheduleRef != null && + props.days[dayIndex] == currentDayString + ) { currentScheduleRef.current.scrollToIndex({ index: props.initialEventIndex, animated: true, @@ -255,8 +268,7 @@ export function ScheduleDayView(props) { const width = Dimensions.get("window").width; // only show back to top button if the current tab is on the current day, and there are events const shouldShowBackToTopButton = - dayIndex == props.initialDayIndex && - props.initialEventIndex != -1; + dayIndex == props.initialDayIndex && props.initialEventIndex != -1; const itemStyle = { width: width, justifyContent: "center", @@ -277,9 +289,9 @@ export function ScheduleDayView(props) { pagingEnabled={true} keyExtractor={(item) => item} onMomentumScrollEnd={(scrollData) => { - setDayIndex(Math.round( - scrollData.nativeEvent.contentOffset.x / width - )) + setDayIndex( + Math.round(scrollData.nativeEvent.contentOffset.x / width) + ); }} onScrollToIndexFailed={(error) => { setTimeout(() => { diff --git a/app/features/schedule/ScheduleEventCell.js b/app/features/schedule/ScheduleEventCell.js new file mode 100644 index 00000000..a7b687c8 --- /dev/null +++ b/app/features/schedule/ScheduleEventCell.js @@ -0,0 +1,122 @@ +import React, { Component, useState, useContext } from "react"; +import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; +import StarOff from "../../../assets/images/StarOff"; +import StarOn from "../../../assets/images/StarOn"; +import { HackathonContext, ThemeContext } from "../../state/context"; +import { EventTypeView } from "./EventTypeView"; +import { Card } from "../../components/Card"; + +export function ScheduleEventCell(props) { + const { state, toggleStar } = useContext(HackathonContext); + const [isStarred, setIsStarred] = useState(false); + + const event = props.event; + const eventType = + event != null && event.type != null + ? event.type + : { name: "none", color: "gray" }; + const title = event.name; + const location = + event != null && + event.location != null && + event.location[0] != null && + event.location[0].name != null + ? event.location[0].name + " • " + : ""; + const start = event.startTime; + const end = event.endTime; + return ( + + {({ dynamicStyles }) => { + const isStarred = state.starredIds.indexOf(event.id) != -1; + console.log("toggling star function: ", toggleStar); + return ( + + + + {title} + + { + console.log("toggling star pressed", event.id); + toggleStar(event); + }} + > + {isStarred ? ( + + ) : ( + + )} + + + + + {location} + {start} - {end} + + + + + {event.tags && + event.tags.map((tag) => ( + + {tag.name} + + ))} + + + ); + }} + + ); +} + +const styles = StyleSheet.create({ + titleHeader: { + flexDirection: "row", + width: "100%", + letterSpacing: 0.005, + }, + + titleFont: { + fontSize: 16, + width: "90%", + fontWeight: "bold", + fontFamily: "SpaceMono-Regular", + letterSpacing: 0.005, + marginRight: 10, + }, + + subtitleFont: { + marginTop: 2, + fontFamily: "SpaceMono-Regular", + letterSpacing: 0.005, + }, + + tagFont: { + marginTop: 2, + fontFamily: "SpaceMono-Regular", + letterSpacing: 0.005, + marginTop: -0.2, + marginLeft: 8, + }, + + wrappable: { + flexWrap: "wrap", + }, +}); diff --git a/schedule/ScheduleSearch.js b/app/features/schedule/ScheduleSearch.js similarity index 78% rename from schedule/ScheduleSearch.js rename to app/features/schedule/ScheduleSearch.js index b2ad7bc3..36a56cde 100644 --- a/schedule/ScheduleSearch.js +++ b/app/features/schedule/ScheduleSearch.js @@ -1,6 +1,6 @@ import React, { useState, useContext, useRef } from "react"; -import { HackathonContext, ThemeContext } from "../context"; -import { getEventsForDay, getDaysForEvent } from "../cms/DataHandler"; +import { HackathonContext, ThemeContext } from "../../state/context"; +import { getEventsForDay, getDaysForEvent } from "../../cms/DataHandler"; import { SearchBar } from "react-native-elements"; import { FlatList, @@ -9,26 +9,25 @@ import { StyleSheet, TouchableOpacity, } from "react-native"; -import SearchIcon from "../assets/Search"; +import SearchIcon from "../../../assets/images/Search"; import { SafeAreaView } from "react-native-safe-area-context"; -import CancelIcon from "../assets/Cancel"; -import X from "../assets/X"; +import CancelIcon from "../../../assets/images/Cancel"; import { ScheduleEventCell } from "./ScheduleEventCell"; import { EventBottomSheet } from "./EventBottomSheet"; -import FilterSelect from "../components/FilterSelect"; -import TagScrollView from "../components/TagScrollView"; +import FilterSelect from "../../components/FilterSelect"; +import TagScrollView from "../../components/TagScrollView"; export function ScheduleSearch(props) { - const { state } = useContext(HackathonContext) - const hackathon = state.hackathon + const { state } = useContext(HackathonContext); + const hackathon = state.hackathon; - const [searchText, setSearchText] = useState("") - const [selectedEvent, setSelectedEvent] = useState(null) - const [filterItem, setFilterItem] = useState(null) - const [highlightedTags, setHighlightedTags] = useState([]) - const [filterMenuOpen, setFilterMenuOpen] = useState(false) + const [searchText, setSearchText] = useState(""); + const [selectedEvent, setSelectedEvent] = useState(null); + const [filterItem, setFilterItem] = useState(null); + const [highlightedTags, setHighlightedTags] = useState([]); + const [filterMenuOpen, setFilterMenuOpen] = useState(false); - const sheetRef = useRef(null) + const sheetRef = useRef(null); const backButton = () => { const { navigation } = props; @@ -46,16 +45,16 @@ export function ScheduleSearch(props) { const onPressEvent = (event) => { if (event) { - setSelectedEvent(event) + setSelectedEvent(event); sheetRef.current.open(); } else { - setSelectedEvent(null) + setSelectedEvent(null); sheetRef.current.close(); } }; const searchEvents = (value) => { - setSearchText(value) + setSearchText(value); }; return ( @@ -79,8 +78,7 @@ export function ScheduleSearch(props) { let eventNameLowerCase = event.name.toLowerCase(); let eventDescriptionLowerCase = ""; let eventTypeLowerCase = ""; - const name = - event.type && event.type.name ? event.type.name : null; + const name = event.type && event.type.name ? event.type.name : null; if (event.description != null) { eventDescriptionLowerCase = event.description.toLowerCase(); @@ -90,43 +88,28 @@ export function ScheduleSearch(props) { eventTypeLowerCase = name.toLowerCase(); } - const filterName = - filterItem == null - ? null - : filterItem.name; + const filterName = filterItem == null ? null : filterItem.name; if (name === filterName) { return ( - (eventNameLowerCase.includes( - searchText.trim().toLowerCase() - ) && + (eventNameLowerCase.includes(searchText.trim().toLowerCase()) && name === filterName) || (eventDescriptionLowerCase.includes( searchText.trim().toLowerCase() ) && name === filterName) || - (eventTypeLowerCase.includes( - searchText.trim().toLowerCase() - ) && + (eventTypeLowerCase.includes(searchText.trim().toLowerCase()) && name === filterName) || - (dayName.includes( - searchText.trim().toLowerCase() - ) && + (dayName.includes(searchText.trim().toLowerCase()) && name === filterName) ); } else if (filterName === null) { return ( - eventNameLowerCase.includes( - searchText.trim().toLowerCase() - ) || + eventNameLowerCase.includes(searchText.trim().toLowerCase()) || eventDescriptionLowerCase.includes( searchText.trim().toLowerCase() ) || - dayName.includes( - searchText.trim().toLowerCase() - ) || - eventTypeLowerCase.includes( - searchText.trim().toLowerCase() - ) + dayName.includes(searchText.trim().toLowerCase()) || + eventTypeLowerCase.includes(searchText.trim().toLowerCase()) ); } }); @@ -150,9 +133,7 @@ export function ScheduleSearch(props) { sortedEvents = sortedEvents.filter((event) => { let result = event.tags && event.tags.map((a) => a.name); - let found = result.some((r) => - highlightedTags.includes(r) - ); + let found = result.some((r) => highlightedTags.includes(r)); if (highlightedTags.length != 0) { if (!found) { @@ -189,8 +170,7 @@ export function ScheduleSearch(props) { searchIcon={ } @@ -219,29 +199,22 @@ export function ScheduleSearch(props) { { - setFilterItem(newFilter) - setHighlightedTags([]) - } - } - onFilterMenuChange={(isOpen) => - setFilterMenuOpen(isOpen) - } + setFilterItem(newFilter); + setHighlightedTags([]); + }} + onFilterMenuChange={(isOpen) => setFilterMenuOpen(isOpen)} /> {/* Trending Topics */} {uniquetagArr.length > 0 && ( - + Trending Topics {highlightedTags.length > 0 && ( - setHighlightedTags([]) - } + onPress={() => setHighlightedTags([])} style={[ styles.clearButtonStyle, dynamicStyles.borderColor, @@ -271,7 +244,7 @@ export function ScheduleSearch(props) { setHighlightedTags(highlightedTagsCopy); } else { highlightedTagsCopy.push(tag), - setHighlightedTags(highlightedTagsCopy) + setHighlightedTags(highlightedTagsCopy); } }} /> @@ -298,9 +271,7 @@ export function ScheduleSearch(props) { dynamicStyles.secondaryBackgroundColor, ]} > - + {item.day} @@ -328,10 +299,7 @@ export function ScheduleSearch(props) { } /> )} - + ); diff --git a/app/features/schedule/ScheduleStackScreen.js b/app/features/schedule/ScheduleStackScreen.js new file mode 100644 index 00000000..8f5d0a95 --- /dev/null +++ b/app/features/schedule/ScheduleStackScreen.js @@ -0,0 +1,69 @@ +import React, { useContext } from "react"; +import { TouchableOpacity } from "react-native-gesture-handler"; +import { View } from "react-native"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; + +import { ScheduleSearch } from "./ScheduleSearch"; +import { ScheduleTab } from "./ScheduleTab"; +import { HackathonContext } from "../../state/context"; +import { ScheduleStack } from "../../navigation"; +import { dynamicStyles } from "../../theme"; + +import SearchIcon from "../../../assets/images/Search"; +import StarOnIcon from "../../../assets/images/StarLargeOn"; +import StarOffIcon from "../../../assets/images/StarLargeOff"; +import HackGTIcon from "../../../assets/images/HackGTIcon"; + +export default function ScheduleStackScreen({ navigation }) { + const { state, toggleIsStarSchedule } = useContext(HackathonContext); + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + , + headerRight: () => ( + + + {state.isStarSchedule ? ( + + ) : ( + + )} + + { + navigation.navigate("ScheduleSearch"); + }} + > + + + + ), + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + + + + ); +} diff --git a/schedule/ScheduleTab.js b/app/features/schedule/ScheduleTab.js similarity index 82% rename from schedule/ScheduleTab.js rename to app/features/schedule/ScheduleTab.js index a7ab032e..b1386bbe 100644 --- a/schedule/ScheduleTab.js +++ b/app/features/schedule/ScheduleTab.js @@ -8,8 +8,8 @@ import { AppState, Text, } from "react-native"; -import { HackathonContext, ThemeContext } from "../context"; -import WhatsHappeningNow from "../assets/HappeningNow"; +import { HackathonContext, ThemeContext } from "../../state/context"; +import WhatsHappeningNow from "../../../assets/images/HappeningNow"; import { ScheduleEventCell } from "./ScheduleEventCell"; import { ScheduleDayView } from "./ScheduleDayView"; import { EventBottomSheet } from "./EventBottomSheet"; @@ -19,38 +19,38 @@ import { getDaysForEvent, getCurrentDayIndex, getCurrentEventIndex, -} from "../cms/DataHandler"; +} from "../../cms/DataHandler"; export function ScheduleTab(props) { const { state } = useContext(HackathonContext); - const sheetRef = useRef(null) - const [selectedEvent, setSelectedEvent] = useState(null) - const [eventsHappeningNow, setEventsHappeningNow] = useState([]) + const sheetRef = useRef(null); + const [selectedEvent, setSelectedEvent] = useState(null); + const [eventsHappeningNow, setEventsHappeningNow] = useState([]); useEffect(() => { - console.log('REFRESHING') - refreshEventState() + console.log("REFRESHING"); + refreshEventState(); // update time changes whenever app opens AppState.addEventListener("change", (state) => { if (state == "active") { - refreshEventState() + refreshEventState(); } }); - }, []) + }, []); const refreshEventState = () => { const events = state.hackathon.events; - setEventsHappeningNow(getEventsHappeningNow(events)) - } + setEventsHappeningNow(getEventsHappeningNow(events)); + }; const onPressEvent = (event) => { if (event) { - setSelectedEvent(event) - console.log('REF', sheetRef) + setSelectedEvent(event); + console.log("REF", sheetRef); sheetRef.current.open(); } else { - setSelectedEvent(null) + setSelectedEvent(null); sheetRef.current.close(); } }; @@ -61,9 +61,7 @@ export function ScheduleTab(props) { let events = state.hackathon.events; const hasEventsNow = eventsHappeningNow.length > 0; const happeningNowView = ( - + { - console.log("ITEM: ", item) + console.log("ITEM: ", item); return ( - + + {hasEventsNow ? happeningNowView : null} {!hasEventsNow ? : null} diff --git a/app/navigation/index.js b/app/navigation/index.js new file mode 100644 index 00000000..d92b6072 --- /dev/null +++ b/app/navigation/index.js @@ -0,0 +1,11 @@ +import { createStackNavigator } from "@react-navigation/stack"; + +export { default as ScheduleStackScreen } from "../features/schedule/ScheduleStackScreen"; +export { default as InformationStackScreen } from "../features/information/InformationStackScreen"; +export { default as ScavengerHuntStackScreen } from "../features/scavengerHunt/ScavengerHuntStackScreen"; +export { default as CheckInStackScreen } from "../features/checkin/CheckInStackScreen"; + +export const ScheduleStack = createStackNavigator(); +export const InformationStack = createStackNavigator(); +export const ScavengerHuntStack = createStackNavigator(); +export const CheckInStack = createStackNavigator(); diff --git a/state_management/auth/AuthActionTypes.ts b/app/state/auth/AuthActionTypes.ts similarity index 100% rename from state_management/auth/AuthActionTypes.ts rename to app/state/auth/AuthActionTypes.ts diff --git a/state_management/auth/AuthReducer.js b/app/state/auth/AuthReducer.js similarity index 100% rename from state_management/auth/AuthReducer.js rename to app/state/auth/AuthReducer.js diff --git a/app/state/auth/index.js b/app/state/auth/index.js new file mode 100644 index 00000000..c6721249 --- /dev/null +++ b/app/state/auth/index.js @@ -0,0 +1,57 @@ +import React, { useState, useEffect } from "react"; +import { initialValue, authReducer } from "./AuthReducer"; +import {} from "./AuthActionTypes"; +import { AuthContext } from "../context"; +import { onAuthStateChanged } from "firebase/auth"; +import { app } from "../../../firebase"; +import { getAuth } from "firebase/auth"; + +export default function AuthProvider({ children }) { + const auth = getAuth(app); + + const [firebaseUser, setFirebaseUser] = useState(null); + const [loading, setLoading] = useState(true); + const [showLogin, setShowLogin] = useState(true); + const [user, setUser] = useState(null); + + const usersUrl = "https://users.api.hexlabs.org"; + + useEffect(() => { + const unsubAuth = onAuthStateChanged(auth, async (fUser) => { + if (fUser) { + setLoading(true); + console.log("FIRUser:", fUser); + await fetchUserDetails(fUser); + setShowLogin(false); + setLoading(false); + setFirebaseUser(fUser); + } else { + setShowLogin(true); + setLoading(false); + } + }); + return unsubAuth; + }, []); + + const fetchUserDetails = async (fUser) => { + const token = await fUser.getIdToken(); + const response = await fetch(`${usersUrl + "/users/" + fUser.uid}/`, { + method: "GET", + headers: { + Authorization: "Bearer " + token, + }, + }); + const json = await response.json(); + console.log("userJson: ", json); + setUser(json); + }; + + const value = { + firebaseUser: firebaseUser, + loading: loading, + showLogin: showLogin, + user: user, + }; + + return {children}; +} diff --git a/state_management/checkIn/CheckInActionTypes.ts b/app/state/checkIn/CheckInActionTypes.ts similarity index 100% rename from state_management/checkIn/CheckInActionTypes.ts rename to app/state/checkIn/CheckInActionTypes.ts diff --git a/state_management/checkIn/CheckInReducer.js b/app/state/checkIn/CheckInReducer.js similarity index 100% rename from state_management/checkIn/CheckInReducer.js rename to app/state/checkIn/CheckInReducer.js diff --git a/app/state/checkIn/index.js b/app/state/checkIn/index.js new file mode 100644 index 00000000..3132fa0b --- /dev/null +++ b/app/state/checkIn/index.js @@ -0,0 +1,16 @@ +import React from "react"; +import { initialValue, checkInReducer } from "./CheckInReducer"; +import {} from "./CheckInActionTypes"; +import { CheckInContext } from "../context"; + +export default function CheckInProvider({ children }) { + const [state, dispatch] = React.useReducer(checkInReducer, initialValue); + + const value = { + state: state, + }; + + return ( + {children} + ); +} diff --git a/context.js b/app/state/context.js similarity index 100% rename from context.js rename to app/state/context.js diff --git a/state_management/hackathon/HackathonActionTypes.ts b/app/state/hackathon/HackathonActionTypes.ts similarity index 100% rename from state_management/hackathon/HackathonActionTypes.ts rename to app/state/hackathon/HackathonActionTypes.ts diff --git a/state_management/hackathon/HackathonReducer.js b/app/state/hackathon/HackathonReducer.js similarity index 100% rename from state_management/hackathon/HackathonReducer.js rename to app/state/hackathon/HackathonReducer.js diff --git a/app/state/hackathon/index.js b/app/state/hackathon/index.js new file mode 100644 index 00000000..3b4c5ea1 --- /dev/null +++ b/app/state/hackathon/index.js @@ -0,0 +1,31 @@ +import React from "react"; +import { hackathonReducer } from "./HackathonReducer"; +import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE } from "./HackathonActionTypes"; +import { HackathonContext } from "../context"; + +export default function HackathonProvider({ initialValue, children }) { + const [state, dispatch] = React.useReducer(hackathonReducer, initialValue); + + // could set state to state from useReducer, but for some reason it sets eventTypes to an emtpy array, so I'm just directly setting state to initialValues + const value = { + state: state, + toggleStar: (event) => + dispatch({ + type: TOGGLE_STAR, + value: event, + }), + toggleIsStarSchedule: () => + dispatch({ + type: TOGGLE_STAR_SCHEDULE, + value: null, + }), + }; + + console.log("value", value, initialValue); + + return ( + + {children} + + ); +} diff --git a/state_management/index.js b/app/state/index.js similarity index 100% rename from state_management/index.js rename to app/state/index.js diff --git a/state_management/scavHunt/ScavHuntActionTypes.ts b/app/state/scavHunt/ScavHuntActionTypes.ts similarity index 100% rename from state_management/scavHunt/ScavHuntActionTypes.ts rename to app/state/scavHunt/ScavHuntActionTypes.ts diff --git a/state_management/scavHunt/ScavHuntReducer.ts b/app/state/scavHunt/ScavHuntReducer.ts similarity index 100% rename from state_management/scavHunt/ScavHuntReducer.ts rename to app/state/scavHunt/ScavHuntReducer.ts diff --git a/app/state/scavHunt/index.js b/app/state/scavHunt/index.js new file mode 100644 index 00000000..8ed5820d --- /dev/null +++ b/app/state/scavHunt/index.js @@ -0,0 +1,23 @@ +import React from "react"; +import { initialValue, scavHuntReducer } from "./ScavHuntReducer"; +import { COMPLETE_HINT } from "./ScavHuntActionTypes"; +import { ScavHuntContext } from "../context"; + +export default function ScavHuntProvider({ children }) { + const [state, dispatch] = React.useReducer(scavHuntReducer, initialValue); + + const value = { + state: state, + completeHint: (id) => + dispatch({ + type: COMPLETE_HINT, + value: id, + }), + }; + + return ( + + {children} + + ); +} diff --git a/state_management/theme/ThemeActionTypes.ts b/app/state/theme/ThemeActionTypes.ts similarity index 100% rename from state_management/theme/ThemeActionTypes.ts rename to app/state/theme/ThemeActionTypes.ts diff --git a/state_management/theme/ThemeReducer.js b/app/state/theme/ThemeReducer.js similarity index 100% rename from state_management/theme/ThemeReducer.js rename to app/state/theme/ThemeReducer.js diff --git a/app/state/theme/index.js b/app/state/theme/index.js new file mode 100644 index 00000000..0791296e --- /dev/null +++ b/app/state/theme/index.js @@ -0,0 +1,16 @@ +import React from "react"; +import { initialValue, themeReducer } from "./ThemeReducer"; +import {} from "./ThemeActionTypes"; +import { ThemeContext } from "../context"; + +export default function ThemeProvider({ children }) { + const [state, dispatch] = React.useReducer(themeReducer, initialValue); + + const value = { + state: state, + }; + + return ( + {children} + ); +} diff --git a/themes/index.js b/app/theme/index.js similarity index 100% rename from themes/index.js rename to app/theme/index.js diff --git a/yac/index.js b/app/yac/index.js similarity index 96% rename from yac/index.js rename to app/yac/index.js index cdacb781..bb9d9c65 100644 --- a/yac/index.js +++ b/app/yac/index.js @@ -3,7 +3,7 @@ const _logInteraction = async (hackathonName, type, userId, identifier) => { const prodUrl = "https://interactions.api.hexlabs.org/interactions"; const devUrl = "https://log.dev.hack.gt/log/interaction"; - const keys = require("../keys/keys.json"); + const keys = require("../../keys/keys.json"); const prodToken = keys.scavHunt; const devToken = "rangerover"; diff --git a/assets/AddToCalendarButton.svg b/assets/images/AddToCalendarButton.svg similarity index 100% rename from assets/AddToCalendarButton.svg rename to assets/images/AddToCalendarButton.svg diff --git a/assets/Back.svg b/assets/images/Back.svg similarity index 100% rename from assets/Back.svg rename to assets/images/Back.svg diff --git a/assets/ButtonBackground.svg b/assets/images/ButtonBackground.svg similarity index 100% rename from assets/ButtonBackground.svg rename to assets/images/ButtonBackground.svg diff --git a/assets/Cancel.svg b/assets/images/Cancel.svg similarity index 100% rename from assets/Cancel.svg rename to assets/images/Cancel.svg diff --git a/assets/ChevronUp.svg b/assets/images/ChevronUp.svg similarity index 100% rename from assets/ChevronUp.svg rename to assets/images/ChevronUp.svg diff --git a/assets/ContinueButton.svg b/assets/images/ContinueButton.svg similarity index 100% rename from assets/ContinueButton.svg rename to assets/images/ContinueButton.svg diff --git a/assets/CorrectAnswer.svg b/assets/images/CorrectAnswer.svg similarity index 100% rename from assets/CorrectAnswer.svg rename to assets/images/CorrectAnswer.svg diff --git a/assets/DismissModal.svg b/assets/images/DismissModal.svg similarity index 100% rename from assets/DismissModal.svg rename to assets/images/DismissModal.svg diff --git a/assets/FridayGradient.svg b/assets/images/FridayGradient.svg similarity index 100% rename from assets/FridayGradient.svg rename to assets/images/FridayGradient.svg diff --git a/assets/FridayGray.svg b/assets/images/FridayGray.svg similarity index 100% rename from assets/FridayGray.svg rename to assets/images/FridayGray.svg diff --git a/assets/GradientBackground.svg b/assets/images/GradientBackground.svg similarity index 100% rename from assets/GradientBackground.svg rename to assets/images/GradientBackground.svg diff --git a/assets/HackGTIcon.svg b/assets/images/HackGTIcon.svg similarity index 100% rename from assets/HackGTIcon.svg rename to assets/images/HackGTIcon.svg diff --git a/assets/HappeningNow.svg b/assets/images/HappeningNow.svg similarity index 100% rename from assets/HappeningNow.svg rename to assets/images/HappeningNow.svg diff --git a/assets/IncorrectAnswer.svg b/assets/images/IncorrectAnswer.svg similarity index 100% rename from assets/IncorrectAnswer.svg rename to assets/images/IncorrectAnswer.svg diff --git a/assets/Logo.png b/assets/images/Logo.png similarity index 100% rename from assets/Logo.png rename to assets/images/Logo.png diff --git a/assets/Logo.svg b/assets/images/Logo.svg similarity index 100% rename from assets/Logo.svg rename to assets/images/Logo.svg diff --git a/assets/LogoText.svg b/assets/images/LogoText.svg similarity index 100% rename from assets/LogoText.svg rename to assets/images/LogoText.svg diff --git a/assets/RemoveFromCalendarButton.svg b/assets/images/RemoveFromCalendarButton.svg similarity index 100% rename from assets/RemoveFromCalendarButton.svg rename to assets/images/RemoveFromCalendarButton.svg diff --git a/assets/SaturdayGradient.svg b/assets/images/SaturdayGradient.svg similarity index 100% rename from assets/SaturdayGradient.svg rename to assets/images/SaturdayGradient.svg diff --git a/assets/SaturdayGray.svg b/assets/images/SaturdayGray.svg similarity index 100% rename from assets/SaturdayGray.svg rename to assets/images/SaturdayGray.svg diff --git a/assets/Search.svg b/assets/images/Search.svg similarity index 100% rename from assets/Search.svg rename to assets/images/Search.svg diff --git a/assets/StarLargeOff.svg b/assets/images/StarLargeOff.svg similarity index 100% rename from assets/StarLargeOff.svg rename to assets/images/StarLargeOff.svg diff --git a/assets/StarLargeOn.svg b/assets/images/StarLargeOn.svg similarity index 100% rename from assets/StarLargeOn.svg rename to assets/images/StarLargeOn.svg diff --git a/assets/StarOff.svg b/assets/images/StarOff.svg similarity index 100% rename from assets/StarOff.svg rename to assets/images/StarOff.svg diff --git a/assets/StarOn.svg b/assets/images/StarOn.svg similarity index 100% rename from assets/StarOn.svg rename to assets/images/StarOn.svg diff --git a/assets/SundayGradient.svg b/assets/images/SundayGradient.svg similarity index 100% rename from assets/SundayGradient.svg rename to assets/images/SundayGradient.svg diff --git a/assets/SundayGray.svg b/assets/images/SundayGray.svg similarity index 100% rename from assets/SundayGray.svg rename to assets/images/SundayGray.svg diff --git a/assets/UnderlineGradient.svg b/assets/images/UnderlineGradient.svg similarity index 100% rename from assets/UnderlineGradient.svg rename to assets/images/UnderlineGradient.svg diff --git a/assets/X.svg b/assets/images/X.svg similarity index 100% rename from assets/X.svg rename to assets/images/X.svg diff --git a/firebase.js b/firebase.js new file mode 100644 index 00000000..42356f9c --- /dev/null +++ b/firebase.js @@ -0,0 +1,6 @@ +import { initializeApp } from "firebase/app"; + +export const app = initializeApp({ + apiKey: "AIzaSyCsukUZtMkI5FD_etGfefO4Sr7fHkZM7Rg", + authDomain: "auth.hexlabs.org", +}); diff --git a/index.js b/index.js index e7a29003..5b754de4 100644 --- a/index.js +++ b/index.js @@ -1,17 +1,5 @@ -/** - * @format - */ - -import {AppRegistry} from 'react-native'; -import App from './App'; -import {name as appName} from './app.json'; -import { initializeApp } from 'firebase/app'; - - -export const app = initializeApp({ - apiKey: "AIzaSyCsukUZtMkI5FD_etGfefO4Sr7fHkZM7Rg", - authDomain: "auth.hexlabs.org", -}); - +import { AppRegistry } from "react-native"; +import App from "./App"; +import { name as appName } from "./app.json"; AppRegistry.registerComponent(appName, () => App); diff --git a/info/InformationStackScreen.js b/info/InformationStackScreen.js deleted file mode 100644 index 74ac46b5..00000000 --- a/info/InformationStackScreen.js +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import { useDynamicStyleSheet } from "react-native-dark-mode"; - -import { InformationTab } from "./InformationTab"; -import { InformationStack } from "../stacks" -import { dynamicStyles } from "../themes"; - -import HackGTIcon from "../assets/HackGTIcon"; - -export default function InformationStackScreen({ navigation }) { - const dStyles = useDynamicStyleSheet(dynamicStyles); - return ( - - , - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - - ); -} \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock index aa85d304..8d55325c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -556,7 +556,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f + FBReactNativeSpec: f1c419fe650abad7add5d3dd7b5c2399aacf99d2 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -615,4 +615,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: e1f418a9f57dd614e87ed172b615b101271eb2d5 -COCOAPODS: 1.11.2 +COCOAPODS: 1.11.3 diff --git a/participantCheckin/CheckInStackScreen.js b/participantCheckin/CheckInStackScreen.js deleted file mode 100644 index 3d029ad4..00000000 --- a/participantCheckin/CheckInStackScreen.js +++ /dev/null @@ -1,35 +0,0 @@ -import React from "react"; -import { useDynamicStyleSheet } from "react-native-dark-mode"; - -import { CheckInTab } from "./CheckInTab"; -import { AuthContext } from "../context"; -import { CheckInStack } from "../stacks" -import { dynamicStyles } from "../themes"; -import CheckInProvider from "../state_management/checkIn"; -import HackGTIcon from "../assets/HackGTIcon"; - -export default function CheckInStackScreen({ navigation }) { - const dStyles = useDynamicStyleSheet(dynamicStyles); - return ( - - - {({ user }) => { - return ( - - , - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - - ) - }} - - - ); -} \ No newline at end of file diff --git a/participantCheckin/ScanScreen.js b/participantCheckin/ScanScreen.js deleted file mode 100644 index c23d125d..00000000 --- a/participantCheckin/ScanScreen.js +++ /dev/null @@ -1,42 +0,0 @@ -import React from "react"; -import { View, StyleSheet } from "react-native"; -import { ThemeContext } from "../context"; -import QRScan from "./QRScan" - -export function ScanScreen(props) { - return ( - - {({ dynamicStyles }) => (( - - - - - ))} - - ); -} - -const styles = StyleSheet.create({ - card: { - marginBottom: 10, - }, - - titleFont: { - fontSize: 16, - width: "90%", - fontWeight: "bold", - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - marginRight: 10, - }, - - subtitleFont: { - marginTop: 2, - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - }, - - wrappable: { - flexWrap: "wrap", - }, -}); diff --git a/scav_hunt/ScavHuntItem.js b/scav_hunt/ScavHuntItem.js deleted file mode 100644 index ee70a323..00000000 --- a/scav_hunt/ScavHuntItem.js +++ /dev/null @@ -1,196 +0,0 @@ -import React, { useRef, useState, useContext, useEffect } from "react"; - -import { - View, - StyleSheet, - Text, - TouchableOpacity, - TextInput, - Dimensions -} from "react-native"; -import { logInteraction } from "../yac"; -import AsyncStorage from "@react-native-community/async-storage"; -import RBSheet from "react-native-raw-bottom-sheet"; -import { ScavHuntContext } from "../context"; -import DismissModal from "../assets/DismissModal.svg"; -import CorrectAnswer from "../assets/CorrectAnswer.svg"; -import IncorrectAnswer from "../assets/IncorrectAnswer.svg"; - -export function ScavHuntItem(props) { - const { state, completeHint } = useContext(ScavHuntContext) - const sheetRef = useRef() - const item = props.route.params.item - const user = props.route.params.user - const isComplete = state.completedHints.includes(item.id) - const [modalVisible, setModalVisible] = useState(false) - const [answer, setAnswer] = useState(isComplete ? item.answer : '') - const [showAnswerStatus, setShowAnswerStatus] = useState(isComplete) - const [isAnswerCorrect, setIsAnswerCorrect] = useState(isComplete) - const answerStatus = () => { - console.log("answer status: ", showAnswerStatus, isAnswerCorrect) - if (showAnswerStatus) { - isAnswerCorrect ? : - } - } - console.log("woahhhhhh", props) - const sheetContent = () => ( - - { - setModalVisible(false) - sheetRef.current.close() - }}> - - - {'What\'s the answer?'} - - - { - // answerStatus() - showAnswerStatus ? - (isAnswerCorrect ? : ) : - null - } - - - { - isAnswerCorrect ? - {'Complete'} : - { - setShowAnswerStatus(true) - if (answer === item.answer) { - setIsAnswerCorrect(true) - completeHint(item.id) - console.log('itemID ', item.id) - AsyncStorage.setItem("completedHints", JSON.stringify(state.completedHints.concat([item.id]))) - logInteraction(props.route.params.hackathonName, 'scavengerHunt', user.userId, item.id) - } - }}> - {'Submit'} - - } - - ) - - const completed = () => { - if (props.isComplete) { - return ( - - {'Completed!'} - - ) - } - } - - return ( - <> - - - - {item.title} - { - completed() - } - - {item.hint} - { - setModalVisible(true) - sheetRef.current.open() - // sheetRef.current.snapTo(0) - }}> - {isComplete ? 'Completed!' : 'Input Answer'} - - - - - { sheetContent() } - - - ) -} - -const styles = StyleSheet.create({ - answerButton: { - marginTop: 32, - backgroundColor: '#5DBCD2', - alignItems: 'center', - borderRadius: 10 - }, - - answerButtonText: { - padding: 17, - fontFamily: 'SpaceMono-Bold', - color: 'white' - }, - - hintText: { - paddingTop: 4, - textAlign: "left", - fontFamily: "SpaceMono-Regular", - fontSize: 16, - letterSpacing: 0.005 - }, - - joinEvent: { - margin: 5, - borderRadius: 10, - borderWidth: 1, - flex: 0.5, - }, - - titleText: { - paddingTop: 5, - textAlign: "center", - fontFamily: "SpaceMono-Bold", - fontSize: 24, - letterSpacing: 0.005, - }, - - sheetStyle: { - flexDirection: 'column', - backgroundColor: 'white', - alignItems: 'center' - }, - - answerInputContainer: { - flexDirection: 'row', - alignItems: 'center', - backgroundColor: '#F3F3F3', - borderRadius: 5, - padding: 11, - width: Dimensions.get('window').width - 80 - }, - - answerInput: { - fontFamily: 'SpaceMono-Regular', - fontSize: 20, - borderRadius: 5, - padding: 11, - flex: 1 - }, - - completeText: { - fontFamily: "SpaceMono-Bold", - fontSize: 20, - marginTop: 32 - } -}); \ No newline at end of file diff --git a/scav_hunt/ScavengerHuntStackScreen.js b/scav_hunt/ScavengerHuntStackScreen.js deleted file mode 100644 index 57921789..00000000 --- a/scav_hunt/ScavengerHuntStackScreen.js +++ /dev/null @@ -1,56 +0,0 @@ -import React from "react"; -import { useDynamicStyleSheet } from "react-native-dark-mode"; -import { ScavHuntCrossword } from "./ScavHuntCrossword"; -import { ScavengerHuntTab } from "./ScavengerHuntTab"; -import { AuthContext } from "../context"; -import { ScavengerHuntStack } from "../stacks" -import { dynamicStyles } from "../themes"; -import ScavHuntProvider from "../state_management/scavHunt"; -import { ScavHuntItem } from "./ScavHuntItem"; -import HackGTIcon from "../assets/HackGTIcon"; - -export default function ScavengerHuntStackScreen({ navigation }) { - const dStyles = useDynamicStyleSheet(dynamicStyles); - return ( - - - {({ user }) => { - return ( - - , - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - , - headerStyle: dStyles.tabBarBackgroundColor, - headerLeft: null - }} - name="ScavHuntItem" - component={ScavHuntItem} - /> - , - headerStyle: dStyles.tabBarBackgroundColor, - headerLeft: null - }} - name="ScavHuntCrossword" - component={ScavHuntCrossword} - /> - - ) - }} - - - ); -} \ No newline at end of file diff --git a/schedule/ScheduleEventCell.js b/schedule/ScheduleEventCell.js deleted file mode 100644 index cd82cd77..00000000 --- a/schedule/ScheduleEventCell.js +++ /dev/null @@ -1,122 +0,0 @@ -import React, { Component, useState, useContext } from "react"; -import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; -import StarOff from "../assets/StarOff"; -import StarOn from "../assets/StarOn"; -import { HackathonContext, ThemeContext } from "../context"; -import { EventTypeView } from "./EventTypeView"; -import { Card } from "../components/Card"; - -export function ScheduleEventCell(props) { - const { state, toggleStar } = useContext(HackathonContext) - const [isStarred, setIsStarred] = useState(false) - - const event = props.event; - const eventType = - event != null && event.type != null - ? event.type - : { name: "none", color: "gray" }; - const title = event.name; - const location = - event != null && - event.location != null && - event.location[0] != null && - event.location[0].name != null - ? event.location[0].name + " • " - : ""; - const start = event.startTime; - const end = event.endTime; - return ( - - {({ dynamicStyles }) => { - const isStarred = state.starredIds.indexOf(event.id) != -1; - console.log('toggling star function: ', toggleStar) - return ( - - - - {title} - - { console.log('toggling star pressed', event.id);toggleStar(event)}} - > - {isStarred ? ( - - ) : ( - - )} - - - - - {location} - {start} - {end} - - - - - {event.tags && - event.tags.map((tag) => ( - - {tag.name} - - ))} - - - ); - }} - - ); -} - -const styles = StyleSheet.create({ - titleHeader: { - flexDirection: "row", - width: "100%", - letterSpacing: 0.005, - }, - - titleFont: { - fontSize: 16, - width: "90%", - fontWeight: "bold", - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - marginRight: 10, - }, - - subtitleFont: { - marginTop: 2, - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - }, - - tagFont: { - marginTop: 2, - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - marginTop: -0.2, - marginLeft: 8, - }, - - wrappable: { - flexWrap: "wrap", - }, -}); diff --git a/schedule/ScheduleStackScreen.js b/schedule/ScheduleStackScreen.js deleted file mode 100644 index f914dfcf..00000000 --- a/schedule/ScheduleStackScreen.js +++ /dev/null @@ -1,69 +0,0 @@ -import React, { useContext } from "react"; -import { TouchableOpacity } from "react-native-gesture-handler"; -import { View } from "react-native"; -import { useDynamicStyleSheet } from "react-native-dark-mode"; - -import { ScheduleSearch } from "./ScheduleSearch"; -import { ScheduleTab } from "./ScheduleTab"; -import { HackathonContext } from "../context"; -import { ScheduleStack } from "../stacks" -import { dynamicStyles } from "../themes"; - -import SearchIcon from "../assets/Search"; -import StarOnIcon from "../assets/StarLargeOn"; -import StarOffIcon from "../assets/StarLargeOff"; -import HackGTIcon from "../assets/HackGTIcon"; - -export default function ScheduleStackScreen({ navigation }) { - const { state, toggleIsStarSchedule } = useContext(HackathonContext) - const dStyles = useDynamicStyleSheet(dynamicStyles) - return ( - - , - headerRight: () => ( - - - {state.isStarSchedule ? ( - - ) : ( - - )} - - { - navigation.navigate("ScheduleSearch"); - }} - > - - - - ), - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - - - - ); -} \ No newline at end of file diff --git a/stacks/index.js b/stacks/index.js deleted file mode 100644 index 690d6d52..00000000 --- a/stacks/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import { createStackNavigator } from "@react-navigation/stack"; - -export { default as ScheduleStackScreen } from "../schedule/ScheduleStackScreen"; -export { default as InformationStackScreen } from "../info/InformationStackScreen"; -export { default as ScavengerHuntStackScreen } from "../scav_hunt/ScavengerHuntStackScreen"; -export { default as CheckInStackScreen } from "../participantCheckin/CheckInStackScreen"; - -export const ScheduleStack = createStackNavigator(); -export const InformationStack = createStackNavigator(); -export const ScavengerHuntStack = createStackNavigator(); -export const CheckInStack = createStackNavigator(); diff --git a/state_management/auth/index.js b/state_management/auth/index.js deleted file mode 100644 index 450f02eb..00000000 --- a/state_management/auth/index.js +++ /dev/null @@ -1,62 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { initialValue, authReducer } from './AuthReducer' -import { } from "./AuthActionTypes"; -import { AuthContext } from '../../context' -import { onAuthStateChanged } from "firebase/auth"; -import { app } from '../..'; -import { getAuth } from 'firebase/auth' - - -export default function AuthProvider({ children }) { - const auth = getAuth(app) - - const [firebaseUser, setFirebaseUser] = useState(null); - const [loading, setLoading] = useState(true); - const [showLogin, setShowLogin] = useState(true); - const [user, setUser] = useState(null); - - const usersUrl = 'https://users.api.hexlabs.org' - - useEffect(() => { - const unsubAuth = onAuthStateChanged(auth, async (fUser) => { - if (fUser) { - setLoading(true) - console.log('FIRUser:', fUser) - await fetchUserDetails(fUser) - setShowLogin(false) - setLoading(false) - setFirebaseUser(fUser) - } else { - setShowLogin(true) - setLoading(false) - } - }) - return unsubAuth - }, []) - - const fetchUserDetails = async (fUser) => { - const token = await fUser.getIdToken() - const response = await fetch(`${usersUrl + '/users/' + fUser.uid}/`, { - method: "GET", - headers: { - Authorization: "Bearer " + token, - } - }) - const json = await response.json() - console.log('userJson: ', json) - setUser(json) - } - - const value = { - firebaseUser: firebaseUser, - loading: loading, - showLogin: showLogin, - user: user - } - - return ( - - {children} - - ) -} \ No newline at end of file diff --git a/state_management/checkIn/index.js b/state_management/checkIn/index.js deleted file mode 100644 index b9c7289c..00000000 --- a/state_management/checkIn/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react' -import { initialValue, checkInReducer } from './CheckInReducer' -import { } from "./CheckInActionTypes"; -import { CheckInContext } from '../../context' - -export default function CheckInProvider({ children }) { - - const [state, dispatch] = React.useReducer(checkInReducer, initialValue) - - const value = { - state: state - } - - return ( - - {children} - - ) -} \ No newline at end of file diff --git a/state_management/hackathon/index.js b/state_management/hackathon/index.js deleted file mode 100644 index e2e03347..00000000 --- a/state_management/hackathon/index.js +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react' -import { hackathonReducer } from './HackathonReducer' -import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE } from "./HackathonActionTypes"; -import { HackathonContext } from '../../context' - -export default function HackathonProvider({ initialValue, children }) { - - const [state, dispatch] = React.useReducer(hackathonReducer, initialValue) - - // could set state to state from useReducer, but for some reason it sets eventTypes to an emtpy array, so I'm just directly setting state to initialValues - const value = { - state: state, - toggleStar: (event) => dispatch({ - type: TOGGLE_STAR, - value: event - }), - toggleIsStarSchedule: () => dispatch({ - type: TOGGLE_STAR_SCHEDULE, - value: null - }) - } - - console.log('value', value, initialValue) - - return ( - - {children} - - ) -} diff --git a/state_management/scavHunt/index.js b/state_management/scavHunt/index.js deleted file mode 100644 index 02af2837..00000000 --- a/state_management/scavHunt/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react' -import { initialValue, scavHuntReducer } from './ScavHuntReducer' -import { COMPLETE_HINT } from "./ScavHuntActionTypes"; -import { ScavHuntContext } from '../../context' - -export default function ScavHuntProvider({ children }) { - - const [state, dispatch] = React.useReducer(scavHuntReducer, initialValue) - - const value = { - state: state, - completeHint: (id) => dispatch({ - type: COMPLETE_HINT, - value: id - }) - } - - return ( - - { children } - - ) -} \ No newline at end of file diff --git a/state_management/theme/index.js b/state_management/theme/index.js deleted file mode 100644 index 8a3b7665..00000000 --- a/state_management/theme/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react' -import { initialValue, themeReducer } from './ThemeReducer' -import { } from "./ThemeActionTypes"; -import { ThemeContext } from '../../context' - -export default function ThemeProvider({ children }) { - - const [state, dispatch] = React.useReducer(themeReducer, initialValue) - - const value = { - state: state - } - - return ( - - {children} - - ) -} From 2d0778dcb8246867b09492bd63fb1713e7548b33 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 30 Sep 2022 02:42:57 -0400 Subject: [PATCH 044/102] Move theme to separate context --- App.js | 18 ++++------- app/components/Card.js | 2 +- app/components/FilterSelect.js | 3 +- app/components/FontMarkdown.js | 2 +- app/components/GradientButton.js | 2 +- app/components/SplashScreen.js | 2 +- app/components/TagScrollView.js | 2 +- app/contexts/ThemeContext.js | 30 +++++++++++++++++++ app/features/checkin/CheckInTab.js | 2 +- app/features/checkin/EventSel.js | 2 +- app/features/checkin/QRScan.js | 2 +- app/features/checkin/ScanScreen.js | 2 +- app/features/checkin/SearchComponent.js | 2 +- app/features/information/InformationTab.js | 3 +- app/features/onboarding/ContentInfo.js | 2 +- app/features/onboarding/EventOnboarding.js | 7 ++--- app/features/onboarding/LoginOnboarding.js | 2 +- .../scavengerHunt/ScavengerHuntTab.js | 7 ++--- app/features/schedule/EventBottomSheet.js | 3 +- app/features/schedule/ScheduleDayView.js | 2 +- app/features/schedule/ScheduleEventCell.js | 3 +- app/features/schedule/ScheduleSearch.js | 3 +- app/features/schedule/ScheduleTab.js | 4 +-- app/state/context.js | 1 - app/state/index.js | 3 +- app/state/theme/ThemeActionTypes.ts | 0 app/state/theme/ThemeReducer.js | 12 -------- app/state/theme/index.js | 16 ---------- 28 files changed, 65 insertions(+), 74 deletions(-) create mode 100644 app/contexts/ThemeContext.js delete mode 100644 app/state/theme/ThemeActionTypes.ts delete mode 100644 app/state/theme/ThemeReducer.js delete mode 100644 app/state/theme/index.js diff --git a/App.js b/App.js index be764ecf..8e41c0c9 100644 --- a/App.js +++ b/App.js @@ -3,11 +3,7 @@ import React, { useState, useEffect } from "react"; import { WebView } from "react-native-webview"; import UserAgent from "react-native-user-agent"; import { fetchHackathonData } from "./app/cms"; -import { - HackathonContext, - AuthContext, - ThemeContext, -} from "./app/state/context"; +import { HackathonContext, AuthContext } from "./app/state/context"; import { StatusBar, Modal, SafeAreaView, Platform, View } from "react-native"; import { LoginOnboarding } from "./app/features/onboarding/LoginOnboarding"; import SplashScreen from "./app/components/SplashScreen"; @@ -40,7 +36,8 @@ import { ScavengerHuntStackScreen, CheckInStackScreen, } from "./app/navigation"; -import { ThemeProvider, HackathonProvider, AuthProvider } from "./app/state"; +import { HackathonProvider, AuthProvider } from "./app/state"; +import { ThemeProvider } from "./app/contexts/ThemeContext"; // old groundtruth auth // const authUrl = "https://login.hack.gt"; @@ -282,12 +279,7 @@ function App(props) { return ( - + {({ loading, showLogin, user }) => { // until app is done loading data, show the splash screen @@ -415,7 +407,7 @@ function App(props) { ); }} - + ); } diff --git a/app/components/Card.js b/app/components/Card.js index 624beb79..d110c7e7 100644 --- a/app/components/Card.js +++ b/app/components/Card.js @@ -1,6 +1,6 @@ import React from "react"; import { View, StyleSheet } from "react-native"; -import { ThemeContext } from "../state/context"; +import { ThemeContext } from "../contexts/ThemeContext"; export function Card(props) { const createCardStyle = (dynamicStyles) => { diff --git a/app/components/FilterSelect.js b/app/components/FilterSelect.js index 0952ca4c..ef72c7ed 100644 --- a/app/components/FilterSelect.js +++ b/app/components/FilterSelect.js @@ -1,6 +1,7 @@ import { StyleSheet, View, Text } from "react-native"; import React, { useState, useContext } from "react"; -import { ThemeContext, HackathonContext } from "../state/context"; +import { HackathonContext } from "../state/context"; +import { ThemeContext } from "../contexts/ThemeContext"; import { TouchableOpacity } from "react-native-gesture-handler"; export default function FilterSelect(props) { diff --git a/app/components/FontMarkdown.js b/app/components/FontMarkdown.js index c39c3daf..5c830675 100644 --- a/app/components/FontMarkdown.js +++ b/app/components/FontMarkdown.js @@ -1,7 +1,7 @@ import { StyleSheet } from "react-native"; import React from "react"; import Markdown from "react-native-markdown-renderer"; -import { ThemeContext } from "../state/context"; +import { ThemeContext } from "../contexts/ThemeContext"; export default function FontMarkdown(props) { const createStyles = (dynamicStyles) => { diff --git a/app/components/GradientButton.js b/app/components/GradientButton.js index 33ed8329..39e49da7 100644 --- a/app/components/GradientButton.js +++ b/app/components/GradientButton.js @@ -1,6 +1,6 @@ import React from "react"; import { StyleSheet, TouchableOpacity, Text } from "react-native"; -import { ThemeContext } from "../state/context"; +import { ThemeContext } from "../contexts/ThemeContext"; import ButtonBackground from "../../assets/images/ButtonBackground"; export function GradientButton(props) { diff --git a/app/components/SplashScreen.js b/app/components/SplashScreen.js index a975ccfe..7abc0ef4 100644 --- a/app/components/SplashScreen.js +++ b/app/components/SplashScreen.js @@ -1,7 +1,7 @@ import React, { useEffect } from "react"; import { Animated, Easing } from "react-native"; import HackGTIcon from "../../assets/images/Logo"; -import { ThemeContext } from "../state/context"; +import { ThemeContext } from "../contexts/ThemeContext"; export default function SplashScreen(props) { const opacity = new Animated.Value(0); diff --git a/app/components/TagScrollView.js b/app/components/TagScrollView.js index f1d07b91..cc5d07c9 100644 --- a/app/components/TagScrollView.js +++ b/app/components/TagScrollView.js @@ -1,5 +1,5 @@ import React from "react"; -import { ThemeContext } from "../state/context"; +import { ThemeContext } from "../contexts/ThemeContext"; import { Text, ScrollView, diff --git a/app/contexts/ThemeContext.js b/app/contexts/ThemeContext.js new file mode 100644 index 00000000..9be8675b --- /dev/null +++ b/app/contexts/ThemeContext.js @@ -0,0 +1,30 @@ +import React, { useMemo } from "react"; +import { + useDarkModeContext, + useDynamicStyleSheet, +} from "react-native-dark-mode"; +import { dynamicStyles } from "../theme"; + +const ThemeContext = React.createContext({ + theme: "light", + dynamicStyles: dynamicStyles, +}); + +const ThemeProvider = ({ children }) => { + const mode = useDarkModeContext(); + const styles = useDynamicStyleSheet(dynamicStyles); + + const value = useMemo( + () => ({ + theme: mode, + dynamicStyles: styles, + }), + [mode, styles] + ); + + return ( + {children} + ); +}; + +export { ThemeContext, ThemeProvider }; diff --git a/app/features/checkin/CheckInTab.js b/app/features/checkin/CheckInTab.js index 67f1c0e7..d40ad39c 100644 --- a/app/features/checkin/CheckInTab.js +++ b/app/features/checkin/CheckInTab.js @@ -9,7 +9,7 @@ import { Button, Pressable, } from "react-native"; -import { ThemeContext } from "../../state/context"; +import { ThemeContext } from "../../contexts/ThemeContext"; import { EventSel } from "./EventSel"; import { ScanScreen } from "./ScanScreen"; import SearchIcon from "../../../assets/images/Search"; diff --git a/app/features/checkin/EventSel.js b/app/features/checkin/EventSel.js index b2f07e09..1af2e034 100644 --- a/app/features/checkin/EventSel.js +++ b/app/features/checkin/EventSel.js @@ -1,6 +1,6 @@ import React, { Component } from "react"; import { Text, View, StyleSheet } from "react-native"; -import { ThemeContext } from "../../state/context"; +import { ThemeContext } from "../../contexts/ThemeContext"; import { Card } from "../../components/Card"; export function EventSel(props) { diff --git a/app/features/checkin/QRScan.js b/app/features/checkin/QRScan.js index 8a74c5b3..5f1c5f27 100644 --- a/app/features/checkin/QRScan.js +++ b/app/features/checkin/QRScan.js @@ -8,7 +8,7 @@ import { request, PERMISSIONS } from "react-native-permissions"; import { logInteraction } from "../../yac"; import { HackathonContext, ScavHuntContext } from "../../state/context"; import { dynamicStyles } from "../../theme"; -import { ThemeContext } from "../../state/context"; +import { ThemeContext } from "../../contexts/ThemeContext"; function QRScan(props) { const { hackathon } = useContext(HackathonContext); diff --git a/app/features/checkin/ScanScreen.js b/app/features/checkin/ScanScreen.js index e8bde3de..96b1eceb 100644 --- a/app/features/checkin/ScanScreen.js +++ b/app/features/checkin/ScanScreen.js @@ -1,6 +1,6 @@ import React from "react"; import { View, StyleSheet } from "react-native"; -import { ThemeContext } from "../../state/context"; +import { ThemeContext } from "../../contexts/ThemeContext"; import QRScan from "./QRScan"; export function ScanScreen(props) { diff --git a/app/features/checkin/SearchComponent.js b/app/features/checkin/SearchComponent.js index b60afbd9..d4ff2dd9 100644 --- a/app/features/checkin/SearchComponent.js +++ b/app/features/checkin/SearchComponent.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { ThemeContext } from "../context"; +import { ThemeContext } from "../contexts/ThemeContext"; import { SearchBar } from "react-native-elements"; import { View, StyleSheet } from "react-native"; import SearchIcon from "../../assets/images/Search"; diff --git a/app/features/information/InformationTab.js b/app/features/information/InformationTab.js index ddb3bb93..acc92057 100644 --- a/app/features/information/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -8,10 +8,11 @@ import { ScrollView, Alert, } from "react-native"; -import { HackathonContext, ThemeContext } from "../../state/context"; +import { HackathonContext } from "../../state/context"; import { Card } from "../../components/Card"; import { Linking } from "react-native"; import FontMarkdown from "../../components/FontMarkdown"; +import { ThemeContext } from "../../contexts/ThemeContext"; export function InformationTab(props) { const { state } = useContext(HackathonContext); diff --git a/app/features/onboarding/ContentInfo.js b/app/features/onboarding/ContentInfo.js index 9d6bdf19..82e4d0f3 100644 --- a/app/features/onboarding/ContentInfo.js +++ b/app/features/onboarding/ContentInfo.js @@ -1,7 +1,7 @@ import React, { Component } from "react"; import { Text, View, StyleSheet } from "react-native"; import Logo from "../../../assets/images/Logo"; -import { ThemeContext } from "../../state/context"; +import { ThemeContext } from "../../contexts/ThemeContext"; export function ContentInfo(props) { return ( diff --git a/app/features/onboarding/EventOnboarding.js b/app/features/onboarding/EventOnboarding.js index 035af0bd..734e4691 100644 --- a/app/features/onboarding/EventOnboarding.js +++ b/app/features/onboarding/EventOnboarding.js @@ -19,11 +19,8 @@ import BackButton from "../../../assets/images/Back"; import ContinueButton from "../../../assets/images/ContinueButton"; import QRCode from "react-native-qrcode-svg"; import { Linking } from "react-native"; -import { - AuthContext, - HackathonContext, - ThemeContext, -} from "../../state/context"; +import { AuthContext, HackathonContext } from "../../state/context"; +import { ThemeContext } from "../../contexts/ThemeContext"; export function EventOnboarding(props) { const { state } = useContext(HackathonContext); diff --git a/app/features/onboarding/LoginOnboarding.js b/app/features/onboarding/LoginOnboarding.js index a4455fe2..685bc370 100644 --- a/app/features/onboarding/LoginOnboarding.js +++ b/app/features/onboarding/LoginOnboarding.js @@ -9,7 +9,7 @@ import LogoText from "../../../assets/images/LogoText"; import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; import { faUsers, faCalendarCheck } from "@fortawesome/free-solid-svg-icons"; import { ContentInfo } from "./ContentInfo"; -import { AuthContext, ThemeContext } from "../../state/context"; +import { ThemeContext } from "../../contexts/ThemeContext"; import { GradientButton } from "../../components/GradientButton"; import { app } from "../../../firebase"; diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index 09dc62f9..163c960e 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -10,14 +10,11 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; import { faLock } from "@fortawesome/free-solid-svg-icons"; import AsyncStorage from "@react-native-community/async-storage"; -import { - HackathonContext, - ThemeContext, - ScavHuntContext, -} from "../../state/context"; +import { HackathonContext, ScavHuntContext } from "../../state/context"; import { fetchServerTime } from "../../cms"; import moment from "moment-timezone"; import QRCode from "react-native-qrcode-svg"; +import { ThemeContext } from "../../contexts/ThemeContext"; export function ScavengerHuntTab(props) { const { state, completeHint } = useContext(ScavHuntContext); diff --git a/app/features/schedule/EventBottomSheet.js b/app/features/schedule/EventBottomSheet.js index 1f3195ec..0ef3d4ba 100644 --- a/app/features/schedule/EventBottomSheet.js +++ b/app/features/schedule/EventBottomSheet.js @@ -5,9 +5,10 @@ import RBSheet from "react-native-raw-bottom-sheet"; import X from "../../../assets/images/X"; import RemoveStarButton from "../../../assets/images/RemoveFromCalendarButton"; import AddStarButton from "../../../assets/images/AddToCalendarButton"; -import { HackathonContext, ThemeContext } from "../../state/context"; +import { HackathonContext } from "../../state/context"; import FontMarkdown from "../../components/FontMarkdown"; import { Linking } from "react-native"; +import { ThemeContext } from "../../contexts/ThemeContext"; export function EventBottomSheet(props) { const { state, toggleStar } = useContext(HackathonContext); diff --git a/app/features/schedule/ScheduleDayView.js b/app/features/schedule/ScheduleDayView.js index 6a769d31..eb758d99 100644 --- a/app/features/schedule/ScheduleDayView.js +++ b/app/features/schedule/ScheduleDayView.js @@ -7,7 +7,7 @@ import { StyleSheet, FlatList, } from "react-native"; -import { ThemeContext } from "../../state/context"; +import { ThemeContext } from "../../contexts/ThemeContext"; import { ScheduleEventCell } from "./ScheduleEventCell"; import Svg, { Circle } from "react-native-svg"; import { Dimensions } from "react-native"; diff --git a/app/features/schedule/ScheduleEventCell.js b/app/features/schedule/ScheduleEventCell.js index a7b687c8..9efb80a3 100644 --- a/app/features/schedule/ScheduleEventCell.js +++ b/app/features/schedule/ScheduleEventCell.js @@ -2,9 +2,10 @@ import React, { Component, useState, useContext } from "react"; import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; import StarOff from "../../../assets/images/StarOff"; import StarOn from "../../../assets/images/StarOn"; -import { HackathonContext, ThemeContext } from "../../state/context"; +import { HackathonContext } from "../../state/context"; import { EventTypeView } from "./EventTypeView"; import { Card } from "../../components/Card"; +import { ThemeContext } from "../../contexts/ThemeContext"; export function ScheduleEventCell(props) { const { state, toggleStar } = useContext(HackathonContext); diff --git a/app/features/schedule/ScheduleSearch.js b/app/features/schedule/ScheduleSearch.js index 36a56cde..897e2879 100644 --- a/app/features/schedule/ScheduleSearch.js +++ b/app/features/schedule/ScheduleSearch.js @@ -1,5 +1,5 @@ import React, { useState, useContext, useRef } from "react"; -import { HackathonContext, ThemeContext } from "../../state/context"; +import { HackathonContext } from "../../state/context"; import { getEventsForDay, getDaysForEvent } from "../../cms/DataHandler"; import { SearchBar } from "react-native-elements"; import { @@ -16,6 +16,7 @@ import { ScheduleEventCell } from "./ScheduleEventCell"; import { EventBottomSheet } from "./EventBottomSheet"; import FilterSelect from "../../components/FilterSelect"; import TagScrollView from "../../components/TagScrollView"; +import { ThemeContext } from "../../contexts/ThemeContext"; export function ScheduleSearch(props) { const { state } = useContext(HackathonContext); diff --git a/app/features/schedule/ScheduleTab.js b/app/features/schedule/ScheduleTab.js index b1386bbe..b3419316 100644 --- a/app/features/schedule/ScheduleTab.js +++ b/app/features/schedule/ScheduleTab.js @@ -8,12 +8,12 @@ import { AppState, Text, } from "react-native"; -import { HackathonContext, ThemeContext } from "../../state/context"; +import { HackathonContext } from "../../state/context"; import WhatsHappeningNow from "../../../assets/images/HappeningNow"; import { ScheduleEventCell } from "./ScheduleEventCell"; import { ScheduleDayView } from "./ScheduleDayView"; import { EventBottomSheet } from "./EventBottomSheet"; - +import { ThemeContext } from "../../contexts/ThemeContext"; import { getEventsHappeningNow, getDaysForEvent, diff --git a/app/state/context.js b/app/state/context.js index a740c907..25268410 100644 --- a/app/state/context.js +++ b/app/state/context.js @@ -2,6 +2,5 @@ import React from "react"; export const HackathonContext = React.createContext(); export const AuthContext = React.createContext(); -export const ThemeContext = React.createContext(); export const ScavHuntContext = React.createContext(); export const CheckInContext = React.createContext(); diff --git a/app/state/index.js b/app/state/index.js index c75bc360..83038d6a 100644 --- a/app/state/index.js +++ b/app/state/index.js @@ -1,5 +1,4 @@ -export { default as ThemeProvider } from "./theme"; export { default as ScavHuntProvider } from "./scavHunt"; export { default as HackathonProvider } from "./hackathon"; export { default as CheckInProvider } from "./checkIn"; -export { default as AuthProvider } from "./auth"; \ No newline at end of file +export { default as AuthProvider } from "./auth"; diff --git a/app/state/theme/ThemeActionTypes.ts b/app/state/theme/ThemeActionTypes.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/app/state/theme/ThemeReducer.js b/app/state/theme/ThemeReducer.js deleted file mode 100644 index 98f7f1e5..00000000 --- a/app/state/theme/ThemeReducer.js +++ /dev/null @@ -1,12 +0,0 @@ -import { } from './ThemeActionTypes' - -export const initialValue = { - -} - -export function themeReducer(state, action) { - switch (action.type) { - default: - return state - } -} diff --git a/app/state/theme/index.js b/app/state/theme/index.js deleted file mode 100644 index 0791296e..00000000 --- a/app/state/theme/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from "react"; -import { initialValue, themeReducer } from "./ThemeReducer"; -import {} from "./ThemeActionTypes"; -import { ThemeContext } from "../context"; - -export default function ThemeProvider({ children }) { - const [state, dispatch] = React.useReducer(themeReducer, initialValue); - - const value = { - state: state, - }; - - return ( - {children} - ); -} From 439916a776c638ea42d94f45345c3acf19b8dcbd Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 30 Sep 2022 02:52:19 -0400 Subject: [PATCH 045/102] Update auth context and simplify --- App.js | 8 ++- .../auth/index.js => contexts/AuthContext.js} | 64 ++++++++++--------- app/features/checkin/CheckInStackScreen.js | 2 +- app/features/onboarding/EventOnboarding.js | 3 +- .../scavengerHunt/ScavengerHuntStackScreen.js | 2 +- app/state/auth/AuthActionTypes.ts | 0 app/state/auth/AuthReducer.js | 12 ---- app/state/context.js | 1 - app/state/index.js | 1 - 9 files changed, 43 insertions(+), 50 deletions(-) rename app/{state/auth/index.js => contexts/AuthContext.js} (59%) delete mode 100644 app/state/auth/AuthActionTypes.ts delete mode 100644 app/state/auth/AuthReducer.js diff --git a/App.js b/App.js index 8e41c0c9..b9df5282 100644 --- a/App.js +++ b/App.js @@ -3,7 +3,7 @@ import React, { useState, useEffect } from "react"; import { WebView } from "react-native-webview"; import UserAgent from "react-native-user-agent"; import { fetchHackathonData } from "./app/cms"; -import { HackathonContext, AuthContext } from "./app/state/context"; +import { HackathonContext } from "./app/state/context"; import { StatusBar, Modal, SafeAreaView, Platform, View } from "react-native"; import { LoginOnboarding } from "./app/features/onboarding/LoginOnboarding"; import SplashScreen from "./app/components/SplashScreen"; @@ -36,8 +36,10 @@ import { ScavengerHuntStackScreen, CheckInStackScreen, } from "./app/navigation"; -import { HackathonProvider, AuthProvider } from "./app/state"; +import { HackathonProvider } from "./app/state"; import { ThemeProvider } from "./app/contexts/ThemeContext"; +import { AuthProvider, AuthContext } from "./app/contexts/AuthContext"; +import { app } from "./firebase"; // old groundtruth auth // const authUrl = "https://login.hack.gt"; @@ -278,7 +280,7 @@ function App(props) { ); return ( - + {({ loading, showLogin, user }) => { diff --git a/app/state/auth/index.js b/app/contexts/AuthContext.js similarity index 59% rename from app/state/auth/index.js rename to app/contexts/AuthContext.js index c6721249..e5a864da 100644 --- a/app/state/auth/index.js +++ b/app/contexts/AuthContext.js @@ -1,23 +1,34 @@ -import React, { useState, useEffect } from "react"; -import { initialValue, authReducer } from "./AuthReducer"; -import {} from "./AuthActionTypes"; -import { AuthContext } from "../context"; +import React, { useMemo, useState, useEffect } from "react"; import { onAuthStateChanged } from "firebase/auth"; -import { app } from "../../../firebase"; import { getAuth } from "firebase/auth"; -export default function AuthProvider({ children }) { - const auth = getAuth(app); +const AuthContext = React.createContext(); + +const USERS_URL = "https://users.api.hexlabs.org"; + +const AuthProvider = ({ app, children }) => { + const auth = useMemo(() => getAuth(app), [app]); const [firebaseUser, setFirebaseUser] = useState(null); const [loading, setLoading] = useState(true); const [showLogin, setShowLogin] = useState(true); const [user, setUser] = useState(null); - const usersUrl = "https://users.api.hexlabs.org"; + const fetchUserDetails = async (fUser) => { + const token = await fUser.getIdToken(); + const response = await fetch(`${USERS_URL + "/users/" + fUser.uid}/`, { + method: "GET", + headers: { + Authorization: "Bearer " + token, + }, + }); + const json = await response.json(); + console.log("userJson: ", json); + setUser(json); + }; useEffect(() => { - const unsubAuth = onAuthStateChanged(auth, async (fUser) => { + const unsubscribe = onAuthStateChanged(auth, async (fUser) => { if (fUser) { setLoading(true); console.log("FIRUser:", fUser); @@ -30,28 +41,21 @@ export default function AuthProvider({ children }) { setLoading(false); } }); - return unsubAuth; - }, []); - const fetchUserDetails = async (fUser) => { - const token = await fUser.getIdToken(); - const response = await fetch(`${usersUrl + "/users/" + fUser.uid}/`, { - method: "GET", - headers: { - Authorization: "Bearer " + token, - }, - }); - const json = await response.json(); - console.log("userJson: ", json); - setUser(json); - }; + return unsubscribe; + }, [auth]); - const value = { - firebaseUser: firebaseUser, - loading: loading, - showLogin: showLogin, - user: user, - }; + const value = useMemo( + () => ({ + firebaseUser: firebaseUser, + loading: loading, + showLogin: showLogin, + user: user, + }), + [firebaseUser, loading, showLogin, user] + ); return {children}; -} +}; + +export { AuthContext, AuthProvider }; diff --git a/app/features/checkin/CheckInStackScreen.js b/app/features/checkin/CheckInStackScreen.js index f5b94093..ca076a06 100644 --- a/app/features/checkin/CheckInStackScreen.js +++ b/app/features/checkin/CheckInStackScreen.js @@ -2,11 +2,11 @@ import React from "react"; import { useDynamicStyleSheet } from "react-native-dark-mode"; import { CheckInTab } from "./CheckInTab"; -import { AuthContext } from "../../state/context"; import { CheckInStack } from "../../navigation"; import { dynamicStyles } from "../../theme"; import CheckInProvider from "../../state/checkIn"; import HackGTIcon from "../../../assets/images/HackGTIcon"; +import { AuthContext } from "../../contexts/AuthContext"; export default function CheckInStackScreen({ navigation }) { const dStyles = useDynamicStyleSheet(dynamicStyles); diff --git a/app/features/onboarding/EventOnboarding.js b/app/features/onboarding/EventOnboarding.js index 734e4691..2ea1c6b1 100644 --- a/app/features/onboarding/EventOnboarding.js +++ b/app/features/onboarding/EventOnboarding.js @@ -19,8 +19,9 @@ import BackButton from "../../../assets/images/Back"; import ContinueButton from "../../../assets/images/ContinueButton"; import QRCode from "react-native-qrcode-svg"; import { Linking } from "react-native"; -import { AuthContext, HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/context"; import { ThemeContext } from "../../contexts/ThemeContext"; +import { AuthContext } from "../../contexts/AuthContext"; export function EventOnboarding(props) { const { state } = useContext(HackathonContext); diff --git a/app/features/scavengerHunt/ScavengerHuntStackScreen.js b/app/features/scavengerHunt/ScavengerHuntStackScreen.js index fc8d4682..f36c67c2 100644 --- a/app/features/scavengerHunt/ScavengerHuntStackScreen.js +++ b/app/features/scavengerHunt/ScavengerHuntStackScreen.js @@ -2,12 +2,12 @@ import React from "react"; import { useDynamicStyleSheet } from "react-native-dark-mode"; import { ScavHuntCrossword } from "./ScavHuntCrossword"; import { ScavengerHuntTab } from "./ScavengerHuntTab"; -import { AuthContext } from "../../state/context"; import { ScavengerHuntStack } from "../../navigation"; import { dynamicStyles } from "../../theme"; import ScavHuntProvider from "../../state/scavHunt"; import { ScavHuntItem } from "./ScavHuntItem"; import HackGTIcon from "../../../assets/images/HackGTIcon"; +import { AuthContext } from "../../contexts/AuthContext"; export default function ScavengerHuntStackScreen({ navigation }) { const dStyles = useDynamicStyleSheet(dynamicStyles); diff --git a/app/state/auth/AuthActionTypes.ts b/app/state/auth/AuthActionTypes.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/app/state/auth/AuthReducer.js b/app/state/auth/AuthReducer.js deleted file mode 100644 index 2f6fcc30..00000000 --- a/app/state/auth/AuthReducer.js +++ /dev/null @@ -1,12 +0,0 @@ -import { } from './AuthActionTypes' - -export const initialValue = { - -} - -export function authReducer(state, action) { - switch (action.type) { - default: - return state - } -} diff --git a/app/state/context.js b/app/state/context.js index 25268410..ad3117ea 100644 --- a/app/state/context.js +++ b/app/state/context.js @@ -1,6 +1,5 @@ import React from "react"; export const HackathonContext = React.createContext(); -export const AuthContext = React.createContext(); export const ScavHuntContext = React.createContext(); export const CheckInContext = React.createContext(); diff --git a/app/state/index.js b/app/state/index.js index 83038d6a..f50355f5 100644 --- a/app/state/index.js +++ b/app/state/index.js @@ -1,4 +1,3 @@ export { default as ScavHuntProvider } from "./scavHunt"; export { default as HackathonProvider } from "./hackathon"; export { default as CheckInProvider } from "./checkIn"; -export { default as AuthProvider } from "./auth"; From 6e01e3b2aa8e9833f11f3326136fe14dd000ebeb Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 30 Sep 2022 02:54:22 -0400 Subject: [PATCH 046/102] Remove checkin provider --- app/features/checkin/CheckInStackScreen.js | 39 ++++++++++------------ app/state/checkIn/CheckInActionTypes.ts | 0 app/state/checkIn/CheckInReducer.js | 12 ------- app/state/checkIn/index.js | 16 --------- app/state/context.js | 1 - app/state/index.js | 1 - 6 files changed, 18 insertions(+), 51 deletions(-) delete mode 100644 app/state/checkIn/CheckInActionTypes.ts delete mode 100644 app/state/checkIn/CheckInReducer.js delete mode 100644 app/state/checkIn/index.js diff --git a/app/features/checkin/CheckInStackScreen.js b/app/features/checkin/CheckInStackScreen.js index ca076a06..fb23dced 100644 --- a/app/features/checkin/CheckInStackScreen.js +++ b/app/features/checkin/CheckInStackScreen.js @@ -4,32 +4,29 @@ import { useDynamicStyleSheet } from "react-native-dark-mode"; import { CheckInTab } from "./CheckInTab"; import { CheckInStack } from "../../navigation"; import { dynamicStyles } from "../../theme"; -import CheckInProvider from "../../state/checkIn"; import HackGTIcon from "../../../assets/images/HackGTIcon"; import { AuthContext } from "../../contexts/AuthContext"; export default function CheckInStackScreen({ navigation }) { const dStyles = useDynamicStyleSheet(dynamicStyles); return ( - - - {({ user }) => { - return ( - - , - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - - ); - }} - - + + {({ user }) => { + return ( + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + + ); + }} + ); } diff --git a/app/state/checkIn/CheckInActionTypes.ts b/app/state/checkIn/CheckInActionTypes.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/app/state/checkIn/CheckInReducer.js b/app/state/checkIn/CheckInReducer.js deleted file mode 100644 index 865deb46..00000000 --- a/app/state/checkIn/CheckInReducer.js +++ /dev/null @@ -1,12 +0,0 @@ -import { } from './CheckInActionTypes' - -export const initialValue = { - -} - -export function checkInReducer(state, action) { - switch (action.type) { - default: - return state - } -} diff --git a/app/state/checkIn/index.js b/app/state/checkIn/index.js deleted file mode 100644 index 3132fa0b..00000000 --- a/app/state/checkIn/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from "react"; -import { initialValue, checkInReducer } from "./CheckInReducer"; -import {} from "./CheckInActionTypes"; -import { CheckInContext } from "../context"; - -export default function CheckInProvider({ children }) { - const [state, dispatch] = React.useReducer(checkInReducer, initialValue); - - const value = { - state: state, - }; - - return ( - {children} - ); -} diff --git a/app/state/context.js b/app/state/context.js index ad3117ea..27c38d0e 100644 --- a/app/state/context.js +++ b/app/state/context.js @@ -2,4 +2,3 @@ import React from "react"; export const HackathonContext = React.createContext(); export const ScavHuntContext = React.createContext(); -export const CheckInContext = React.createContext(); diff --git a/app/state/index.js b/app/state/index.js index f50355f5..782e4592 100644 --- a/app/state/index.js +++ b/app/state/index.js @@ -1,3 +1,2 @@ export { default as ScavHuntProvider } from "./scavHunt"; export { default as HackathonProvider } from "./hackathon"; -export { default as CheckInProvider } from "./checkIn"; From c5516a043d3f9be27317e648e733618a11d35990 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 30 Sep 2022 03:21:43 -0400 Subject: [PATCH 047/102] Remove most usages of ThemeContext.Consumer --- app/components/Card.js | 57 ++-- app/components/FilterSelect.js | 224 ++++++------- app/components/FontMarkdown.js | 242 +++++++------- app/components/GradientButton.js | 60 ++-- app/components/SplashScreen.js | 43 ++- app/components/TagScrollView.js | 78 +++-- app/features/checkin/CheckInTab.js | 218 ++++++------ app/features/checkin/EventSel.js | 56 ++-- app/features/checkin/QRScan.js | 169 +++++----- app/features/checkin/ScanScreen.js | 11 +- app/features/checkin/SearchComponent.js | 55 ++-- app/features/information/InformationTab.js | 190 ++++++----- app/features/onboarding/ContentInfo.js | 30 +- .../scavengerHunt/ScavengerHuntTab.js | 310 +++++++++--------- app/features/schedule/ScheduleEventCell.js | 107 +++--- app/features/schedule/ScheduleTab.js | 175 +++++----- 16 files changed, 954 insertions(+), 1071 deletions(-) diff --git a/app/components/Card.js b/app/components/Card.js index d110c7e7..242b62e2 100644 --- a/app/components/Card.js +++ b/app/components/Card.js @@ -1,45 +1,34 @@ -import React from "react"; +import React, { useContext } from "react"; import { View, StyleSheet } from "react-native"; import { ThemeContext } from "../contexts/ThemeContext"; export function Card(props) { - const createCardStyle = (dynamicStyles) => { - const style = { - padding: 17, - flexDirection: "column", - alignItems: "flex-start", - justifyContent: "space-evenly", - height: props.height, - borderWidth: 1.3, - borderRadius: 12, - borderColor: props.highlighted - ? dynamicStyles.tintColor.color - : dynamicStyles.tritaryBackgroundColor.backgroundColor, - elevation: 1, // android shadow - shadowColor: "black", - shadowOffset: { width: 0.5, height: 0.5 }, - shadowOpacity: 0.1, - shadowRadius: 1.5, - }; + const { dynamicStyles } = useContext(ThemeContext); - return style; + const cardStyle = { + padding: 17, + flexDirection: "column", + alignItems: "flex-start", + justifyContent: "space-evenly", + height: props.height, + borderWidth: 1.3, + borderRadius: 12, + borderColor: props.highlighted + ? dynamicStyles.tintColor.color + : dynamicStyles.tritaryBackgroundColor.backgroundColor, + elevation: 1, // android shadow + shadowColor: "black", + shadowOffset: { width: 0.5, height: 0.5 }, + shadowOpacity: 0.1, + shadowRadius: 1.5, }; return ( - - {({ dynamicStyles }) => ( - - - {props.children} - - - )} - + + + {props.children} + + ); } diff --git a/app/components/FilterSelect.js b/app/components/FilterSelect.js index ef72c7ed..5667a66c 100644 --- a/app/components/FilterSelect.js +++ b/app/components/FilterSelect.js @@ -6,7 +6,7 @@ import { TouchableOpacity } from "react-native-gesture-handler"; export default function FilterSelect(props) { const { state } = useContext(HackathonContext); - const eventTypes = state.eventTypes; + const { dynamicStyles } = useContext(ThemeContext); const [showMenu, setShowMenu] = useState(false); const [filterType, setFilterType] = useState(null); @@ -23,131 +23,115 @@ export default function FilterSelect(props) { } }; - return ( - - {({ dynamicStyles }) => { - const filterList = [...eventTypes]; - // filterList.push({ name: "clear", color: "#C3C3C3" }); + const filterList = [...state.eventTypes]; + + if (showMenu) { + return ( + + + { + setShowMenu(false); + props.onFilterMenuChange(false); + }} + > + x + + + {filterList.map(function (item, index) { + const name = item.name ?? "unknown"; + const color = item.color ?? "white"; - if (showMenu) { return ( - - - { - setShowMenu(false); - props.onFilterMenuChange(false); + + + - - {" "} - x{" "} - - - - {filterList.map(function (item, index) { - const name = item.name ?? "unknown"; - const color = item.color ?? "white"; - - return ( - - - - {" "} - {name}{" "} - - - - ); - })} + {" "} + {name}{" "} + + ); - } else { - if (filterType) { - return ( - - { - setShowMenu(true); - props.onFilterMenuChange(true); - }} - > - - {filterType.name} - { - hideFilterMenu({ name: "clear" }); - }} - > - x - - - - - ); - } else { - return ( - - { - setShowMenu(true); - props.onFilterMenuChange(true); - }} - > - - {" "} - Filter{" "} - - - - ); - } - } - }} - - ); + })} + + ); + } else { + if (filterType) { + return ( + + { + setShowMenu(true); + props.onFilterMenuChange(true); + }} + > + + {filterType.name} + { + hideFilterMenu({ name: "clear" }); + }} + > + x + + + + + ); + } else { + return ( + + { + setShowMenu(true); + props.onFilterMenuChange(true); + }} + > + + {" "} + Filter{" "} + + + + ); + } + } } const styles = StyleSheet.create({ diff --git a/app/components/FontMarkdown.js b/app/components/FontMarkdown.js index 5c830675..a501de38 100644 --- a/app/components/FontMarkdown.js +++ b/app/components/FontMarkdown.js @@ -1,133 +1,125 @@ import { StyleSheet } from "react-native"; -import React from "react"; +import React, { useContext } from "react"; import Markdown from "react-native-markdown-renderer"; import { ThemeContext } from "../contexts/ThemeContext"; export default function FontMarkdown(props) { - const createStyles = (dynamicStyles) => { - return StyleSheet.create({ - em: { - fontStyle: "italic", - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Italic`, - }, - heading1: { - fontSize: 32, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - heading2: { - fontSize: 24, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - heading3: { - fontSize: 18, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - heading4: { - fontSize: 16, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - heading5: { - fontSize: 13, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - heading6: { - fontSize: 11, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - hr: { - backgroundColor: "#000000", - height: 1, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - listItem: { - flex: 1, - flexWrap: "wrap", - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - listUnordered: {}, + const { dynamicStyles } = useContext(ThemeContext); - listUnorderedItem: { - flexDirection: "row", - justifyContent: "flex-start", - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - listUnorderedItemText: { - fontSize: 20, - lineHeight: 20, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - listOrderedItem: { - flexDirection: "row", - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - listOrderedItemText: { - lineHeight: 20, - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Bold`, - }, - paragraph: { - marginTop: 10, - marginBottom: 10, - flexWrap: "wrap", - flexDirection: "row", - alignItems: "flex-start", - justifyContent: "flex-start", - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - strong: { - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Bold`, - }, - text: { - color: dynamicStyles.text.color, - fontFamily: `${props.fontFamily}-Regular`, - }, - strikethrough: { - color: dynamicStyles.text.color, - textDecorationLine: "line-through", - fontFamily: `${props.fontFamily}-Regular`, - }, - link: { - color: dynamicStyles.text.color, - textDecorationLine: "underline", - fontFamily: `${props.fontFamily}-Regular`, - }, - blocklink: { - flex: 1, - color: dynamicStyles.text.color, - borderColor: "#000000", - borderBottomWidth: 1, - fontFamily: `${props.fontFamily}-Regular`, - }, - u: { - color: dynamicStyles.text.color, - borderColor: "#000000", - borderBottomWidth: 1, - fontFamily: `${props.fontFamily}-Regular`, - }, - }); - }; + const styles = StyleSheet.create({ + em: { + fontStyle: "italic", + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Italic`, + }, + heading1: { + fontSize: 32, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + heading2: { + fontSize: 24, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + heading3: { + fontSize: 18, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + heading4: { + fontSize: 16, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + heading5: { + fontSize: 13, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + heading6: { + fontSize: 11, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + hr: { + backgroundColor: "#000000", + height: 1, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + listItem: { + flex: 1, + flexWrap: "wrap", + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + listUnordered: {}, - return ( - - {({ dynamicStyles }) => ( - - {props.children} - - )} - - ); + listUnorderedItem: { + flexDirection: "row", + justifyContent: "flex-start", + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + listUnorderedItemText: { + fontSize: 20, + lineHeight: 20, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + listOrderedItem: { + flexDirection: "row", + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + listOrderedItemText: { + lineHeight: 20, + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Bold`, + }, + paragraph: { + marginTop: 10, + marginBottom: 10, + flexWrap: "wrap", + flexDirection: "row", + alignItems: "flex-start", + justifyContent: "flex-start", + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + strong: { + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Bold`, + }, + text: { + color: dynamicStyles.text.color, + fontFamily: `${props.fontFamily}-Regular`, + }, + strikethrough: { + color: dynamicStyles.text.color, + textDecorationLine: "line-through", + fontFamily: `${props.fontFamily}-Regular`, + }, + link: { + color: dynamicStyles.text.color, + textDecorationLine: "underline", + fontFamily: `${props.fontFamily}-Regular`, + }, + blocklink: { + flex: 1, + color: dynamicStyles.text.color, + borderColor: "#000000", + borderBottomWidth: 1, + fontFamily: `${props.fontFamily}-Regular`, + }, + u: { + color: dynamicStyles.text.color, + borderColor: "#000000", + borderBottomWidth: 1, + fontFamily: `${props.fontFamily}-Regular`, + }, + }); + + return {props.children}; } diff --git a/app/components/GradientButton.js b/app/components/GradientButton.js index 39e49da7..7b8b0adb 100644 --- a/app/components/GradientButton.js +++ b/app/components/GradientButton.js @@ -1,42 +1,30 @@ -import React from "react"; -import { StyleSheet, TouchableOpacity, Text } from "react-native"; -import { ThemeContext } from "../contexts/ThemeContext"; +import React, { useContext } from "react"; +import { TouchableOpacity, Text } from "react-native"; import ButtonBackground from "../../assets/images/ButtonBackground"; export function GradientButton(props) { return ( - - {({ dynamicStyles }) => ( - - - - {props.text} - - - )} - + + + + {props.text} + + ); } - -const styles = StyleSheet.create({ - cardParent: { - width: "100%", - borderRadius: 8, - }, -}); diff --git a/app/components/SplashScreen.js b/app/components/SplashScreen.js index 7abc0ef4..21542634 100644 --- a/app/components/SplashScreen.js +++ b/app/components/SplashScreen.js @@ -1,9 +1,10 @@ -import React, { useEffect } from "react"; +import React, { useEffect, useContext } from "react"; import { Animated, Easing } from "react-native"; import HackGTIcon from "../../assets/images/Logo"; import { ThemeContext } from "../contexts/ThemeContext"; export default function SplashScreen(props) { + const { dynamicStyles } = useContext(ThemeContext); const opacity = new Animated.Value(0); const growAnimation = () => { @@ -27,27 +28,23 @@ export default function SplashScreen(props) { }, []); return ( - - {({ dynamicStyles }) => ( - - - - )} - + + + ); } diff --git a/app/components/TagScrollView.js b/app/components/TagScrollView.js index cc5d07c9..6cb078a1 100644 --- a/app/components/TagScrollView.js +++ b/app/components/TagScrollView.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import { ThemeContext } from "../contexts/ThemeContext"; import { Text, @@ -9,47 +9,43 @@ import { } from "react-native"; export default function TagScrollView(props) { + const { dynamicStyles } = useContext(ThemeContext); + return ( - - {({ dynamicStyles }) => ( - - - {props.tags.map((value, i) => { - return ( - props.onPress && props.onPress(value)} - disabled={props.disabled} - style={[ - styles.tagStyle, - props.highlightedTags && - props.highlightedTags.includes(value) - ? dynamicStyles.tintBackgroundColor - : dynamicStyles.searchBackgroundColor, - ]} - > - - {" "} - {value}{" "} - - - ); - })} - - - )} - + + + {props.tags.map((value, i) => { + return ( + props.onPress && props.onPress(value)} + disabled={props.disabled} + style={[ + styles.tagStyle, + props.highlightedTags && props.highlightedTags.includes(value) + ? dynamicStyles.tintBackgroundColor + : dynamicStyles.searchBackgroundColor, + ]} + > + + {" "} + {value}{" "} + + + ); + })} + + ); } diff --git a/app/features/checkin/CheckInTab.js b/app/features/checkin/CheckInTab.js index d40ad39c..bf6b2b9a 100644 --- a/app/features/checkin/CheckInTab.js +++ b/app/features/checkin/CheckInTab.js @@ -1,12 +1,10 @@ -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect, useContext } from "react"; import { Text, View, StyleSheet, ScrollView, - FlatList, TouchableOpacity, - Button, Pressable, } from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; @@ -14,9 +12,9 @@ import { EventSel } from "./EventSel"; import { ScanScreen } from "./ScanScreen"; import SearchIcon from "../../../assets/images/Search"; import { SearchBar } from "react-native-elements"; -import { dynamicStyles } from "../../theme"; export function CheckInTab(props) { + const { dynamicStyles } = useContext(ThemeContext); const [events, setEvents] = useState(null); const [selectedEvent, setSelectedEvent] = useState(null); const [searchText, setSearchText] = useState(""); @@ -34,19 +32,19 @@ export function CheckInTab(props) { body: JSON.stringify({ query: `query { allEvents (orderBy: "name", where: { hackathon: { isUsedForMobileApp:true } }) { - name - endTime - startTime - startDate - url - tags { - name - } - description - location { - name - } - id + name + endTime + startTime + startDate + url + tags { + name + } + description + location { + name + } + id } }`, }), @@ -109,111 +107,101 @@ export function CheckInTab(props) { }); if (selectedEvent == null) { return ( - - {({ dynamicStyles }) => ( - - - - } - containerStyle={[ - styles.searchContainer, - dynamicStyles.backgroundColor, - dynamicStyles.searchBorderTopColor, - dynamicStyles.searchBorderBottomColor, - { flex: 1 }, - ]} - inputContainerStyle={[ - styles.inputContainer, - dynamicStyles.searchBackgroundColor, - ]} - clearIcon={null} - lightTheme - round - placeholder="Search..." - onChangeText={(value) => searchEvents(value)} - value={searchText} + + + - + } + containerStyle={[ + styles.searchContainer, + dynamicStyles.backgroundColor, + dynamicStyles.searchBorderTopColor, + dynamicStyles.searchBorderBottomColor, + { flex: 1 }, + ]} + inputContainerStyle={[ + styles.inputContainer, + dynamicStyles.searchBackgroundColor, + ]} + clearIcon={null} + lightTheme + round + placeholder="Search..." + onChangeText={(value) => searchEvents(value)} + value={searchText} + /> + - - - {formattedEvents} - - + + + {formattedEvents} - )} - + + ); } else { return ( - - {({ dynamicStyles }) => ( - - - { - onPressEvent(null); - }} - > - - {"< Back"} - - + + + { + onPressEvent(null); + }} + > + + {"< Back"} + + - - {selectedEvent.name} - - - {selectedEvent != null && - selectedEvent.location != null && - selectedEvent.location[0] != null && - selectedEvent.location[0].name != null - ? selectedEvent.location[0].name + " • " - : ""} - {selectedEvent.startTime + " - " + selectedEvent.endTime} - - - - - )} - + + {selectedEvent.name} + + + {selectedEvent != null && + selectedEvent.location != null && + selectedEvent.location[0] != null && + selectedEvent.location[0].name != null + ? selectedEvent.location[0].name + " • " + : ""} + {selectedEvent.startTime + " - " + selectedEvent.endTime} + + + + ); } } else { diff --git a/app/features/checkin/EventSel.js b/app/features/checkin/EventSel.js index 1af2e034..6f668115 100644 --- a/app/features/checkin/EventSel.js +++ b/app/features/checkin/EventSel.js @@ -1,38 +1,38 @@ -import React, { Component } from "react"; +import React, { useContext } from "react"; import { Text, View, StyleSheet } from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; import { Card } from "../../components/Card"; export function EventSel(props) { - return ( - - {({ dynamicStyles }) => ( - - - - - {props.name} - - + const { dynamicStyles } = useContext(ThemeContext); - - {props.location} - {props.startTime} - {props.endTime} - - + return ( + + + + + {props.name} + - )} - + + + {props.location} + {props.startTime} - {props.endTime} + + + ); } diff --git a/app/features/checkin/QRScan.js b/app/features/checkin/QRScan.js index 5f1c5f27..0fbe4f20 100644 --- a/app/features/checkin/QRScan.js +++ b/app/features/checkin/QRScan.js @@ -1,17 +1,17 @@ +import React, { useState, useEffect, useContext, useRef } from "react"; import { Text, StyleSheet, View, Alert, Dimensions } from "react-native"; import Toggle from "react-native-toggle-element"; import QRCodeScanner from "react-native-qrcode-scanner"; import { RNCamera } from "react-native-camera"; import { TouchableOpacity } from "react-native-gesture-handler"; -import React, { useState, useEffect, useContext, useRef } from "react"; import { request, PERMISSIONS } from "react-native-permissions"; import { logInteraction } from "../../yac"; -import { HackathonContext, ScavHuntContext } from "../../state/context"; -import { dynamicStyles } from "../../theme"; +import { HackathonContext } from "../../state/context"; import { ThemeContext } from "../../contexts/ThemeContext"; function QRScan(props) { const { hackathon } = useContext(HackathonContext); + const { dynamicStyles } = useContext(ThemeContext); const [toggleValue, setToggleValue] = useState(false); const [uid, setUid] = useState(""); const [fName, setfName] = useState(""); @@ -90,95 +90,88 @@ function QRScan(props) { ]); return ( - - {({ dynamicStyles }) => ( - - - - {status === 200 - ? "Success!" - : status === -1 - ? "Scan to get started!" - : "Try again!"} - - - {"Name: " + fName + " " + lName} - - {"Email: " + email} - {"ID: " + uid} - - - QR Code - - } - rightComponent={ - - NFC - - } - trackBar={{ - width: 200, - activeBackgroundColor: dynamicStyles.trackBarBackground.color, - inActiveBackgroundColor: - dynamicStyles.trackBarBackground.color, - borderActiveColor: dynamicStyles.trackBarBackground.color, - borderInActiveColor: dynamicStyles.trackBarBackground.color, - borderWidth: 3, + + + + {status === 200 + ? "Success!" + : status === -1 + ? "Scan to get started!" + : "Try again!"} + + {"Name: " + fName + " " + lName} + {"Email: " + email} + {"ID: " + uid} + + + QR Code + + } + rightComponent={ + - - - {!toggleValue ? ( - - ) : ( - test - )} + > + NFC + + } + trackBar={{ + width: 200, + activeBackgroundColor: dynamicStyles.trackBarBackground.color, + inActiveBackgroundColor: dynamicStyles.trackBarBackground.color, + borderActiveColor: dynamicStyles.trackBarBackground.color, + borderInActiveColor: dynamicStyles.trackBarBackground.color, + borderWidth: 3, + }} + thumbButton={{ + width: 100, + activeBackgroundColor: + dynamicStyles.toggleThumbBackgroundColor.color, + inActiveBackgroundColor: + dynamicStyles.toggleThumbBackgroundColor.color, + }} + /> + + {!toggleValue ? ( + + ) : ( + test )} - + ); } diff --git a/app/features/checkin/ScanScreen.js b/app/features/checkin/ScanScreen.js index 96b1eceb..522f77dd 100644 --- a/app/features/checkin/ScanScreen.js +++ b/app/features/checkin/ScanScreen.js @@ -1,17 +1,12 @@ import React from "react"; import { View, StyleSheet } from "react-native"; -import { ThemeContext } from "../../contexts/ThemeContext"; import QRScan from "./QRScan"; export function ScanScreen(props) { return ( - - {({ dynamicStyles }) => ( - - - - )} - + + + ); } diff --git a/app/features/checkin/SearchComponent.js b/app/features/checkin/SearchComponent.js index d4ff2dd9..57d55fc7 100644 --- a/app/features/checkin/SearchComponent.js +++ b/app/features/checkin/SearchComponent.js @@ -1,10 +1,11 @@ -import React, { useState } from "react"; +import React, { useState, useContext } from "react"; import { ThemeContext } from "../contexts/ThemeContext"; import { SearchBar } from "react-native-elements"; import { View, StyleSheet } from "react-native"; import SearchIcon from "../../assets/images/Search"; export function SearchComponent(props) { + const { dynamicStyles } = useContext(ThemeContext); const [searchText, setSearchText] = useState(""); const searchEvents = (value) => { @@ -12,35 +13,31 @@ export function SearchComponent(props) { }; return ( - - {({ dynamicStyles }) => ( - - - } - containerStyle={[ - styles.searchContainer, - dynamicStyles.backgroundColor, - dynamicStyles.searchBorderTopColor, - dynamicStyles.searchBorderBottomColor, - ]} - inputContainerStyle={[ - styles.inputContainer, - dynamicStyles.searchBackgroundColor, - ]} - clearIcon={null} - lightTheme - round - placeholder="Search..." - onChangeText={(value) => searchEvents(value)} - value={searchText} + + - - )} - + } + containerStyle={[ + styles.searchContainer, + dynamicStyles.backgroundColor, + dynamicStyles.searchBorderTopColor, + dynamicStyles.searchBorderBottomColor, + ]} + inputContainerStyle={[ + styles.inputContainer, + dynamicStyles.searchBackgroundColor, + ]} + clearIcon={null} + lightTheme + round + placeholder="Search..." + onChangeText={(value) => searchEvents(value)} + value={searchText} + /> + ); } diff --git a/app/features/information/InformationTab.js b/app/features/information/InformationTab.js index acc92057..e39d25ed 100644 --- a/app/features/information/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -16,111 +16,107 @@ import { ThemeContext } from "../../contexts/ThemeContext"; export function InformationTab(props) { const { state } = useContext(HackathonContext); + const { dynamicStyles } = useContext(ThemeContext); const hackathon = state.hackathon; - return ( - - {({ dynamicStyles }) => { - // create button blocks for "Join Slack", "View Event site", etc - const buttonBlock = hackathon.blocks.find( - (e) => e.slug && e.slug === "info-button-links" - ); - const faqBlock = hackathon.blocks.find( - (e) => e.slug && e.slug === "info-faq" - ); + // create button blocks for "Join Slack", "View Event site", etc + const buttonBlock = hackathon.blocks.find( + (e) => e.slug && e.slug === "info-button-links" + ); - const headerButtons = []; - - if (buttonBlock && buttonBlock.content) { - const buttonJSON = JSON.parse(buttonBlock.content); - if (buttonJSON) { - headerButtons = buttonJSON.map((button) => { - return ( - { - Linking.openURL(button.url).catch((err) => { - if (err) { - if (button.backupURL) { - Linking.openURL(button.backupURL).catch((err) => - Alert.alert( - "Redirect Error", - "The link you selected cannot be opened." - ) - ); - } else { - Alert.alert( - "Redirect Error", - "The link you selected cannot be opened." - ); - } - } - }); - }} - > - - {button.title} - - - ); - }); - } - } - - let infoBlocks = hackathon.blocks.filter( - (e) => e.slug && e.slug === "info-faq" - ); + const faqBlock = hackathon.blocks.find( + (e) => e.slug && e.slug === "info-faq" + ); - // let faqCopy = [...hackathon.faqs]; - // let faqList = []; - // // sort faq based on priority so important questions come first - // faqCopy.sort(function (a, b) { - // return parseFloat(a.index) - parseFloat(b.index); - // }); - - // for (i in faqCopy) { - // faqList.push( - // - // **{faqCopy[i].question}** - // , - // - // {faqCopy[i].answer} - // - // ); - // } + const headerButtons = []; + if (buttonBlock && buttonBlock.content) { + const buttonJSON = JSON.parse(buttonBlock.content); + if (buttonJSON) { + headerButtons = buttonJSON.map((button) => { return ( - - - {"Welcome to " + hackathon.name} + { + Linking.openURL(button.url).catch((err) => { + if (err) { + if (button.backupURL) { + Linking.openURL(button.backupURL).catch((err) => + Alert.alert( + "Redirect Error", + "The link you selected cannot be opened." + ) + ); + } else { + Alert.alert( + "Redirect Error", + "The link you selected cannot be opened." + ); + } + } + }); + }} + > + + {button.title} - - {headerButtons} - - {infoBlocks.map((block, i) => ( - - - {block.name} - - - - - - {block.content} - - - - - ))} - + ); - }} - + }); + } + } + + let infoBlocks = hackathon.blocks.filter( + (e) => e.slug && e.slug === "info-faq" + ); + + // let faqCopy = [...hackathon.faqs]; + // let faqList = []; + // // sort faq based on priority so important questions come first + // faqCopy.sort(function (a, b) { + // return parseFloat(a.index) - parseFloat(b.index); + // }); + + // for (i in faqCopy) { + // faqList.push( + // + // **{faqCopy[i].question}** + // , + // + // {faqCopy[i].answer} + // + // ); + // } + + return ( + + + {"Welcome to " + hackathon.name} + + + {headerButtons} + + {infoBlocks.map((block, i) => ( + + + {block.name} + + + + + + {block.content} + + + + + ))} + ); } diff --git a/app/features/onboarding/ContentInfo.js b/app/features/onboarding/ContentInfo.js index 82e4d0f3..f3ff1695 100644 --- a/app/features/onboarding/ContentInfo.js +++ b/app/features/onboarding/ContentInfo.js @@ -1,26 +1,22 @@ -import React, { Component } from "react"; +import React, { useContext } from "react"; import { Text, View, StyleSheet } from "react-native"; import Logo from "../../../assets/images/Logo"; import { ThemeContext } from "../../contexts/ThemeContext"; export function ContentInfo(props) { + const { dynamicStyles } = useContext(ThemeContext); + return ( - - {({ dynamicStyles }) => ( - - {props.image ? props.image : } - - {props.title} - - {props.subtitles.map((subtitle, i) => ( - - {subtitle} - - ))} - {props.button ? props.button : null} - - )} - + + {props.image ? props.image : } + {props.title} + {props.subtitles.map((subtitle, i) => ( + + {subtitle} + + ))} + {props.button ? props.button : null} + ); } diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index 163c960e..46e08350 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -18,6 +18,7 @@ import { ThemeContext } from "../../contexts/ThemeContext"; export function ScavengerHuntTab(props) { const { state, completeHint } = useContext(ScavHuntContext); + const { dynamicStyles } = useContext(ThemeContext); const hackathonContext = useContext(HackathonContext); const hackathon = hackathonContext.state.hackathon; const [currentDate, setCurrentDate] = useState( @@ -52,170 +53,159 @@ export function ScavengerHuntTab(props) { return unsubscribe; }); - return ( - - {({ dynamicStyles }) => { - var scavHunts = hackathon.scavengerHunts; - scavHunts.sort((item1, item2) => { - const d1 = Date.parse(item1.releaseDate); - const d2 = Date.parse(item2.releaseDate); - return d1 - d2; - }); - const crosswordPuzzleChallenges = scavHunts.filter((challenge) => { - !challenge.isQR; - }); - console.log(scavHunts); - var crosswordPuzzleButton = null; + var scavHunts = hackathon.scavengerHunts; + scavHunts.sort((item1, item2) => { + const d1 = Date.parse(item1.releaseDate); + const d2 = Date.parse(item2.releaseDate); + return d1 - d2; + }); + const crosswordPuzzleChallenges = scavHunts.filter((challenge) => { + !challenge.isQR; + }); + console.log(scavHunts); + var crosswordPuzzleButton = null; - if (crosswordPuzzleChallenges.length == 0) { - const available = true; - const isComplete = false; - crosswordPuzzleButton = () => ( - { - props.navigation.navigate("ScavHuntCrossword", { - challenges: crosswordPuzzleChallenges, - user: props.user, - hackathonName: hackathon.name, - }); - }} - > - {available ? null : ( - - )} - - {"Crossword Puzzle"} - - - ); - } - const scavHuntButtons = scavHunts.map((challenge) => { - if (!challenge.isQR) { - return null; - } - const item = { - ...challenge, - releaseDate: Date.parse(challenge.releaseDate), - }; - const available = new Date(item.releaseDate) < currentDate; - const isComplete = state.completedHints.includes(item.id); - console.log( - "Scav Hunt info: \nRelease date", - new Date(item.releaseDate), - "current date: ", - currentDate, - "available: ", - available, - "isComplete: ", - isComplete - ); - return ( - { - props.navigation.navigate("ScavHuntItem", { - item: item, - user: props.user, - hackathonName: hackathon.name, - }); - }} - > - {available ? null : ( - - )} - - {item.title} - - - {"Available " + - moment(item.releaseDate).format("MMM D [at] h:mm A")} - - - ); - }); + if (crosswordPuzzleChallenges.length == 0) { + const available = true; + const isComplete = false; + crosswordPuzzleButton = () => ( + { + props.navigation.navigate("ScavHuntCrossword", { + challenges: crosswordPuzzleChallenges, + user: props.user, + hackathonName: hackathon.name, + }); + }} + > + {available ? null : ( + + )} + + {"Crossword Puzzle"} + + + ); + } + const scavHuntButtons = scavHunts.map((challenge) => { + if (!challenge.isQR) { + return null; + } + const item = { + ...challenge, + releaseDate: Date.parse(challenge.releaseDate), + }; + const available = new Date(item.releaseDate) < currentDate; + const isComplete = state.completedHints.includes(item.id); + console.log( + "Scav Hunt info: \nRelease date", + new Date(item.releaseDate), + "current date: ", + currentDate, + "available: ", + available, + "isComplete: ", + isComplete + ); + return ( + { + props.navigation.navigate("ScavHuntItem", { + item: item, + user: props.user, + hackathonName: hackathon.name, + }); + }} + > + {available ? null : ( + + )} + + {item.title} + + + {"Available " + moment(item.releaseDate).format("MMM D [at] h:mm A")} + + + ); + }); - const currPoints = state.completedHints.reduce((acc, curr) => { - return acc + (curr.points ? curr.points : 0); - }, 0); - const totalPoints = scavHunts.reduce((acc, curr) => { - return acc + (curr.points ? curr.points : 0); - }, 0); + const currPoints = state.completedHints.reduce((acc, curr) => { + return acc + (curr.points ? curr.points : 0); + }, 0); + const totalPoints = scavHunts.reduce((acc, curr) => { + return acc + (curr.points ? curr.points : 0); + }, 0); - return ( - - - - {"Scavenger Hunt"} - - {totalPoints ? ( - - {currPoints + "/" + totalPoints + " pts"} - - ) : null} - - - { - "Scavenger Hunt is a fun way to earn points for completing challenges!" - } - + return ( + + + + {"Scavenger Hunt"} + + {totalPoints ? ( + + {currPoints + "/" + totalPoints + " pts"} + + ) : null} + + + { + "Scavenger Hunt is a fun way to earn points for completing challenges!" + } + - - {scavHuntButtons} - {crosswordPuzzleButton()} - - - ); - }} - + + {scavHuntButtons} + {crosswordPuzzleButton()} + + ); } diff --git a/app/features/schedule/ScheduleEventCell.js b/app/features/schedule/ScheduleEventCell.js index 9efb80a3..35243d20 100644 --- a/app/features/schedule/ScheduleEventCell.js +++ b/app/features/schedule/ScheduleEventCell.js @@ -9,7 +9,7 @@ import { ThemeContext } from "../../contexts/ThemeContext"; export function ScheduleEventCell(props) { const { state, toggleStar } = useContext(HackathonContext); - const [isStarred, setIsStarred] = useState(false); + const { dynamicStyles } = useContext(ThemeContext); const event = props.event; const eventType = @@ -26,64 +26,59 @@ export function ScheduleEventCell(props) { : ""; const start = event.startTime; const end = event.endTime; + + const isStarred = state.starredIds.indexOf(event.id) != -1; + return ( - - {({ dynamicStyles }) => { - const isStarred = state.starredIds.indexOf(event.id) != -1; - console.log("toggling star function: ", toggleStar); - return ( - - - - {title} - - { - console.log("toggling star pressed", event.id); - toggleStar(event); - }} - > - {isStarred ? ( - - ) : ( - - )} - - + + + + {title} + + { + console.log("toggling star pressed", event.id); + toggleStar(event); + }} + > + {isStarred ? ( + + ) : ( + + )} + + - - {location} - {start} - {end} - + + {location} + {start} - {end} + - - - {event.tags && - event.tags.map((tag) => ( - - {tag.name} - - ))} - - - ); - }} - + + + {event.tags && + event.tags.map((tag) => ( + + {tag.name} + + ))} + + ); } diff --git a/app/features/schedule/ScheduleTab.js b/app/features/schedule/ScheduleTab.js index b3419316..20287ad9 100644 --- a/app/features/schedule/ScheduleTab.js +++ b/app/features/schedule/ScheduleTab.js @@ -23,6 +23,7 @@ import { export function ScheduleTab(props) { const { state } = useContext(HackathonContext); + const { dynamicStyles } = useContext(ThemeContext); const sheetRef = useRef(null); const [selectedEvent, setSelectedEvent] = useState(null); const [eventsHappeningNow, setEventsHappeningNow] = useState([]); @@ -55,101 +56,87 @@ export function ScheduleTab(props) { } }; - return ( - - {({ dynamicStyles }) => { - let events = state.hackathon.events; - const hasEventsNow = eventsHappeningNow.length > 0; - const happeningNowView = ( - - - - - item && item.id ? item.id : index - } - renderItem={({ item }) => { - console.log("ITEM: ", item); - return ( - { - onPressEvent(item); - }} - > - - - ); + let events = state.hackathon.events; + const hasEventsNow = eventsHappeningNow.length > 0; + const happeningNowView = ( + + + + (item && item.id ? item.id : index)} + renderItem={({ item }) => { + console.log("ITEM: ", item); + return ( + { + onPressEvent(item); }} - /> - - - ); - - if (state.isStarSchedule) { - events = events.filter( - (event) => state.starredIds.indexOf(event.id) != -1 - ); - } - - const daysForEvents = getDaysForEvent(events); - const currentDayIndex = getCurrentDayIndex(events); - const initialEventIndex = getCurrentEventIndex( - events, - daysForEvents[currentDayIndex] - ); - - if (state.isStarSchedule && state.starredIds.length === 0) { - return ( - - You have no starred events. - - ); - } else if (events.length == 0) { - return ( - - No events found. - - ); - } - - return ( - - - - {hasEventsNow ? happeningNowView : null} - {!hasEventsNow ? : null} - - - ); - }} - + > + + + ); + }} + /> + + + ); + + if (state.isStarSchedule) { + events = events.filter((event) => state.starredIds.indexOf(event.id) != -1); + } + + const daysForEvents = getDaysForEvent(events); + const currentDayIndex = getCurrentDayIndex(events); + const initialEventIndex = getCurrentEventIndex( + events, + daysForEvents[currentDayIndex] + ); + + if (state.isStarSchedule && state.starredIds.length === 0) { + return ( + + You have no starred events. + + ); + } else if (events.length == 0) { + return ( + + No events found. + + ); + } + + return ( + + + + {hasEventsNow ? happeningNowView : null} + {!hasEventsNow ? : null} + + ); } From 0cc9bd44a59baff3bc5c4b5aa0d3587df3d8deb9 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 30 Sep 2022 03:35:02 -0400 Subject: [PATCH 048/102] Refactor state files for scavHunt and hackathon contexts --- App.js | 3 +- app/components/FilterSelect.js | 2 +- app/features/checkin/QRScan.js | 2 +- app/features/information/InformationTab.js | 2 +- app/features/onboarding/EventOnboarding.js | 2 +- app/features/scavengerHunt/ScavHuntItem.js | 2 +- .../scavengerHunt/ScavengerHuntStackScreen.js | 2 +- .../scavengerHunt/ScavengerHuntTab.js | 3 +- app/features/schedule/EventBottomSheet.js | 2 +- app/features/schedule/ScheduleEventCell.js | 2 +- app/features/schedule/ScheduleSearch.js | 2 +- app/features/schedule/ScheduleStackScreen.js | 2 +- app/features/schedule/ScheduleTab.js | 2 +- app/state/context.js | 4 --- app/state/hackathon/HackathonContext.js | 5 +++ app/state/hackathon/HackathonProvider.js | 31 +++++++++++++++++ app/state/hackathon/index.js | 33 ++----------------- app/state/index.js | 2 -- app/state/scavHunt/ScavHuntContext.js | 5 +++ app/state/scavHunt/ScavHuntProvider.js | 23 +++++++++++++ app/state/scavHunt/index.js | 25 ++------------ 21 files changed, 82 insertions(+), 74 deletions(-) delete mode 100644 app/state/context.js create mode 100644 app/state/hackathon/HackathonContext.js create mode 100644 app/state/hackathon/HackathonProvider.js delete mode 100644 app/state/index.js create mode 100644 app/state/scavHunt/ScavHuntContext.js create mode 100644 app/state/scavHunt/ScavHuntProvider.js diff --git a/App.js b/App.js index b9df5282..37a7bc7c 100644 --- a/App.js +++ b/App.js @@ -3,7 +3,6 @@ import React, { useState, useEffect } from "react"; import { WebView } from "react-native-webview"; import UserAgent from "react-native-user-agent"; import { fetchHackathonData } from "./app/cms"; -import { HackathonContext } from "./app/state/context"; import { StatusBar, Modal, SafeAreaView, Platform, View } from "react-native"; import { LoginOnboarding } from "./app/features/onboarding/LoginOnboarding"; import SplashScreen from "./app/components/SplashScreen"; @@ -36,7 +35,7 @@ import { ScavengerHuntStackScreen, CheckInStackScreen, } from "./app/navigation"; -import { HackathonProvider } from "./app/state"; +import { HackathonProvider } from "./app/state/hackathon"; import { ThemeProvider } from "./app/contexts/ThemeContext"; import { AuthProvider, AuthContext } from "./app/contexts/AuthContext"; import { app } from "./firebase"; diff --git a/app/components/FilterSelect.js b/app/components/FilterSelect.js index 5667a66c..eb5f4d17 100644 --- a/app/components/FilterSelect.js +++ b/app/components/FilterSelect.js @@ -1,6 +1,6 @@ import { StyleSheet, View, Text } from "react-native"; import React, { useState, useContext } from "react"; -import { HackathonContext } from "../state/context"; +import { HackathonContext } from "../state/hackathon"; import { ThemeContext } from "../contexts/ThemeContext"; import { TouchableOpacity } from "react-native-gesture-handler"; diff --git a/app/features/checkin/QRScan.js b/app/features/checkin/QRScan.js index 0fbe4f20..22b15924 100644 --- a/app/features/checkin/QRScan.js +++ b/app/features/checkin/QRScan.js @@ -6,7 +6,7 @@ import { RNCamera } from "react-native-camera"; import { TouchableOpacity } from "react-native-gesture-handler"; import { request, PERMISSIONS } from "react-native-permissions"; import { logInteraction } from "../../yac"; -import { HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; import { ThemeContext } from "../../contexts/ThemeContext"; function QRScan(props) { diff --git a/app/features/information/InformationTab.js b/app/features/information/InformationTab.js index e39d25ed..102e0ea2 100644 --- a/app/features/information/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -8,7 +8,7 @@ import { ScrollView, Alert, } from "react-native"; -import { HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; import { Card } from "../../components/Card"; import { Linking } from "react-native"; import FontMarkdown from "../../components/FontMarkdown"; diff --git a/app/features/onboarding/EventOnboarding.js b/app/features/onboarding/EventOnboarding.js index 2ea1c6b1..5bef22ac 100644 --- a/app/features/onboarding/EventOnboarding.js +++ b/app/features/onboarding/EventOnboarding.js @@ -19,7 +19,7 @@ import BackButton from "../../../assets/images/Back"; import ContinueButton from "../../../assets/images/ContinueButton"; import QRCode from "react-native-qrcode-svg"; import { Linking } from "react-native"; -import { HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; import { ThemeContext } from "../../contexts/ThemeContext"; import { AuthContext } from "../../contexts/AuthContext"; diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index b4938629..dacb2a06 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -11,7 +11,7 @@ import { import { logInteraction } from "../../yac"; import AsyncStorage from "@react-native-community/async-storage"; import RBSheet from "react-native-raw-bottom-sheet"; -import { ScavHuntContext } from "../../state/context"; +import { ScavHuntContext } from "../../state/scavHunt"; import DismissModal from "../../../assets/images/DismissModal.svg"; import CorrectAnswer from "../../../assets/images/CorrectAnswer.svg"; import IncorrectAnswer from "../../../assets/images/IncorrectAnswer.svg"; diff --git a/app/features/scavengerHunt/ScavengerHuntStackScreen.js b/app/features/scavengerHunt/ScavengerHuntStackScreen.js index f36c67c2..92d0689b 100644 --- a/app/features/scavengerHunt/ScavengerHuntStackScreen.js +++ b/app/features/scavengerHunt/ScavengerHuntStackScreen.js @@ -4,7 +4,7 @@ import { ScavHuntCrossword } from "./ScavHuntCrossword"; import { ScavengerHuntTab } from "./ScavengerHuntTab"; import { ScavengerHuntStack } from "../../navigation"; import { dynamicStyles } from "../../theme"; -import ScavHuntProvider from "../../state/scavHunt"; +import { ScavHuntProvider } from "../../state/scavHunt"; import { ScavHuntItem } from "./ScavHuntItem"; import HackGTIcon from "../../../assets/images/HackGTIcon"; import { AuthContext } from "../../contexts/AuthContext"; diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index 46e08350..a872dd84 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -10,7 +10,8 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-native-fontawesome"; import { faLock } from "@fortawesome/free-solid-svg-icons"; import AsyncStorage from "@react-native-community/async-storage"; -import { HackathonContext, ScavHuntContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; +import { ScavHuntContext } from "../../state/scavHunt"; import { fetchServerTime } from "../../cms"; import moment from "moment-timezone"; import QRCode from "react-native-qrcode-svg"; diff --git a/app/features/schedule/EventBottomSheet.js b/app/features/schedule/EventBottomSheet.js index 0ef3d4ba..068fb7ae 100644 --- a/app/features/schedule/EventBottomSheet.js +++ b/app/features/schedule/EventBottomSheet.js @@ -5,7 +5,7 @@ import RBSheet from "react-native-raw-bottom-sheet"; import X from "../../../assets/images/X"; import RemoveStarButton from "../../../assets/images/RemoveFromCalendarButton"; import AddStarButton from "../../../assets/images/AddToCalendarButton"; -import { HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; import FontMarkdown from "../../components/FontMarkdown"; import { Linking } from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; diff --git a/app/features/schedule/ScheduleEventCell.js b/app/features/schedule/ScheduleEventCell.js index 35243d20..4cf150dc 100644 --- a/app/features/schedule/ScheduleEventCell.js +++ b/app/features/schedule/ScheduleEventCell.js @@ -2,7 +2,7 @@ import React, { Component, useState, useContext } from "react"; import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; import StarOff from "../../../assets/images/StarOff"; import StarOn from "../../../assets/images/StarOn"; -import { HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; import { EventTypeView } from "./EventTypeView"; import { Card } from "../../components/Card"; import { ThemeContext } from "../../contexts/ThemeContext"; diff --git a/app/features/schedule/ScheduleSearch.js b/app/features/schedule/ScheduleSearch.js index 897e2879..2de28c68 100644 --- a/app/features/schedule/ScheduleSearch.js +++ b/app/features/schedule/ScheduleSearch.js @@ -1,5 +1,5 @@ import React, { useState, useContext, useRef } from "react"; -import { HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; import { getEventsForDay, getDaysForEvent } from "../../cms/DataHandler"; import { SearchBar } from "react-native-elements"; import { diff --git a/app/features/schedule/ScheduleStackScreen.js b/app/features/schedule/ScheduleStackScreen.js index 8f5d0a95..a2052d6d 100644 --- a/app/features/schedule/ScheduleStackScreen.js +++ b/app/features/schedule/ScheduleStackScreen.js @@ -5,7 +5,7 @@ import { useDynamicStyleSheet } from "react-native-dark-mode"; import { ScheduleSearch } from "./ScheduleSearch"; import { ScheduleTab } from "./ScheduleTab"; -import { HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; import { ScheduleStack } from "../../navigation"; import { dynamicStyles } from "../../theme"; diff --git a/app/features/schedule/ScheduleTab.js b/app/features/schedule/ScheduleTab.js index 20287ad9..1cdb5bef 100644 --- a/app/features/schedule/ScheduleTab.js +++ b/app/features/schedule/ScheduleTab.js @@ -8,7 +8,7 @@ import { AppState, Text, } from "react-native"; -import { HackathonContext } from "../../state/context"; +import { HackathonContext } from "../../state/hackathon"; import WhatsHappeningNow from "../../../assets/images/HappeningNow"; import { ScheduleEventCell } from "./ScheduleEventCell"; import { ScheduleDayView } from "./ScheduleDayView"; diff --git a/app/state/context.js b/app/state/context.js deleted file mode 100644 index 27c38d0e..00000000 --- a/app/state/context.js +++ /dev/null @@ -1,4 +0,0 @@ -import React from "react"; - -export const HackathonContext = React.createContext(); -export const ScavHuntContext = React.createContext(); diff --git a/app/state/hackathon/HackathonContext.js b/app/state/hackathon/HackathonContext.js new file mode 100644 index 00000000..ea09e8ba --- /dev/null +++ b/app/state/hackathon/HackathonContext.js @@ -0,0 +1,5 @@ +import React from "react"; + +const HackathonContext = React.createContext(); + +export default HackathonContext; diff --git a/app/state/hackathon/HackathonProvider.js b/app/state/hackathon/HackathonProvider.js new file mode 100644 index 00000000..a747bda1 --- /dev/null +++ b/app/state/hackathon/HackathonProvider.js @@ -0,0 +1,31 @@ +import React from "react"; +import { hackathonReducer } from "./HackathonReducer"; +import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE } from "./HackathonActionTypes"; +import HackathonContext from "./HackathonContext"; + +export default function HackathonProvider({ initialValue, children }) { + const [state, dispatch] = React.useReducer(hackathonReducer, initialValue); + + // could set state to state from useReducer, but for some reason it sets eventTypes to an emtpy array, so I'm just directly setting state to initialValues + const value = { + state: state, + toggleStar: (event) => + dispatch({ + type: TOGGLE_STAR, + value: event, + }), + toggleIsStarSchedule: () => + dispatch({ + type: TOGGLE_STAR_SCHEDULE, + value: null, + }), + }; + + console.log("value", value, initialValue); + + return ( + + {children} + + ); +} diff --git a/app/state/hackathon/index.js b/app/state/hackathon/index.js index 3b4c5ea1..18202fe7 100644 --- a/app/state/hackathon/index.js +++ b/app/state/hackathon/index.js @@ -1,31 +1,2 @@ -import React from "react"; -import { hackathonReducer } from "./HackathonReducer"; -import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE } from "./HackathonActionTypes"; -import { HackathonContext } from "../context"; - -export default function HackathonProvider({ initialValue, children }) { - const [state, dispatch] = React.useReducer(hackathonReducer, initialValue); - - // could set state to state from useReducer, but for some reason it sets eventTypes to an emtpy array, so I'm just directly setting state to initialValues - const value = { - state: state, - toggleStar: (event) => - dispatch({ - type: TOGGLE_STAR, - value: event, - }), - toggleIsStarSchedule: () => - dispatch({ - type: TOGGLE_STAR_SCHEDULE, - value: null, - }), - }; - - console.log("value", value, initialValue); - - return ( - - {children} - - ); -} +export { default as HackathonProvider } from "./HackathonProvider"; +export { default as HackathonContext } from "./HackathonContext"; diff --git a/app/state/index.js b/app/state/index.js deleted file mode 100644 index 782e4592..00000000 --- a/app/state/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { default as ScavHuntProvider } from "./scavHunt"; -export { default as HackathonProvider } from "./hackathon"; diff --git a/app/state/scavHunt/ScavHuntContext.js b/app/state/scavHunt/ScavHuntContext.js new file mode 100644 index 00000000..f8a77b7b --- /dev/null +++ b/app/state/scavHunt/ScavHuntContext.js @@ -0,0 +1,5 @@ +import React from "react"; + +const ScavHuntContext = React.createContext(); + +export default ScavHuntContext; diff --git a/app/state/scavHunt/ScavHuntProvider.js b/app/state/scavHunt/ScavHuntProvider.js new file mode 100644 index 00000000..3dfeefac --- /dev/null +++ b/app/state/scavHunt/ScavHuntProvider.js @@ -0,0 +1,23 @@ +import React from "react"; +import { initialValue, scavHuntReducer } from "./ScavHuntReducer"; +import { COMPLETE_HINT } from "./ScavHuntActionTypes"; +import ScavHuntContext from "./ScavHuntContext"; + +export default function ScavHuntProvider({ children }) { + const [state, dispatch] = React.useReducer(scavHuntReducer, initialValue); + + const value = { + state: state, + completeHint: (id) => + dispatch({ + type: COMPLETE_HINT, + value: id, + }), + }; + + return ( + + {children} + + ); +} diff --git a/app/state/scavHunt/index.js b/app/state/scavHunt/index.js index 8ed5820d..42b1114c 100644 --- a/app/state/scavHunt/index.js +++ b/app/state/scavHunt/index.js @@ -1,23 +1,2 @@ -import React from "react"; -import { initialValue, scavHuntReducer } from "./ScavHuntReducer"; -import { COMPLETE_HINT } from "./ScavHuntActionTypes"; -import { ScavHuntContext } from "../context"; - -export default function ScavHuntProvider({ children }) { - const [state, dispatch] = React.useReducer(scavHuntReducer, initialValue); - - const value = { - state: state, - completeHint: (id) => - dispatch({ - type: COMPLETE_HINT, - value: id, - }), - }; - - return ( - - {children} - - ); -} +export { default as ScavHuntProvider } from "./ScavHuntProvider"; +export { default as ScavHuntContext } from "./ScavHuntContext"; From b470dbb7f9810c8e037fb232800661bfb6c7a365 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Sat, 1 Oct 2022 11:46:35 -0400 Subject: [PATCH 049/102] added logout button to info tab and made it so inappbrowser does not reuse cookies on iOS --- App.js | 2 +- app/features/information/InformationTab.js | 15 ++++++++++++++- app/features/onboarding/LoginOnboarding.js | 2 +- ios/GoogleService-Info.plist | 12 ++++++------ ios/Podfile.lock | 4 ++-- 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/App.js b/App.js index 37a7bc7c..52d0816f 100644 --- a/App.js +++ b/App.js @@ -411,6 +411,6 @@ function App(props) { ); -} + } export default App; diff --git a/app/features/information/InformationTab.js b/app/features/information/InformationTab.js index 102e0ea2..1d8ad512 100644 --- a/app/features/information/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -13,8 +13,11 @@ import { Card } from "../../components/Card"; import { Linking } from "react-native"; import FontMarkdown from "../../components/FontMarkdown"; import { ThemeContext } from "../../contexts/ThemeContext"; +import { getAuth } from "firebase/auth"; +import { app } from '../../../firebase' export function InformationTab(props) { + const auth = getAuth(app); const { state } = useContext(HackathonContext); const { dynamicStyles } = useContext(ThemeContext); const hackathon = state.hackathon; @@ -100,7 +103,17 @@ export function InformationTab(props) { {headerButtons} - + { + auth.signOut() + }}> + {"Log Out"} + {infoBlocks.map((block, i) => ( diff --git a/app/features/onboarding/LoginOnboarding.js b/app/features/onboarding/LoginOnboarding.js index 685bc370..63738a28 100644 --- a/app/features/onboarding/LoginOnboarding.js +++ b/app/features/onboarding/LoginOnboarding.js @@ -31,7 +31,7 @@ export function LoginOnboarding(props) { const result = await InAppBrowser.openAuth( LOGIN_URL + redirect, deepLink, - {} + { ephemeralWebSession: true } ); if (result.type === "success") { const splitUrl = result.url.split("?"); diff --git a/ios/GoogleService-Info.plist b/ios/GoogleService-Info.plist index 7e9a2154..6f2ac1ef 100644 --- a/ios/GoogleService-Info.plist +++ b/ios/GoogleService-Info.plist @@ -19,16 +19,16 @@ STORAGE_BUCKET hexlabs-cloud.appspot.com IS_ADS_ENABLED - + IS_ANALYTICS_ENABLED - + IS_APPINVITE_ENABLED - + IS_GCM_ENABLED - + IS_SIGNIN_ENABLED - + GOOGLE_APP_ID 1:676515457846:ios:f999aee861afaba13fa197 - \ No newline at end of file + diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 8d55325c..aa85d304 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -556,7 +556,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: f1c419fe650abad7add5d3dd7b5c2399aacf99d2 + FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -615,4 +615,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: e1f418a9f57dd614e87ed172b615b101271eb2d5 -COCOAPODS: 1.11.3 +COCOAPODS: 1.11.2 From 3f580a2606eb96b81d4026fb17029db8c7cc14f1 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Sat, 1 Oct 2022 12:31:06 -0400 Subject: [PATCH 050/102] Refactored and cleaned up code, as well as fixing bug where background was white while events were loading, event if in dark mode --- app/features/checkin/CheckInStackScreen.js | 11 + app/features/checkin/CheckInTab.js | 222 +++++++++------------ app/features/checkin/InteractionScreen.js | 112 +++++++++++ 3 files changed, 218 insertions(+), 127 deletions(-) create mode 100644 app/features/checkin/InteractionScreen.js diff --git a/app/features/checkin/CheckInStackScreen.js b/app/features/checkin/CheckInStackScreen.js index fb23dced..4d222057 100644 --- a/app/features/checkin/CheckInStackScreen.js +++ b/app/features/checkin/CheckInStackScreen.js @@ -2,6 +2,7 @@ import React from "react"; import { useDynamicStyleSheet } from "react-native-dark-mode"; import { CheckInTab } from "./CheckInTab"; +import { InteractionScreen } from './InteractionScreen'; import { CheckInStack } from "../../navigation"; import { dynamicStyles } from "../../theme"; import HackGTIcon from "../../../assets/images/HackGTIcon"; @@ -24,6 +25,16 @@ export default function CheckInStackScreen({ navigation }) { > {(props) => } + , + headerStyle: dStyles.tabBarBackgroundColor, + headerLeft: null, + }} + name="InteractionScreen" + component={InteractionScreen} + /> ); }} diff --git a/app/features/checkin/CheckInTab.js b/app/features/checkin/CheckInTab.js index bf6b2b9a..11ad4d71 100644 --- a/app/features/checkin/CheckInTab.js +++ b/app/features/checkin/CheckInTab.js @@ -63,150 +63,118 @@ export function CheckInTab(props) { }; const onPressEvent = (event) => { - if (event) { - setSelectedEvent(event); - } else { - setSelectedEvent(null); - } + props.navigation.navigate("InteractionScreen", { + selectedEvent: event + }); + // if (event) { + // setSelectedEvent(event); + // } else { + // setSelectedEvent(null); + // } }; - if (events != null) { // there are no events getting properly populated - var formattedEvents = []; - var shownEvents = searchText.length != 0 ? searchResults : events; - shownEvents.forEach((event) => { + // var formattedEvents = []; + // var shownEvents = searchText.length != 0 ? searchResults : events; + + const formattedEvents = !events ? [] : events.filter(e => e.name.includes(searchText)).map(event => { const eventType = event != null && event.type != null ? event.type : { name: "none", color: "gray" }; const loc = event != null && - event.location != null && - event.location[0] != null && - event.location[0].name != null + event.location != null && + event.location[0] != null && + event.location[0].name != null ? event.location[0].name + " • " : ""; - formattedEvents.push( - { + onPressEvent(event); + }} + > + { - onPressEvent(event); - }} - > - - - ); - }); - if (selectedEvent == null) { - return ( - - - - } - containerStyle={[ - styles.searchContainer, - dynamicStyles.backgroundColor, - dynamicStyles.searchBorderTopColor, - dynamicStyles.searchBorderBottomColor, - { flex: 1 }, - ]} - inputContainerStyle={[ - styles.inputContainer, - dynamicStyles.searchBackgroundColor, - ]} - clearIcon={null} - lightTheme - round - placeholder="Search..." - onChangeText={(value) => searchEvents(value)} - value={searchText} - /> - + name={event.name} + startTime={event.startTime} + endTime={event.endTime} + location={loc} + type={eventType} + dynamicStyles={dynamicStyles} + /> + + }) - - - {formattedEvents} - - + // shownEvents.forEach((event) => { + // const eventType = + // event != null && event.type != null + // ? event.type + // : { name: "none", color: "gray" }; + // const loc = + // event != null && + // event.location != null && + // event.location[0] != null && + // event.location[0].name != null + // ? event.location[0].name + " • " + // : ""; + // formattedEvents.push( + // { + // onPressEvent(event); + // }} + // > + // + // + // ); + // }); + + return ( + + + + } + containerStyle={[ + styles.searchContainer, + dynamicStyles.backgroundColor, + dynamicStyles.searchBorderTopColor, + dynamicStyles.searchBorderBottomColor, + { flex: 1 }, + ]} + inputContainerStyle={[ + styles.inputContainer, + dynamicStyles.searchBackgroundColor, + ]} + clearIcon={null} + lightTheme + round + placeholder="Search..." + onChangeText={(value) => searchEvents(value)} + value={searchText} + /> - ); - } else { - return ( - - - { - onPressEvent(null); - }} - > - - {"< Back"} - - - - {selectedEvent.name} - - - {selectedEvent != null && - selectedEvent.location != null && - selectedEvent.location[0] != null && - selectedEvent.location[0].name != null - ? selectedEvent.location[0].name + " • " - : ""} - {selectedEvent.startTime + " - " + selectedEvent.endTime} - - + + + {formattedEvents} - ); - } - } else { - return ; - } + + ); } const styles = StyleSheet.create({ diff --git a/app/features/checkin/InteractionScreen.js b/app/features/checkin/InteractionScreen.js new file mode 100644 index 00000000..2706ebc3 --- /dev/null +++ b/app/features/checkin/InteractionScreen.js @@ -0,0 +1,112 @@ +import React, { useContext } from 'react'; +import { ScrollView, Text, Pressable, View, StyleSheet } from 'react-native'; +import { createIconSetFromFontello } from 'react-native-vector-icons'; +import { ThemeContext } from "../../contexts/ThemeContext"; +import { ScanScreen } from "./ScanScreen"; + +export function InteractionScreen(props) { + const selectedEvent = props.route.params.selectedEvent; + const { dynamicStyles } = useContext(ThemeContext); + console.log('nav: ', props.navigation) + return ( + + + { + props.navigation.goBack(); + }} + > + + {"< Back"} + + + + + {selectedEvent.name} + + + {selectedEvent != null && + selectedEvent.location != null && + selectedEvent.location[0] != null && + selectedEvent.location[0].name != null + ? selectedEvent.location[0].name + " • " + : ""} + {selectedEvent.startTime + " - " + selectedEvent.endTime} + + + + + ); +} + +const styles = StyleSheet.create({ + backButton: { + alignItems: "flex-start", + }, + + backButtontext: { + fontFamily: "SpaceMono-Bold", + fontSize: 17, + marginTop: 10, + }, + + header: { + fontFamily: "SpaceMono-Bold", + textAlign: "center", + fontSize: 22, + marginBottom: 10, + flexDirection: "row", + alignItems: "center", + }, + + title: { + fontFamily: "SpaceMono-Bold", + fontSize: 22, + marginBottom: 10, + marginTop: 10, + textAlign: "center", + }, + + eventContainer: { + marginHorizontal: 15, + flex: 1, + }, + inputContainer: { + height: 41, + }, + searchContainer: { + width: Platform.OS === "ios" ? "80%" : "100%", + borderWidth: 0, + }, +}); From 03daecd82ca4b6d15c168fac3ea5efc26afca359 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Sat, 1 Oct 2022 12:39:59 -0400 Subject: [PATCH 051/102] Additional Refactor --- app/features/checkin/QRScan.js | 178 ------------------------- app/features/checkin/ScanScreen.js | 204 ++++++++++++++++++++++++----- 2 files changed, 174 insertions(+), 208 deletions(-) delete mode 100644 app/features/checkin/QRScan.js diff --git a/app/features/checkin/QRScan.js b/app/features/checkin/QRScan.js deleted file mode 100644 index 22b15924..00000000 --- a/app/features/checkin/QRScan.js +++ /dev/null @@ -1,178 +0,0 @@ -import React, { useState, useEffect, useContext, useRef } from "react"; -import { Text, StyleSheet, View, Alert, Dimensions } from "react-native"; -import Toggle from "react-native-toggle-element"; -import QRCodeScanner from "react-native-qrcode-scanner"; -import { RNCamera } from "react-native-camera"; -import { TouchableOpacity } from "react-native-gesture-handler"; -import { request, PERMISSIONS } from "react-native-permissions"; -import { logInteraction } from "../../yac"; -import { HackathonContext } from "../../state/hackathon"; -import { ThemeContext } from "../../contexts/ThemeContext"; - -function QRScan(props) { - const { hackathon } = useContext(HackathonContext); - const { dynamicStyles } = useContext(ThemeContext); - const [toggleValue, setToggleValue] = useState(false); - const [uid, setUid] = useState(""); - const [fName, setfName] = useState(""); - const [lName, setlName] = useState(""); - const [email, setEmail] = useState(""); - const [status, setStatus] = useState(-1); - const scanner = useRef(null); - - const styles = StyleSheet.create({ - centerText: { - flex: 1, - fontSize: 14, - padding: 4, - color: "#777", - fontFamily: "SpaceMono-Bold", - }, - textBold: { - fontWeight: "500", - color: "#000", - }, - buttonText: { - fontSize: 21, - }, - buttonTouchable: { - padding: 16, - }, - }); - useEffect(() => { - console.log("235"); - console.log("ID: ", hackathon); - request(PERMISSIONS.IOS.CAMERA).then((result) => { - console.log("asdf"); - console.log(result); - }); - }, []); - const onSuccess = async (e) => { - console.log("QR code scanned!", e); - const json = JSON.parse(e.data); - if (json.uid) { - setEmail(json.email); - setfName(json.name.first); - setlName(json.name.last); - setUid(json.uid); - const res = await logInteraction( - hackathon.name, - "event", - json.uid, - props.eventID - ); - setStatus(res.status); - console.log("RES: ", res); - if (res.status !== 200) { - createAlert(res.json.message); - } else { - setTimeout(() => { - if (scanner && scanner.current) { - scanner.current.reactivate(); - } - }, 2000); - } - } else { - createAlert("Invalid QR Code"); - } - }; - - const createAlert = (message) => - Alert.alert("Error", message, [ - { - text: "OK", - onPress: () => { - if (scanner && scanner.current) { - scanner.current.reactivate(); - } - }, - }, - ]); - - return ( - - - - {status === 200 - ? "Success!" - : status === -1 - ? "Scan to get started!" - : "Try again!"} - - {"Name: " + fName + " " + lName} - {"Email: " + email} - {"ID: " + uid} - - - QR Code - - } - rightComponent={ - - NFC - - } - trackBar={{ - width: 200, - activeBackgroundColor: dynamicStyles.trackBarBackground.color, - inActiveBackgroundColor: dynamicStyles.trackBarBackground.color, - borderActiveColor: dynamicStyles.trackBarBackground.color, - borderInActiveColor: dynamicStyles.trackBarBackground.color, - borderWidth: 3, - }} - thumbButton={{ - width: 100, - activeBackgroundColor: - dynamicStyles.toggleThumbBackgroundColor.color, - inActiveBackgroundColor: - dynamicStyles.toggleThumbBackgroundColor.color, - }} - /> - - - {!toggleValue ? ( - - ) : ( - test - )} - - ); -} - -export default QRScan; diff --git a/app/features/checkin/ScanScreen.js b/app/features/checkin/ScanScreen.js index 522f77dd..d6b5011f 100644 --- a/app/features/checkin/ScanScreen.js +++ b/app/features/checkin/ScanScreen.js @@ -1,36 +1,180 @@ -import React from "react"; -import { View, StyleSheet } from "react-native"; -import QRScan from "./QRScan"; +import React, { useState, useEffect, useContext, useRef } from "react"; +import { Text, StyleSheet, View, Alert, Dimensions } from "react-native"; +import Toggle from "react-native-toggle-element"; +import QRCodeScanner from "react-native-qrcode-scanner"; +import { RNCamera } from "react-native-camera"; +import { TouchableOpacity } from "react-native-gesture-handler"; +import { request, PERMISSIONS } from "react-native-permissions"; + +import { logInteraction } from "../../yac"; +import { HackathonContext } from "../../state/hackathon"; +import { ThemeContext } from "../../contexts/ThemeContext"; export function ScanScreen(props) { + const { hackathon } = useContext(HackathonContext); + const { dynamicStyles } = useContext(ThemeContext); + const [toggleValue, setToggleValue] = useState(false); + const [uid, setUid] = useState(""); + const [fName, setfName] = useState(""); + const [lName, setlName] = useState(""); + const [email, setEmail] = useState(""); + const [status, setStatus] = useState(-1); + const scanner = useRef(null); + + const styles = StyleSheet.create({ + container: { + paddingBottom: 10 + }, + centerText: { + flex: 1, + fontSize: 14, + padding: 4, + color: "#777", + fontFamily: "SpaceMono-Bold", + }, + textBold: { + fontWeight: "500", + color: "#000", + }, + buttonText: { + fontSize: 21, + }, + buttonTouchable: { + padding: 16, + }, + }); + useEffect(() => { + console.log("235"); + console.log("ID: ", hackathon); + request(PERMISSIONS.IOS.CAMERA).then((result) => { + console.log("asdf"); + console.log(result); + }); + }, []); + const onSuccess = async (e) => { + console.log("QR code scanned!", e); + const json = JSON.parse(e.data); + if (json.uid) { + setEmail(json.email); + setfName(json.name.first); + setlName(json.name.last); + setUid(json.uid); + const res = await logInteraction( + hackathon.name, + "event", + json.uid, + props.eventID + ); + setStatus(res.status); + console.log("RES: ", res); + if (res.status !== 200) { + createAlert(res.json.message); + } else { + setTimeout(() => { + if (scanner && scanner.current) { + scanner.current.reactivate(); + } + }, 2000); + } + } else { + createAlert("Invalid QR Code"); + } + }; + + const createAlert = (message) => + Alert.alert("Error", message, [ + { + text: "OK", + onPress: () => { + if (scanner && scanner.current) { + scanner.current.reactivate(); + } + }, + }, + ]); + return ( - - + + + + {status === 200 + ? "Success!" + : status === -1 + ? "Scan to get started!" + : "Try again!"} + + {"Name: " + fName + " " + lName} + {"Email: " + email} + {"ID: " + uid} + + + QR Code + + } + rightComponent={ + + NFC + + } + trackBar={{ + width: 200, + activeBackgroundColor: dynamicStyles.trackBarBackground.color, + inActiveBackgroundColor: dynamicStyles.trackBarBackground.color, + borderActiveColor: dynamicStyles.trackBarBackground.color, + borderInActiveColor: dynamicStyles.trackBarBackground.color, + borderWidth: 3, + }} + thumbButton={{ + width: 100, + activeBackgroundColor: + dynamicStyles.toggleThumbBackgroundColor.color, + inActiveBackgroundColor: + dynamicStyles.toggleThumbBackgroundColor.color, + }} + /> + + + {toggleValue ? ( + test + ) : ( + + )} ); } - -const styles = StyleSheet.create({ - card: { - marginBottom: 10, - }, - - titleFont: { - fontSize: 16, - width: "90%", - fontWeight: "bold", - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - marginRight: 10, - }, - - subtitleFont: { - marginTop: 2, - fontFamily: "SpaceMono-Regular", - letterSpacing: 0.005, - }, - - wrappable: { - flexWrap: "wrap", - }, -}); From abc19e2d1d7110f4086895c616300b2a13282156 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Sun, 2 Oct 2022 18:53:27 -0400 Subject: [PATCH 052/102] added nfc functionality --- app/NFCScanning/NDEFParser.ts | 151 -------- app/NFCScanning/Scanning.js | 216 ----------- app/NFCScanning/nfc.js | 85 +++-- app/features/checkin/ScanScreen.js | 31 +- ios/AppGT/HackGT.entitlements | 5 + ios/AppGT/Info.plist | 2 + ios/Podfile.lock | 6 + package-lock.json | 558 +++++++++++++++++++++++++++-- package.json | 8 +- 9 files changed, 626 insertions(+), 436 deletions(-) delete mode 100644 app/NFCScanning/NDEFParser.ts delete mode 100644 app/NFCScanning/Scanning.js diff --git a/app/NFCScanning/NDEFParser.ts b/app/NFCScanning/NDEFParser.ts deleted file mode 100644 index 66b151cb..00000000 --- a/app/NFCScanning/NDEFParser.ts +++ /dev/null @@ -1,151 +0,0 @@ -import { Buffer } from "buffer"; - -enum ParserState { - None, - NDEFInitial, - NDEFTypeLength, - NDEFPayloadLength, - NDEFRecordType, - NDEFData -} -enum WellKnownType { - Unknown, - Text, - URI -} - -export default class NDEFParser { - private state = ParserState.None; - private ndefType = WellKnownType.Unknown; - private recordTypeLength = 1; - private initialDataByte = NaN; - private content: Buffer = Buffer.alloc(0); - private contentIndex = 0; - constructor(public readonly buffer: Buffer) { - for (let i = 0; i < buffer.length; i++) { - const byte = buffer[i]; - console.log('buffer ', i, ': ', buffer[i]) - if (this.state === ParserState.None) { - if (byte === 0x00) { - // NULL block, skip - i++; - continue; - } - if (byte === 0x03 && buffer.length > i + 2 && buffer[i + 2] === 0xD1) { - // NDEF message - // Skip length field for now - i++; - this.state = ParserState.NDEFInitial; - continue; - } - } - else if (this.state === ParserState.NDEFInitial) { - if ((byte & 1 << 0) !== 1) { - throw new Error("Only NFC Well Known Records are supported"); - } - if ((byte & 1 << 4) === 0) { - throw new Error("Only short records supported currently"); - } - if ((byte & 1 << 6) === 0) { - throw new Error("Message must be end message currently"); - } - if ((byte & 1 << 7) === 0) { - throw new Error("Message must be beginning message currently"); - } - this.state = ParserState.NDEFTypeLength; - } - else if (this.state === ParserState.NDEFTypeLength) { - this.recordTypeLength = byte; - this.state = ParserState.NDEFPayloadLength; - } - else if (this.state === ParserState.NDEFPayloadLength) { - this.content = Buffer.alloc(byte); - this.contentIndex = 0; - this.state = ParserState.NDEFRecordType; - } - else if (this.state === ParserState.NDEFRecordType) { - if (byte === 0x54) { - this.ndefType = WellKnownType.Text; - } - if (byte === 0x55) { - this.ndefType = WellKnownType.URI; - } - this.initialDataByte = NaN; - this.state = ParserState.NDEFData; - } - else if (this.state === ParserState.NDEFData) { - if (byte === 0xFE) { - this.state = ParserState.None; - continue; - } - this.content[this.contentIndex] = byte; - this.contentIndex++; - } - } - } - public getURI(): string { - if (this.content.length < 2 || this.ndefType !== WellKnownType.URI) { - throw new Error("No URI found in parsed content"); - } - return this.getProtocol(this.content[0]) + this.content.slice(1, this.content.length).toString("utf8"); - } - public getText(): string { - if (this.content.length < 4 || this.ndefType !== WellKnownType.Text) { - throw new Error("No text content found on tag"); - } - const languageCodeLength = this.content[0]; - return this.content.slice(1 + languageCodeLength, this.content.length).toString("utf8"); - } - public getContent(): string { - if (this.ndefType === WellKnownType.Text) { - return this.getText(); - } - else if (this.ndefType === WellKnownType.URI) { - return this.getURI(); - } - else { - return ""; - } - } - private getProtocol(identifier: number): string { - switch (identifier) { - case 0x00: return "" - case 0x01: return "http://www." - case 0x02: return "https://www." - case 0x03: return "http://" - case 0x04: return "https://" - case 0x05: return "tel:" - case 0x06: return "mailto:" - case 0x07: return "ftp://anonymous:anonymous@" - case 0x08: return "ftp://ftp." - case 0x09: return "ftps://" - case 0x0A: return "sftp://" - case 0x0B: return "smb://" - case 0x0C: return "nfs://" - case 0x0D: return "ftp://" - case 0x0E: return "dav://" - case 0x0F: return "news:" - case 0x10: return "telnet://" - case 0x11: return "imap:" - case 0x12: return "rtsp://" - case 0x13: return "urn:" - case 0x14: return "pop:" - case 0x15: return "sip:" - case 0x16: return "sips:" - case 0x17: return "tftp:" - case 0x18: return "btspp://" - case 0x19: return "btl2cap://" - case 0x1A: return "btgoep://" - case 0x1B: return "tcpobex://" - case 0x1C: return "irdaobex://" - case 0x1D: return "file://" - case 0x1E: return "urn: epc: id:" - case 0x1F: return "urn: epc: tag:" - case 0x20: return "urn: epc: pat:" - case 0x21: return "urn: epc: raw:" - case 0x22: return "urn: epc:" - case 0x23: return "urn: nfc:" - } - return ""; - } -} diff --git a/app/NFCScanning/Scanning.js b/app/NFCScanning/Scanning.js deleted file mode 100644 index 3211e608..00000000 --- a/app/NFCScanning/Scanning.js +++ /dev/null @@ -1,216 +0,0 @@ -import React, { useState, useEffect, useRef } from 'react'; -import { Buffer } from 'buffer'; -import { SafeAreaView, Text, TouchableOpacity, StyleSheet, View, Dimensions, ScrollView, TextInput, FlatList } from 'react-native'; -import RBSheet from "react-native-raw-bottom-sheet"; -import NDEFParser from './NDEFParser'; -import { initNfc, readNdef } from './nfc'; -import { notifyEventAttendence } from '../yac'; -import { getCMSEvent } from '../cms'; - -export function Scanning(props) { - const sheetRef = useRef() - const [shouldScan, setShouldScan] = useState(true) - const [uuid, setUuid] = useState("") - const [errorCode, setErrorCode] = useState(null) - const [showCompleteModal, setShowCompleteModal] = useState(false) - const [forceScan, setForceScan] = useState(true) - const [searchStr, setSearchStr] = useState("") - const [events, setEvents] = useState([]) - const [selectedEvent, setSelectedEvent] = useState(null) - const [showDropdown, setShowDropdown] = useState(false) - const [displayedEvents, setDisplayedEvents] = useState([]) - - useEffect(() => { - console.log('Getting CMS events') - const func = async () => { - const events = await getCMSEvent() - console.log('events ', events) - setEvents(events) - } - - func() - }, []) - - useEffect(() => { - const func = async () => { - console.log('about to initialize nfc') - await initNfc() - console.log('finished initializing nfc') - const res = await readNdef() - const payload = res.ndefMessage[0].payload - const text = payload.reduce( - (acc, byte) => acc + String.fromCharCode(byte), '' - ) - console.log('reduced: ', text) - const match = text.match(/info.hack.gt\/?\?user=([a-f0-9\-]+)$/i); - if (!match) { - console.warn(`Invalid URL: ${text}`); - return; - } - const [, id] = match; - setUuid(id) - if (selectedEvent && id) { - const code = await notifyEventAttendence(id, selectedEvent ? selectedEvent.id : null, selectedEvent ? selectedEvent.type.name : null) - setErrorCode(code) - setShowCompleteModal(true) - sheetRef.current.open() - } else { - setErrorCode(420) - setShowCompleteModal(true) - sheetRef.current.open() - } - } - - func(); - }, [forceScan]) - - useEffect(() => { - setDisplayedEvents(events.filter(event => event.name.toLowerCase().includes(searchStr.toLowerCase()))) - }, [events]) - - useEffect(() => { - const newDisplayedEvents = events.filter(event => event.name.toLowerCase().includes(searchStr.toLowerCase())) - setDisplayedEvents(newDisplayedEvents) - }, [searchStr]) - - const scannedNotif = () => { - return ( - - {('Participant UUID: ' + uuid)} - - ) - } - - const sheetContent = () => { - return ( - - {errorCode === 200 ? 'Success!' : 'There was an issue, try again.'} - sheetRef.current.close()}> - {'Done'} - - - ) - } - - return ( - - <> - - {'MAGNITUDE!!!'} - {uuid ? scannedNotif() : null} - { - console.log('val ', val) - setSearchStr(val) - }} placeholder={'Search Events'} onFocus={() => { - setShowDropdown(true) - }} onSubmitEditing={() => { - // setShowDropdown(false) - }} /> - - - - - { - !selectedEvent ? null : - - - {selectedEvent.name} - - - - } - { - !showDropdown ? null : - - event.id} - renderItem={event => { - return ( - { - console.log('EVENT: ', event) - setSelectedEvent(event.item) - setShowDropdown(false) - setSearchStr("") - }}> - {event.item.name} - - ) - }} - ItemSeparatorComponent={() => { - return ( - - ) - }} - /> - - } - { - setForceScan(oldVal => !oldVal) - }}> - {'Start Scanning'} - - - { - setShowCompleteModal(false) - }} - customStyles={{ - container: { - borderTopLeftRadius: 20, - borderTopRightRadius: 20, - }, - draggableIcon: { - backgroundColor: 'white' - }, - }} - > - {sheetContent()} - - - - ) -}; - -async function onPressSend(uid, eventID, eventType, setError, setShowComplete, sRef) { - if (uid && eventID && eventType) { - const code = await notifyEventAttendence(uid, eventID, eventType) - setError(code) - setShowComplete(true) - sRef.current.open() - } else { - setError(420) - setShowComplete(true) - } -} - -async function notifyAttendence(uid, eventID, eventType) { - return await notifyEventAttendence(uid, eventID, eventType) -} - -const styles = StyleSheet.create({ - container: { - flexDirection: 'column', - alignItems: 'center', - padding: 20, - }, - - text: { - fontFamily: 'Arial', - fontSize: 20, - padding: 10 - }, - sheetStyle: { - flexDirection: 'column', - backgroundColor: 'white', - alignItems: 'center' - } -}); - -export default Scanning; diff --git a/app/NFCScanning/nfc.js b/app/NFCScanning/nfc.js index f957e513..70752502 100644 --- a/app/NFCScanning/nfc.js +++ b/app/NFCScanning/nfc.js @@ -1,34 +1,65 @@ -import NfcManager, {NfcEvents} from 'react-native-nfc-manager'; - +import NfcManager, {NfcEvents, NfcTech} from 'react-native-nfc-manager'; // Pre-step, call this before any NFC operations -export async function initNfc() { - await NfcManager.start(); +import ndef from 'ndef/lib/ndef'; +export async function initNfc(onDiscover) { + const isSupported = await NfcManager.isSupported(); + if (isSupported) { + await NfcManager.start(); + NfcManager.setEventListener(NfcEvents.DiscoverTag, tag => { + if (!tag) { + onDiscover(null); + return; + } + console.log('tag: ', tag) + // const text = tag.ndefMessage[0].payload.reduce( + // (acc, byte) => acc + String.fromCharCode(byte), '' + // ) + + const text = ndef.text.decodePayload(tag.ndefMessage[0].payload); + onDiscover(text) + }); + + const cleanUp = () => { + NfcManager.setEventListener(NfcEvents.DiscoverTag, null); + NfcManager.setEventListener(NfcEvents.SessionClosed, null); + } + + return cleanUp + } else { + console.log('Device not supported') + return null + } } -export function readNdef() { - print("ASDfasdfadsf") - const cleanUp = () => { - NfcManager.setEventListener(NfcEvents.DiscoverTag, null); - NfcManager.setEventListener(NfcEvents.SessionClosed, null); - }; +export async function readNFC() { + await NfcManager.registerTagEvent(); +} - return new Promise(resolve => { - let tagFound = null; +export async function writeNFC(text) { + let result = false; - NfcManager.setEventListener(NfcEvents.DiscoverTag, tag => { - tagFound = tag; - resolve(tagFound); - NfcManager.setAlertMessageIOS('NDEF tag found'); - NfcManager.unregisterTagEvent().catch(() => 0); - }); + try { + await NfcManager.requestTechnology(NfcTech.Ndef); - NfcManager.setEventListener(NfcEvents.SessionClosed, () => { - cleanUp(); - if (!tagFound) { - resolve(); - } - }); + console.log('encoding: ', text) + // const encoder = new TextEncoder(); + // const bytes = encoder.encode(text); + // const bytes = [ndef.encodeMessage(text)] + const byteArray = [...text].map(t => t.charCodeAt()) + const message = [ndef.textRecord(text)] + console.log('message: ',message) + const bytes = ndef.encodeMessage(message) + console.log('bytes: ', bytes) + if (bytes) { + await NfcManager.ndefHandler + .writeNdefMessage(bytes); + result = true; + } + } catch (ex) { + console.warn(ex); + } finally { + NfcManager.cancelTechnologyRequest(); + } - NfcManager.registerTagEvent(); - }); -} + return result; +} \ No newline at end of file diff --git a/app/features/checkin/ScanScreen.js b/app/features/checkin/ScanScreen.js index d6b5011f..c2518f6b 100644 --- a/app/features/checkin/ScanScreen.js +++ b/app/features/checkin/ScanScreen.js @@ -9,6 +9,7 @@ import { request, PERMISSIONS } from "react-native-permissions"; import { logInteraction } from "../../yac"; import { HackathonContext } from "../../state/hackathon"; import { ThemeContext } from "../../contexts/ThemeContext"; +import { initNfc, readNFC, writeNFC } from '../../NFCScanning/nfc'; export function ScanScreen(props) { const { hackathon } = useContext(HackathonContext); @@ -38,19 +39,29 @@ export function ScanScreen(props) { }, buttonText: { fontSize: 21, + color: dynamicStyles.toggleText.color, + fontFamily: "SpaceMono-Bold", }, - buttonTouchable: { + infoContainer: { padding: 16, }, + button: { + alignSelf: 'center' + } }); useEffect(() => { - console.log("235"); - console.log("ID: ", hackathon); request(PERMISSIONS.IOS.CAMERA).then((result) => { - console.log("asdf"); console.log(result); }); }, []); + + useEffect(async () => { + + const cleanUp = await initNfc((scannedText) => {console.log('Scanned: ', scannedText)}) + + return () => cleanUp() + }, []) + const onSuccess = async (e) => { console.log("QR code scanned!", e); const json = JSON.parse(e.data); @@ -81,6 +92,10 @@ export function ScanScreen(props) { } }; + const scanNFC = async () => { + await readNFC() + } + const createAlert = (message) => Alert.alert("Error", message, [ { @@ -95,7 +110,7 @@ export function ScanScreen(props) { return ( - + {toggleValue ? ( - test + <> + + {'Scan'} + + ) : ( aps-environment development + com.apple.developer.nfc.readersession.formats + + NDEF + TAG + diff --git a/ios/AppGT/Info.plist b/ios/AppGT/Info.plist index 421461ab..ba76bce5 100644 --- a/ios/AppGT/Info.plist +++ b/ios/AppGT/Info.plist @@ -37,6 +37,8 @@ $(CURRENT_PROJECT_VERSION) LSRequiresIPhoneOS + NFCReaderUsageDescription + This app would like to gain access to NFC reading in order to scan participant badges NSAppTransportSecurity NSAllowsArbitraryLoads diff --git a/ios/Podfile.lock b/ios/Podfile.lock index aa85d304..632a4063 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -280,6 +280,8 @@ PODS: - React-Core - react-native-camera/RN (4.2.1): - React-Core + - react-native-nfc-manager (3.14.0): + - React-Core - react-native-safe-area-context (3.3.2): - React-Core - react-native-user-agent (2.3.1): @@ -407,6 +409,7 @@ DEPENDENCIES: - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - react-native-app-auth (from `../node_modules/react-native-app-auth`) - react-native-camera (from `../node_modules/react-native-camera`) + - react-native-nfc-manager (from `../node_modules/react-native-nfc-manager`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - react-native-user-agent (from `../node_modules/react-native-user-agent`) - react-native-webview (from `../node_modules/react-native-webview`) @@ -490,6 +493,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-app-auth" react-native-camera: :path: "../node_modules/react-native-camera" + react-native-nfc-manager: + :path: "../node_modules/react-native-nfc-manager" react-native-safe-area-context: :path: "../node_modules/react-native-safe-area-context" react-native-user-agent: @@ -582,6 +587,7 @@ SPEC CHECKSUMS: React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f + react-native-nfc-manager: 449c2c400a4f0ab3b8c084a713f41762a26b3307 react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 diff --git a/package-lock.json b/package-lock.json index da9dc134..695102f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,11 +20,13 @@ "@react-navigation/bottom-tabs": "^5.11.15", "@react-navigation/native": "^5.9.8", "@react-navigation/stack": "^5.14.9", + "buffer": "^5.6.0", + "Buffer": "^0.0.0", "firebase": "^9.9.4", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ndef": "^0.2.0", - "nfccard-tool": "^0.1.1", + "process": "^0.11.10", "react": "16.13.1", "react-moment": "^0.9.7", "react-native": "0.64.1", @@ -35,6 +37,7 @@ "react-native-gesture-handler": "^1.10.3", "react-native-inappbrowser-reborn": "^3.7.0", "react-native-markdown-renderer": "^3.2.8", + "react-native-nfc-manager": "^3.14.0", "react-native-permissions": "^3.3.0", "react-native-push-notification": "^7.4.0", "react-native-qrcode-scanner": "^1.5.5", @@ -48,7 +51,8 @@ "react-native-toggle-element": "^2.0.1", "react-native-user-agent": "^2.3.1", "react-native-vector-icons": "^7.1.0", - "react-native-webview": "^11.23.1" + "react-native-webview": "^11.23.1", + "requirejs": "^2.3.6" }, "devDependencies": { "@babel/core": "^7.15.8", @@ -2303,6 +2307,217 @@ "node": ">=0.8.0" } }, + "node_modules/@expo/config-plugins": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.5.tgz", + "integrity": "sha512-RVvU40RtZt12HavuDAe+LDIq9lHj7sheOfMEHdmpJ/uTA8pgvkbc56XF6JHQD+yRr6+uhhb+JnAasGq49dsQbw==", + "dependencies": { + "@expo/config-types": "^45.0.0", + "@expo/json-file": "8.2.36", + "@expo/plist": "0.0.18", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + } + }, + "node_modules/@expo/config-plugins/node_modules/@react-native/normalize-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.0.0.tgz", + "integrity": "sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw==" + }, + "node_modules/@expo/config-plugins/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@expo/config-plugins/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@expo/config-plugins/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/config-plugins/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/config-plugins/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@expo/config-plugins/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/config-plugins/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@expo/config-plugins/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@expo/config-plugins/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/config-plugins/node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@expo/config-plugins/node_modules/xcode": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", + "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "dependencies": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@expo/config-types": { + "version": "45.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-45.0.0.tgz", + "integrity": "sha512-/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==" + }, + "node_modules/@expo/json-file": { + "version": "8.2.36", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.36.tgz", + "integrity": "sha512-tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/@expo/json-file/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@expo/plist": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.18.tgz", + "integrity": "sha512-+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==", + "dependencies": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "node_modules/@expo/plist/node_modules/xmlbuilder": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz", + "integrity": "sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@expo/sdk-runtime-versions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz", + "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==" + }, "node_modules/@firebase/analytics": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", @@ -5261,6 +5476,14 @@ "node": ">=10" } }, + "node_modules/@xmldom/xmldom": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz", + "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/abab": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", @@ -5981,6 +6204,14 @@ "ieee754": "^1.1.4" } }, + "node_modules/Buffer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/Buffer/-/Buffer-0.0.0.tgz", + "integrity": "sha512-+zdncl8lI5TCkARStn9F1BwcuJYofYmD0oEHe5FNfCvGfeDJwf6+dSikCdQN6BMXXmHMhNNUagBN367WST1AIQ==", + "engines": { + "node": ">= 0.2.0" + } + }, "node_modules/buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", @@ -8425,6 +8656,14 @@ "node": ">=0.10.0" } }, + "node_modules/getenv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz", + "integrity": "sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==", + "engines": { + "node": ">=6" + } + }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -12419,6 +12658,17 @@ "loose-envify": "cli.js" } }, + "node_modules/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==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -13209,14 +13459,6 @@ "node": ">=4.0.0" } }, - "node_modules/ndef-lib": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ndef-lib/-/ndef-lib-0.0.7.tgz", - "integrity": "sha512-bP0z5AZy7brNOHJbbxPYPriIBrW40bBzC0v2JHigJUB9EvBUbobYEDwfQCL0zvKXggSkWDyR419X1TB1cKNy2A==", - "dependencies": { - "requirejs": "^2.3.5" - } - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -13230,14 +13472,6 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "node_modules/nfccard-tool": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/nfccard-tool/-/nfccard-tool-0.1.1.tgz", - "integrity": "sha512-XZGAHWQAWpx8Tm8shgQXmFeuSttj+Msp6RP5tRPPZ+q5IxX92p13AXxaN9ILhdx+xrEYQ6Dq+wsKduwzKo2d0A==", - "dependencies": { - "ndef-lib": "0.0.7" - } - }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -14184,6 +14418,14 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -14696,6 +14938,14 @@ "react-native-fit-image": "^1.5.2" } }, + "node_modules/react-native-nfc-manager": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/react-native-nfc-manager/-/react-native-nfc-manager-3.14.0.tgz", + "integrity": "sha512-aQDhryWsHKYmABnkQIfjpqxDQ5kTOlDtxD7ZhvAhK/yUUTCWebKqe++IymB5zTYIDB2k47nD2X6TNHnlcisKqA==", + "dependencies": { + "@expo/config-plugins": "^4.0.16" + } + }, "node_modules/react-native-permissions": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.3.0.tgz", @@ -17334,6 +17584,26 @@ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xmlbuilder": { "version": "9.0.7", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", @@ -17378,6 +17648,11 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -17410,6 +17685,17 @@ "engines": { "node": ">=6" } + }, + "node_modules/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -19283,6 +19569,164 @@ "@types/hammerjs": "^2.0.36" } }, + "@expo/config-plugins": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.5.tgz", + "integrity": "sha512-RVvU40RtZt12HavuDAe+LDIq9lHj7sheOfMEHdmpJ/uTA8pgvkbc56XF6JHQD+yRr6+uhhb+JnAasGq49dsQbw==", + "requires": { + "@expo/config-types": "^45.0.0", + "@expo/json-file": "8.2.36", + "@expo/plist": "0.0.18", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + }, + "dependencies": { + "@react-native/normalize-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.0.0.tgz", + "integrity": "sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw==" + }, + "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" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "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" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + }, + "xcode": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", + "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "requires": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + } + } + } + }, + "@expo/config-types": { + "version": "45.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-45.0.0.tgz", + "integrity": "sha512-/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==" + }, + "@expo/json-file": { + "version": "8.2.36", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.36.tgz", + "integrity": "sha512-tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==", + "requires": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.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==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "@expo/plist": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.18.tgz", + "integrity": "sha512-+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==", + "requires": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + }, + "dependencies": { + "xmlbuilder": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz", + "integrity": "sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==" + } + } + }, + "@expo/sdk-runtime-versions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz", + "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==" + }, "@firebase/analytics": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", @@ -21887,6 +22331,11 @@ } } }, + "@xmldom/xmldom": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz", + "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==" + }, "abab": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", @@ -22501,6 +22950,11 @@ "ieee754": "^1.1.4" } }, + "Buffer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/Buffer/-/Buffer-0.0.0.tgz", + "integrity": "sha512-+zdncl8lI5TCkARStn9F1BwcuJYofYmD0oEHe5FNfCvGfeDJwf6+dSikCdQN6BMXXmHMhNNUagBN367WST1AIQ==" + }, "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", @@ -24483,6 +24937,11 @@ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, + "getenv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz", + "integrity": "sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==" + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -27649,6 +28108,14 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "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" + } + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -28351,14 +28818,6 @@ "resolved": "https://registry.npmjs.org/ndef/-/ndef-0.2.0.tgz", "integrity": "sha512-yl0t0oexuIjNLs8MAF5xZ6rT9P635+ZnCt4sng/aJT8/8gqJ0niBpZoKsioLi+NUA7ydb20MqXo+rIdAQcihVg==" }, - "ndef-lib": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ndef-lib/-/ndef-lib-0.0.7.tgz", - "integrity": "sha512-bP0z5AZy7brNOHJbbxPYPriIBrW40bBzC0v2JHigJUB9EvBUbobYEDwfQCL0zvKXggSkWDyR419X1TB1cKNy2A==", - "requires": { - "requirejs": "^2.3.5" - } - }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -28369,14 +28828,6 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "nfccard-tool": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/nfccard-tool/-/nfccard-tool-0.1.1.tgz", - "integrity": "sha512-XZGAHWQAWpx8Tm8shgQXmFeuSttj+Msp6RP5tRPPZ+q5IxX92p13AXxaN9ILhdx+xrEYQ6Dq+wsKduwzKo2d0A==", - "requires": { - "ndef-lib": "0.0.7" - } - }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -29136,6 +29587,11 @@ } } }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -29652,6 +30108,14 @@ "react-native-fit-image": "^1.5.2" } }, + "react-native-nfc-manager": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/react-native-nfc-manager/-/react-native-nfc-manager-3.14.0.tgz", + "integrity": "sha512-aQDhryWsHKYmABnkQIfjpqxDQ5kTOlDtxD7ZhvAhK/yUUTCWebKqe++IymB5zTYIDB2k47nD2X6TNHnlcisKqA==", + "requires": { + "@expo/config-plugins": "^4.0.16" + } + }, "react-native-permissions": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.3.0.tgz", @@ -31796,6 +32260,22 @@ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "dependencies": { + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + } + } + }, "xmlbuilder": { "version": "9.0.7", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", @@ -31834,6 +32314,11 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -31860,6 +32345,11 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "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==" } } } diff --git a/package.json b/package.json index 67b6748e..46df2718 100644 --- a/package.json +++ b/package.json @@ -22,11 +22,13 @@ "@react-navigation/bottom-tabs": "^5.11.15", "@react-navigation/native": "^5.9.8", "@react-navigation/stack": "^5.14.9", + "buffer": "^5.6.0", + "Buffer": "^0.0.0", "firebase": "^9.9.4", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ndef": "^0.2.0", - "nfccard-tool": "^0.1.1", + "process": "^0.11.10", "react": "16.13.1", "react-moment": "^0.9.7", "react-native": "0.64.1", @@ -37,6 +39,7 @@ "react-native-gesture-handler": "^1.10.3", "react-native-inappbrowser-reborn": "^3.7.0", "react-native-markdown-renderer": "^3.2.8", + "react-native-nfc-manager": "^3.14.0", "react-native-permissions": "^3.3.0", "react-native-push-notification": "^7.4.0", "react-native-qrcode-scanner": "^1.5.5", @@ -50,7 +53,8 @@ "react-native-toggle-element": "^2.0.1", "react-native-user-agent": "^2.3.1", "react-native-vector-icons": "^7.1.0", - "react-native-webview": "^11.23.1" + "react-native-webview": "^11.23.1", + "requirejs": "^2.3.6" }, "devDependencies": { "@babel/core": "^7.15.8", From 7c4e8a5bfbcf3dcda7b234c48fcff99fe61678e5 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Sun, 2 Oct 2022 19:38:25 -0400 Subject: [PATCH 053/102] adjusted scanning to account for qr codes only including uid now --- app/contexts/AuthContext.js | 22 ++++++++++++++-------- app/features/checkin/ScanScreen.js | 10 +++++++--- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/app/contexts/AuthContext.js b/app/contexts/AuthContext.js index e5a864da..26139849 100644 --- a/app/contexts/AuthContext.js +++ b/app/contexts/AuthContext.js @@ -1,6 +1,7 @@ import React, { useMemo, useState, useEffect } from "react"; import { onAuthStateChanged } from "firebase/auth"; import { getAuth } from "firebase/auth"; +import { firebase } from "@react-native-firebase/messaging"; const AuthContext = React.createContext(); @@ -14,28 +15,32 @@ const AuthProvider = ({ app, children }) => { const [showLogin, setShowLogin] = useState(true); const [user, setUser] = useState(null); - const fetchUserDetails = async (fUser) => { - const token = await fUser.getIdToken(); - const response = await fetch(`${USERS_URL + "/users/" + fUser.uid}/`, { + const fetchUserProfile = async () => { + const json = await fetchProfile(firebaseUser.uid); + setUser(json); + }; + + const fetchProfile = async (uid) => { + const token = await firebaseUser.getIdToken(); + const response = await fetch(`${USERS_URL + "/users/" + uid}/`, { method: "GET", headers: { Authorization: "Bearer " + token, }, }); const json = await response.json(); - console.log("userJson: ", json); - setUser(json); - }; + return json; + } useEffect(() => { const unsubscribe = onAuthStateChanged(auth, async (fUser) => { if (fUser) { setLoading(true); console.log("FIRUser:", fUser); - await fetchUserDetails(fUser); + setFirebaseUser(fUser); + await fetchUserProfile(fUser); setShowLogin(false); setLoading(false); - setFirebaseUser(fUser); } else { setShowLogin(true); setLoading(false); @@ -51,6 +56,7 @@ const AuthProvider = ({ app, children }) => { loading: loading, showLogin: showLogin, user: user, + fetchProfile: fetchProfile }), [firebaseUser, loading, showLogin, user] ); diff --git a/app/features/checkin/ScanScreen.js b/app/features/checkin/ScanScreen.js index c2518f6b..52aa30f1 100644 --- a/app/features/checkin/ScanScreen.js +++ b/app/features/checkin/ScanScreen.js @@ -10,10 +10,12 @@ import { logInteraction } from "../../yac"; import { HackathonContext } from "../../state/hackathon"; import { ThemeContext } from "../../contexts/ThemeContext"; import { initNfc, readNFC, writeNFC } from '../../NFCScanning/nfc'; +import { AuthContext } from "../../contexts/AuthContext"; export function ScanScreen(props) { const { hackathon } = useContext(HackathonContext); const { dynamicStyles } = useContext(ThemeContext); + const { fetchProfile } = useContext(AuthContext) const [toggleValue, setToggleValue] = useState(false); const [uid, setUid] = useState(""); const [fName, setfName] = useState(""); @@ -66,16 +68,18 @@ export function ScanScreen(props) { console.log("QR code scanned!", e); const json = JSON.parse(e.data); if (json.uid) { - setEmail(json.email); - setfName(json.name.first); - setlName(json.name.last); setUid(json.uid); + const res = await logInteraction( hackathon.name, "event", json.uid, props.eventID ); + const userProfile = await fetchProfile(json.uid) + setfName(userProfile.name.first); + setlName(userProfile.name.last); + setEmail(userProfile.email); setStatus(res.status); console.log("RES: ", res); if (res.status !== 200) { From 8a9ffe4e0a9120f78810092eaaea071b4c6f6da6 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Sun, 2 Oct 2022 20:43:32 -0400 Subject: [PATCH 054/102] fixed bugs that came from refactor --- App.js | 1 - app/contexts/AuthContext.js | 8 ++++---- app/features/checkin/ScanScreen.js | 33 +++++++++++++++++------------- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/App.js b/App.js index 52d0816f..20f0dc71 100644 --- a/App.js +++ b/App.js @@ -152,7 +152,6 @@ function App(props) { if (result) { console.log("Hackathon found locally."); const hackathon = JSON.parse(result); - if (hackathon != null) { setHackathon(hackathon); setIsFetchingData(false); diff --git a/app/contexts/AuthContext.js b/app/contexts/AuthContext.js index 26139849..0ccebe53 100644 --- a/app/contexts/AuthContext.js +++ b/app/contexts/AuthContext.js @@ -15,13 +15,13 @@ const AuthProvider = ({ app, children }) => { const [showLogin, setShowLogin] = useState(true); const [user, setUser] = useState(null); - const fetchUserProfile = async () => { - const json = await fetchProfile(firebaseUser.uid); + const fetchUserProfile = async (fUser) => { + const json = await fetchProfile(fUser.uid, fUser); setUser(json); }; - const fetchProfile = async (uid) => { - const token = await firebaseUser.getIdToken(); + const fetchProfile = async (uid, fUser) => { + const token = await fUser.getIdToken(); const response = await fetch(`${USERS_URL + "/users/" + uid}/`, { method: "GET", headers: { diff --git a/app/features/checkin/ScanScreen.js b/app/features/checkin/ScanScreen.js index 52aa30f1..735aee03 100644 --- a/app/features/checkin/ScanScreen.js +++ b/app/features/checkin/ScanScreen.js @@ -13,9 +13,10 @@ import { initNfc, readNFC, writeNFC } from '../../NFCScanning/nfc'; import { AuthContext } from "../../contexts/AuthContext"; export function ScanScreen(props) { - const { hackathon } = useContext(HackathonContext); + const { state } = useContext(HackathonContext); + const hackathon = state.hackathon const { dynamicStyles } = useContext(ThemeContext); - const { fetchProfile } = useContext(AuthContext) + const { fetchProfile, firebaseUser } = useContext(AuthContext) const [toggleValue, setToggleValue] = useState(false); const [uid, setUid] = useState(""); const [fName, setfName] = useState(""); @@ -68,18 +69,7 @@ export function ScanScreen(props) { console.log("QR code scanned!", e); const json = JSON.parse(e.data); if (json.uid) { - setUid(json.uid); - - const res = await logInteraction( - hackathon.name, - "event", - json.uid, - props.eventID - ); - const userProfile = await fetchProfile(json.uid) - setfName(userProfile.name.first); - setlName(userProfile.name.last); - setEmail(userProfile.email); + const res = await interact(json.uid) setStatus(res.status); console.log("RES: ", res); if (res.status !== 200) { @@ -96,6 +86,21 @@ export function ScanScreen(props) { } }; + const interact = async (uid) => { + setUid(uid); + const res = await logInteraction( + hackathon.name, + "event", + uid, + props.eventID + ); + const userProfile = await fetchProfile(uid, firebaseUser) + setfName(userProfile.name.first); + setlName(userProfile.name.last); + setEmail(userProfile.email); + return res; + } + const scanNFC = async () => { await readNFC() } From d15219dd188b7d687541510b0661add03c8fcce6 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Mon, 3 Oct 2022 00:28:03 -0400 Subject: [PATCH 055/102] added nfc scan interaction logging functionality with api --- app/features/checkin/ScanScreen.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/app/features/checkin/ScanScreen.js b/app/features/checkin/ScanScreen.js index 735aee03..67378b37 100644 --- a/app/features/checkin/ScanScreen.js +++ b/app/features/checkin/ScanScreen.js @@ -60,11 +60,27 @@ export function ScanScreen(props) { useEffect(async () => { - const cleanUp = await initNfc((scannedText) => {console.log('Scanned: ', scannedText)}) + const cleanUp = await initNfc((scannedText) => {onScan(scannedText)}) return () => cleanUp() }, []) + const onScan = async (text) => { + const json = JSON.parse(text); + if (json.uid) { + const res = await interact(json.uid) + setStatus(res.status); + if (res.status !== 200) { + createAlert(res.json.message); + } else { + // reactivates reading on success to make the proccess of scanning many people faster + scanNFC(); + } + } else { + createAlert("Invalid Badge") + } + } + const onSuccess = async (e) => { console.log("QR code scanned!", e); const json = JSON.parse(e.data); From 9ae83a023998e5efbff9bebe02340458af19fa00 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Mon, 3 Oct 2022 00:58:11 -0400 Subject: [PATCH 056/102] Renamed checkin to interactions --- App.js | 4 ++-- app/features/{checkin => interactions}/EventSel.js | 0 app/features/{checkin => interactions}/InteractionScreen.js | 0 .../InteractionsStackScreen.js} | 6 +++--- .../CheckInTab.js => interactions/InteractionsTab.js} | 2 +- app/features/{checkin => interactions}/ScanScreen.js | 0 app/features/{checkin => interactions}/SearchComponent.js | 0 app/navigation/index.js | 2 +- 8 files changed, 7 insertions(+), 7 deletions(-) rename app/features/{checkin => interactions}/EventSel.js (100%) rename app/features/{checkin => interactions}/InteractionScreen.js (100%) rename app/features/{checkin/CheckInStackScreen.js => interactions/InteractionsStackScreen.js} (88%) rename app/features/{checkin/CheckInTab.js => interactions/InteractionsTab.js} (99%) rename app/features/{checkin => interactions}/ScanScreen.js (100%) rename app/features/{checkin => interactions}/SearchComponent.js (100%) diff --git a/App.js b/App.js index 20f0dc71..6f2e95d8 100644 --- a/App.js +++ b/App.js @@ -33,7 +33,7 @@ import { ScheduleStackScreen, InformationStackScreen, ScavengerHuntStackScreen, - CheckInStackScreen, + InteractionsStackScreen, } from "./app/navigation"; import { HackathonProvider } from "./app/state/hackathon"; import { ThemeProvider } from "./app/contexts/ThemeContext"; @@ -398,7 +398,7 @@ function App(props) { {!showCheckin ? null : ( )} diff --git a/app/features/checkin/EventSel.js b/app/features/interactions/EventSel.js similarity index 100% rename from app/features/checkin/EventSel.js rename to app/features/interactions/EventSel.js diff --git a/app/features/checkin/InteractionScreen.js b/app/features/interactions/InteractionScreen.js similarity index 100% rename from app/features/checkin/InteractionScreen.js rename to app/features/interactions/InteractionScreen.js diff --git a/app/features/checkin/CheckInStackScreen.js b/app/features/interactions/InteractionsStackScreen.js similarity index 88% rename from app/features/checkin/CheckInStackScreen.js rename to app/features/interactions/InteractionsStackScreen.js index 4d222057..f56bc978 100644 --- a/app/features/checkin/CheckInStackScreen.js +++ b/app/features/interactions/InteractionsStackScreen.js @@ -1,14 +1,14 @@ import React from "react"; import { useDynamicStyleSheet } from "react-native-dark-mode"; -import { CheckInTab } from "./CheckInTab"; +import { InteractionsTab } from "./InteractionsTab"; import { InteractionScreen } from './InteractionScreen'; import { CheckInStack } from "../../navigation"; import { dynamicStyles } from "../../theme"; import HackGTIcon from "../../../assets/images/HackGTIcon"; import { AuthContext } from "../../contexts/AuthContext"; -export default function CheckInStackScreen({ navigation }) { +export default function InteractionsStackScreen({ navigation }) { const dStyles = useDynamicStyleSheet(dynamicStyles); return ( @@ -23,7 +23,7 @@ export default function CheckInStackScreen({ navigation }) { }} name="HackGT" > - {(props) => } + {(props) => } Date: Mon, 3 Oct 2022 02:58:57 -0400 Subject: [PATCH 057/102] added CheckIn screens and began implementation --- App.js | 12 +- app/api/registration.js | 12 ++ app/contexts/AuthContext.js | 4 +- app/features/checkin/CheckInNFC.js | 114 ++++++++++++++++++ app/features/checkin/CheckInQR.js | 74 ++++++++++++ app/features/checkin/CheckInStackScreen.js | 43 +++++++ .../interactions/InteractionsStackScreen.js | 12 +- app/features/interactions/ScanScreen.js | 11 +- app/navigation/index.js | 4 +- assets/images/BadgeJudge.png | Bin 0 -> 82703 bytes assets/images/BadgeMentor.png | Bin 0 -> 85669 bytes assets/images/BadgeOrganizer.png | Bin 0 -> 71398 bytes assets/images/BadgeParticipant.png | Bin 0 -> 87295 bytes assets/images/BadgeSponsor.png | Bin 0 -> 87788 bytes assets/images/BadgeVolunteer.png | Bin 0 -> 85839 bytes 15 files changed, 271 insertions(+), 15 deletions(-) create mode 100644 app/api/registration.js create mode 100644 app/features/checkin/CheckInNFC.js create mode 100644 app/features/checkin/CheckInQR.js create mode 100644 app/features/checkin/CheckInStackScreen.js create mode 100644 assets/images/BadgeJudge.png create mode 100644 assets/images/BadgeMentor.png create mode 100644 assets/images/BadgeOrganizer.png create mode 100644 assets/images/BadgeParticipant.png create mode 100644 assets/images/BadgeSponsor.png create mode 100644 assets/images/BadgeVolunteer.png diff --git a/App.js b/App.js index 6f2e95d8..43d9e3e0 100644 --- a/App.js +++ b/App.js @@ -34,6 +34,7 @@ import { InformationStackScreen, ScavengerHuntStackScreen, InteractionsStackScreen, + CheckInStackScreen } from "./app/navigation"; import { HackathonProvider } from "./app/state/hackathon"; import { ThemeProvider } from "./app/contexts/ThemeContext"; @@ -166,7 +167,6 @@ function App(props) { const hackathons = data.data.allHackathons; const eventTypes = data.data.allTypes; - if (hackathons != null && hackathons.length != 0) { console.log("Hackathon found remotely."); const hackathon = hackathons[0]; @@ -347,6 +347,8 @@ function App(props) { icon = faInfoCircle; } else if (route.name === "ScavengerHunt") { icon = faMapSigns; + } else if (route.name === "Interactions") { + icon = faClipboardCheck; } else if (route.name === "CheckIn") { icon = faClipboardCheck; } @@ -397,10 +399,16 @@ function App(props) { /> {!showCheckin ? null : ( )} + {!showCheckin ? null : ( + + )} diff --git a/app/api/registration.js b/app/api/registration.js new file mode 100644 index 00000000..88fd9c1a --- /dev/null +++ b/app/api/registration.js @@ -0,0 +1,12 @@ +const REGISTRATION_URL = 'registration.api.hexlabs.org' + +export async function getApplication(token, hexathonId, userId) { + const response = await fetch(`${REGISTRATION_URL}/applications?hexathon=${hexathonId}&userId=${userId}`, { + method: "GET", + headers: { + Authorization: "Bearer " + token, + }, + }); + const json = await response.json(); + return { json, status: response.status }; +} \ No newline at end of file diff --git a/app/contexts/AuthContext.js b/app/contexts/AuthContext.js index 0ccebe53..a1675135 100644 --- a/app/contexts/AuthContext.js +++ b/app/contexts/AuthContext.js @@ -16,7 +16,7 @@ const AuthProvider = ({ app, children }) => { const [user, setUser] = useState(null); const fetchUserProfile = async (fUser) => { - const json = await fetchProfile(fUser.uid, fUser); + const { json } = await fetchProfile(fUser.uid, fUser); setUser(json); }; @@ -29,7 +29,7 @@ const AuthProvider = ({ app, children }) => { }, }); const json = await response.json(); - return json; + return { json, status: response.status }; } useEffect(() => { diff --git a/app/features/checkin/CheckInNFC.js b/app/features/checkin/CheckInNFC.js new file mode 100644 index 00000000..541506d9 --- /dev/null +++ b/app/features/checkin/CheckInNFC.js @@ -0,0 +1,114 @@ +import React, { useContext } from 'react' +import { View, Text, Image, TouchableOpacity } from 'react-native' +import { ThemeContext } from "../../contexts/ThemeContext"; +import { initNfc, writeNFC } from '../../NFCScanning/nfc'; +import BadgeJudge from '../../../assets/images/BadgeJudge.png'; +import BadgeMentor from '../../../assets/images/BadgeMentor.png'; +import BadgeOrganizer from '../../../assets/images/BadgeOrganizer.png'; +import BadgeParticipant from '../../../assets/images/BadgeParticipant.png'; +import BadgeSponsor from '../../../assets/images/BadgeSponsor.png'; +import BadgeVolunteer from '../../../assets/images/BadgeVolunteer.png'; + + +export function CheckInNFC(props) { + const { application } = props.route.params + const { dynamicStyles } = useContext(ThemeContext); + + useEffect(async () => { + + const cleanUp = await initNfc((scannedText) => { onScan(scannedText) }) + + return () => cleanUp() + }, []) + + const tagImage = (branch) => { + const source = null + switch(branch) { + case 'PARTICIPANT': + source = BadgeParticipant; + break; + case 'MENTOR': + source = BadgeMentor; + break; + case 'JUDGE': + source = BadgeJudge; + break; + case 'ORGANIZER': + source = BadgeOrganizer; + break; + case 'SPONSOR': + source = BadgeSponsor; + break; + case 'VOLUNTEER': + source = BadgeVolunteer; + break; + default: + return null; + } + if (source === null) return null; + return + + } + + const createAlert = (message) => + Alert.alert("Error", message, [ + { + text: "OK", + onPress: () => { + onPressScan() + }, + }, + ]); + + const onPressScan = async () => { + const success = await writeNFC(JSON.stringify({uid: application.userId})) + if (!success) { + createAlert("There was an issue writing to the badge. Try again.") + } + } + + return ( + + + + {'Name: ' + application.name} + + + {'Email: ' + application.email} + + + {'User ID: ' + application.userId} + + + {'Application Group: ' + application.confirmationBranch.applicationGroup} + + + + {'Scan Badge'} + + + {tagImage(application.confirmationBranch.applicationGroups)} + + + ) +} \ No newline at end of file diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js new file mode 100644 index 00000000..c54f439a --- /dev/null +++ b/app/features/checkin/CheckInQR.js @@ -0,0 +1,74 @@ +import React, { useContext, useRef, useEffect } from 'react' +import { View, Text, Alert, Dimensions } from 'react-native' +import QRCodeScanner from "react-native-qrcode-scanner"; +import { request, PERMISSIONS } from "react-native-permissions"; +import { ThemeContext } from "../../contexts/ThemeContext"; +import { AuthContext } from '../../contexts/AuthContext'; +import { HackathonContext } from '../../state/hackathon'; +import { getApplication } from '../../api/registration'; + +export function CheckInQR(props) { + const { dynamicStyles } = useContext(ThemeContext); + const { firebaseUser } = useContext(AuthContext); + const { state } = useContext(HackathonContext); + const hackathon = state.hackathon; + const scanner = useRef(null); + + useEffect(() => { + request(PERMISSIONS.IOS.CAMERA).then((result) => { + console.log(result); + }); + }, []); + + const createAlert = (message) => + Alert.alert("Error", message, [ + { + text: "OK", + onPress: () => { + if (scanner && scanner.current) { + scanner.current.reactivate(); + } + }, + }, + ]); + + const onSuccess = async (e) => { + const json = JSON.parse(e.data); + if (json.uid) { + const token = await firebaseUser.getIdToken(); + const res = await getApplication(token, hackathon.id, json.uid) + if (res.status !== 200) { + createAlert(res.message); + } else if (res.json.applications.length === 0) { + createAlert("This person never submitted an application to ", hackathon.name); + } else if (res.json.applications[0].status !== 'CONFIRMED') { + createAlert("This person's application is not confirmed yet. Current status: ", res.json.applications[0].status); + } else { + props.navigation.navigate("CheckInQR", {application: res.json}) + } + } else { + createAlert("Invalid QR Code"); + } + } + + return ( + + + {'Scan Participant QR Code'} + + + + ) +} \ No newline at end of file diff --git a/app/features/checkin/CheckInStackScreen.js b/app/features/checkin/CheckInStackScreen.js new file mode 100644 index 00000000..82be95d1 --- /dev/null +++ b/app/features/checkin/CheckInStackScreen.js @@ -0,0 +1,43 @@ +import React from "react"; +import { useDynamicStyleSheet } from "react-native-dark-mode"; + +import { CheckInQR } from "./CheckInQR"; +import { CheckInNFC } from './CheckInNFC'; +import { CheckInStack } from "../../navigation"; +import { dynamicStyles } from "../../theme"; +import HackGTIcon from "../../../assets/images/HackGTIcon"; +import { AuthContext } from "../../contexts/AuthContext"; + +export default function CheckInStackScreen({ navigation }) { + const dStyles = useDynamicStyleSheet(dynamicStyles); + return ( + + {({ user }) => { + return ( + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="CheckInQR" + > + {(props) => } + + , + headerStyle: dStyles.tabBarBackgroundColor, + headerLeft: null, + }} + name="CheckInNFC" + component={CheckInNFC} + /> + + ); + }} + + ); +} diff --git a/app/features/interactions/InteractionsStackScreen.js b/app/features/interactions/InteractionsStackScreen.js index f56bc978..5ac2936a 100644 --- a/app/features/interactions/InteractionsStackScreen.js +++ b/app/features/interactions/InteractionsStackScreen.js @@ -3,7 +3,7 @@ import { useDynamicStyleSheet } from "react-native-dark-mode"; import { InteractionsTab } from "./InteractionsTab"; import { InteractionScreen } from './InteractionScreen'; -import { CheckInStack } from "../../navigation"; +import { InteractionsStack } from "../../navigation"; import { dynamicStyles } from "../../theme"; import HackGTIcon from "../../../assets/images/HackGTIcon"; import { AuthContext } from "../../contexts/AuthContext"; @@ -14,8 +14,8 @@ export default function InteractionsStackScreen({ navigation }) { {({ user }) => { return ( - - + , @@ -24,8 +24,8 @@ export default function InteractionsStackScreen({ navigation }) { name="HackGT" > {(props) => } - - + , @@ -35,7 +35,7 @@ export default function InteractionsStackScreen({ navigation }) { name="InteractionScreen" component={InteractionScreen} /> - + ); }} diff --git a/app/features/interactions/ScanScreen.js b/app/features/interactions/ScanScreen.js index 67378b37..fdf442de 100644 --- a/app/features/interactions/ScanScreen.js +++ b/app/features/interactions/ScanScreen.js @@ -65,6 +65,7 @@ export function ScanScreen(props) { return () => cleanUp() }, []) + // NFC const onScan = async (text) => { const json = JSON.parse(text); if (json.uid) { @@ -81,6 +82,7 @@ export function ScanScreen(props) { } } + //QR const onSuccess = async (e) => { console.log("QR code scanned!", e); const json = JSON.parse(e.data); @@ -110,10 +112,11 @@ export function ScanScreen(props) { uid, props.eventID ); - const userProfile = await fetchProfile(uid, firebaseUser) - setfName(userProfile.name.first); - setlName(userProfile.name.last); - setEmail(userProfile.email); + const { json, status } = await fetchProfile(uid, firebaseUser) + if (status !== 200) console.log('fetchProfile: ', status); + setfName(json.name.first); + setlName(json.name.last); + setEmail(json.email); return res; } diff --git a/app/navigation/index.js b/app/navigation/index.js index d894ac4b..7c65e430 100644 --- a/app/navigation/index.js +++ b/app/navigation/index.js @@ -4,8 +4,10 @@ export { default as ScheduleStackScreen } from "../features/schedule/ScheduleSta export { default as InformationStackScreen } from "../features/information/InformationStackScreen"; export { default as ScavengerHuntStackScreen } from "../features/scavengerHunt/ScavengerHuntStackScreen"; export { default as InteractionsStackScreen } from "../features/interactions/InteractionsStackScreen"; +export { default as CheckInStackScreen } from "../features/checkin/CheckInStackScreen"; export const ScheduleStack = createStackNavigator(); export const InformationStack = createStackNavigator(); export const ScavengerHuntStack = createStackNavigator(); -export const CheckInStack = createStackNavigator(); +export const InteractionsStack = createStackNavigator(); +export const CheckInStack = createStackNavigator() diff --git a/assets/images/BadgeJudge.png b/assets/images/BadgeJudge.png new file mode 100644 index 0000000000000000000000000000000000000000..b23ee7c893ea7e2a5605c877c898cace09c7a93a GIT binary patch literal 82703 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 CcTNWY literal 0 HcmV?d00001 diff --git a/assets/images/BadgeMentor.png b/assets/images/BadgeMentor.png new file mode 100644 index 0000000000000000000000000000000000000000..3afdd5475da4e4bf940c3c9ba74fd1c0c496c8f5 GIT binary patch literal 85669 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 z%0D<_3B$%wQ4|Geu|+^7m$-vtJpwCN=cwmLnXB5lD@^8W(vll15`M|cKX}nC>hX$} z$lRA^`Cl9q4GTC>l8PG7&F?cL(*wWPkogd~oefh8U-`70U#2L>pcB4}kl0@H7dyqh z%Tj{pn3Ur(b~}$D!9XWAJrhfaaayK_OAB(T#tLay^unQbp6)O#k@CvAkx#DESYwm) z`_yldc4+4+PcpB~hZt?O#wA7d`Xsp{Y_}cS1}K|%zUsyv1);JX-v0)2hO`@5Q>N7? zznr%35_)sH_}Ox^I*zm5IBQBG=&l(dcoO-fmb^r1L=4&T2Gut2oTBos)9 zO|t%Wuo&I*7#Z*{LvA#eJuI5+J+P;med?Wo=Y56nH7aXxup9tbpnBuvQMwySq(k{T z;dBnVo`j2}&HnAHECw0>8A|$pk~&x~Ntowagdp(^GP!UkfM{T_3W9+e{BjNbQ{>~5iU0Vp@v&nEa!FaNlqr2Nom#~-NM zKUq2EcMwb+1 zv|%0dPP05L${Inc*biQuTPxAAR=k(MT}cdBO)H+nq2FDj%O~h7QKI9JixHC<*E6ZA zGzA*Y;OYvbSNV%Uosi{3hpi8+8g)lFC0JiNFKRQ>)Z+h`hw?J&p$iPtu|BTLjjb1| ztJZPP{1_whUK4do96uIgx0_J~e}OgH)qdH+;(7LPeZ-NW6X;NNpRp5ZuNUy5$CsYYC-dIbx(rdkXnR6@jtrmpEas z_=<7p+xJSX{p@*T*Znrfgpu&cH#_GA&~I^mrzT8HrNED0A!^N)_ssN+wM|dnq^N$y z;c1uE39*Z7OSHV#yRAhQfVqZ-|MEV>z_x+S^ITk+I1C;2M{H+Rb>@yer<`JDxnDh- zz_y$(E-Q1ZrwTwlOoGC-kp+YFT7rJI)Bp_n-9;v!FpigBwIxd*WTvZ>H0??Pk3r~! zi8l`o!^OicXgS#Cp=d*GS-y&y-bjPm>cSR6$N1l7$5`6Vq3Y2pa4AWT?9qwl z>AhoNe==989#ADC0yU3U%`@7Dy0Z9n2}vc()hG^-2s@M2$i!q(4GS~ktjH6Ye7`s= zQ`-hqb@9@3Ooe8V%5LJOlKq%ymV+0|0|bG`Oc_x)Z2feM`7h(o%YEakuyRLg_v>EW zE}t&wSBf9IQc7K+@mxGZWelxhX( zt?=qR5gDXm_HCori5vJ+Jm+nGZR06zTAlkNjz~5flk!jS1f!&F;He|oR9n8ebn>E{ zmz(CL*;1iSEz-p$0Zkf5OdzH7Ob!PRr-zD>F_KH={@_1}Jd9+cNUwbuh4k64#!%~X zj7fcp$HbQZ z?;<;~AUG>8(u2)KCSdzAxj1n^y$=3r#r^nyRfwBW$==Z~4Wkx?ztjl*Y8vRU#of*~ z3jJ5~7$376Y@vADCpnLiMg7Va2>^*?pUteU9<^PkI|LGHUHz+s+-4J_w~-pyEBkxN z%%bvC_o$@ANc>SRWM@7EmQtitO;VdrhDJ|uT!#!M$>WC!{s@>$g_U~4F-v&QJ1Mu|NAxn zwO76I4@krm_x~N$PYY4^tj)40XZ$Q`w_}p0u3o%)f5KYBb65UMQpotx{cZm1v9Vtj zm0r_7Ec>k-l6lGgt+n#-*OtA^dg3{%PAZ}Of4wHYb51^yWRg%zLH*whOsh1nMleEc z@|Nr48ccKp{*50~rCH9W)s~spwDsNj|3=HQam#lmCwsS0-;MKc{gll~mP}h~YLM{c zX@DWtH^m!uYt2)}K1|(20G1M4uo+d%G1s+en@Sg*L_v-fAB^8e^NDyFwfJR}e`wMW zvIFxX4^X`4XbMscJa_L+Lf0D1w^4Oo>kt?tkB!q>vzJ*FVzyQDw9d-FzzA=b?^5ju zlwSM$ zw?%UJBeDO~(uWlLPpT=~`A}@IA&2QEN$a+wvqQY zVMKW=S^_Hmt2o!Ic!3Ke+-;A?B$ac~^i`VMw*|~L?qyaM<9ho!)#c-+toqW5>qj5D z)t0*1(uAJO-7iZm-c3HGji%l=FTA1m4o>v;XNF?P9i!tZ-8bic%!@DKRa}ws{A8x- z0m;whZ{+eU8h(vL<2DoBu)J=9Xh-9XV^uHLF=WJQZO4lC8b6cq5Sp8-@f!FlZ ztuFXP-+QUCh8A-uwqN)UKcAjkUNe8}fa08^7oFGoR*BgL#t8Xzqt^&S@2ThXj3?5Y z%+Glkr?AXSa2Jq4`S}X|KDq#u)l&Ja1m}=UQk?cNNFWgue`61rwMc=}bF7Nfs=yW| zMHKLUSG=%kswj(*^heYmj>mxl8hXW5p^$EL`jVQgsfM@KLC83eV?%>S&zML*oh0a1 zn&7Tqll=xKjDdE!F{zSPYy|aq*%C%jVibTwBTvqBwc>X2Lh8Ss39i;q5Od#O8El$t zK7qAQiMj+cS)RsTh`*wgE_=tVkAryW?z?^nMPE85^7EFZx%GVf#vLpyNej@?PAi%m zq!AJ05RViE;WDzMO3xk-6Y~U3u5`Fpm4jOad3s2~9On%|ZEhv5e7_fn{6Mn$%pgZ| znCW?)iL0GSK{y?b6vp!}+r>*WdyK62;U&~;A?IJG8#3n`Jbn$}0JQ$JyM55830)3% zviXdT#W*z}KP$OZ!+hutDn4E)O>#Y*RmsxoePOVuSd!V6XtAen7*~sY@q-?><&ds!v3TqV-=@A zLzQvPDdbm(eC1TWZ#V8%@{@cGvaK`9z@{Go&EU! z2FV>aVAzGs`i_E*5j2bO0u^RS^|i}!JOR}jTYg%`?^SHyWa5qUn-NQ-r|2IH5Mt4c z3<_GKBO;EzHpq9=$C3w3-UXYl8)!eVH#sX{F8>Yd*T#VAB?$4c4F{3_B9Wk6UGTzZ z>F2T@ia9Rxlxw{UL>NSVM3qkakP6!cvqDoKaDIYueU%AI-SLiUqgsO*6mT!OO3+iK z^GfgKROk;GVbDdtHG#wIqdVyVg5{hs&-TB9Q4&eOFUND7|HIN*22}C9ZCH>FIdn<4 zbf=V*l+u0Z4y8d3AbpVT4rvhS?(UH8mPR@b{Vu=%`;pk)*_qjyXXd%?d&cExZLWb% zS&5$G0d{phZsKk44KKd9`1TfMtjJ}IUUjAC_%S?nzB{N|Ym}@>C4;OOMj|=7uc3t@ z_eE&VT7-aJLtWJrd5j;->+OMMGKpIm|`$b}54>rRF#i3ZzR2OfZV)+14I4XaCWU`iP@eAM5^2ur){IoW2h}G|Oocr%2GP zu2j}aH6*jS`&!!9Bp-f>0j`}uD-}s^D(*Wo)YHa?V4UA}{~azHxFaS2g*Q?Gg)22U zZlXmYtY_j19F3Q?27<2~Q~Q;?^nO5ug@ z5_vOfR_=8Z8h(|ws4Ie#buL#w&I=*W9u}mcdj;n&gHnFU5SY$w5O!khqOWH%!*fiL zEW{`Fc#xh^4e|o_jmQ`U`85wB^yk@^p!Ry)E*yyVRbJazrOm|a2#4%tMmGGu@%_is zHQuUB(<-cjDr$Fn9#E_BR;^7S5nOD5yG=9Ey(o{ji{}s@6sOhfRjUmLGIcWEO96^ebl2=a~Gp&wd z{U=K9e(WiP?(b64+=G~dfQkDnzN5RnL1~^m-@!PQ=gVIQ{sVNZGzpVJ@Y{Nw#P9vKoY9kc8aoLYY{lyoGXsU$XEHvWG2|*-xbL=!2PDjktB`VsE zaxa>?XD5w4!e!QkVi}jK4rWB9_O9T9sK5VLU!`-i z+Z{~c5EtFgb;7pm^A@LfEexuAH$C!;>^v;%U?6vnND;Q;$$Kb`$ zY7vHZTo92uk0Ls05_}~lcxb7%kf0z(U~z0$W&sCn{U`rQ!b%(kF=6(y#FU%YyC4#? zYrLF^q+kq-!3=7^?uW0LK>>bUzQ+(56)IPE2@7{ZrAJ{L@r^(ODbP5irCvGnq=^?v zW~ZjKs`MSU@WAHVB!?I#nGD?a7JFS{8yyL$a3y2KMJRK22y{R^a)*-QE(!poJyq=x zrSMmL9rj-OwdA<1WH7d7K_@NBMo7PZc4zW{Nsc|MplDIphr8*04U&*pqQb$pl!Y+e z-Xeb)B7R4?Lzz%1>U;PJHz<2c=rVR!O1EtCdo-TQy@V_7Jl6RX1vzVhW;3b>N*gEX z<_Dx4ye{*T*IhL9WlKwY@5LNAkNp<2V;m( zS_yHOb>dNw79Q4w*p$XmeQ5Q^0Mh`EAznI!I=-T~%PL>a2z~?UUlrRQ z*0dxqvx zV1A2l1912Cah?5dndh>eZ);xh7#U_TKrXxmb5JqKntJFHs(1`a3XZW<#J09ABR?rj z{pq9cPwn{iX+fg;gYfe>K0fvzQg$T-pxRm&puwV&x*J5%kZY2d{PZY`L`|& zyLrkUp$a?B2zV=P4oqC**;_%&N$RFub3=a;v3AQzNizf2J|n=~LhWy0_nSFMto^mM zF)!-Fx@y99S_O52oP1o?gT?w`t5@GoKio|c?{kBF=7?o8LO zV`RDeMUIfLr06SCQd+?(QK7aGp&->(aS-K? zU|>x6^?Ew*O??T=_Uw5#Ehb# zKNh@&N4NOOSI*5kCSnE$Zs|^`7LaG!Z)%U@xaJhC@X_$1;kk7c4EjZ+jS$}z$}3^* zd~Ixd=P;tF>5XNv2fKfXtma;KznyfV)*Cz*ETs|SNRSJN5yis3RZGsq%00_&$qpiU z!+@pQt79QCD6$<$)Hu&4W~}FL^tHSZ)#6+%9#1LvAC0h4X88cT-^w$5tV6_PHYWmn z&{E@oy$cdnt#@D(td4Xdf21q#({J4(y11@^ds1Yy2u1rNedD?&U*B_X6DDJOLO6ua zQ5@d}S!r?grVUuhY`nepmYVRLyM3BwG9Y2cm6WSU77|m;=h&n_5)yM6k%UoU{^J!y zkVM{}lO*deASeY(4=tM@#{BFP^{#dOD4Fqn{pT*-U0t5)hVlk-=Puzqg=GdeMna|F zZ*`Dyk3~VK$3H9tD)5pjSl06I#4m3AiAew*p5tROp1T#iah=Yt7P)ahYTUIRF0Wv< z@~4+?Yo??sBN3&r)0uzSP>?nvK~xN}Dnlifh;r!m@y!23Wij$Zgu4s5N2J<~ROBU} z;$Ptu-mV%pKZ|mhy|O(nKq`#kiHxWYm_iZFfc_hUM*S^@w5gid$laHm#GKxPL< zWSeO+Na!h5GySVufTf}w)D7MlRby+GZF=hFKpcujE&D$a*m?Oz_#VJc5pbA z;p}q0Cx4xcE@Hf9j&*?$W|F-`a+4@?i98fPj(e$36;g zG7{EwY;BF-Pxa{ItJIHrHpr|tTNU_IoO&p`%iy$rdc&l5sd$RAznc|iP~0rdu=;<~ zx%$wbL;J~i_eL(?>X%zntGvQwkH*V=n=@}8ujCJR(qy59X=v}_4dV)(T8=16w#Jd% zMDM|)HUx3m>(whivshK`_ITW;jG6G$A7~9!^-TLysUpJdA;qww{DM5W05A5IbUn#8 z8*X32s7bv)BdzrJhYQ57vk;4($VWS?a(Y}WUD_sLMpi@s-PgPy|JO30 zv5V}70r!rJ8b@aAHYd+Y((iL0pF!c6rDou1SkALUHFMKQ0VV)G2o!{Nvc6Gd&9KJf zh`={q&-@rxw(4~7uB^)u!`w+0kxf8I0>%GqY|SxE5{rZO*DY z4zqUIfyy-JoAUKMRHTG)0YgiQz2x;P5S?p5hO_I3xWqV4>klR~H8D^PGGK=YhN@a% zh4y{jnGcOfZP!WWdoA9SM%W@Rl+|4dM+FI5CJFXAZmR8kXTG0s9gyuW-cxFD;{$+` zbh(2)>*)^uk5(U*^5#TSLh%q6v7Ug2(1liid|#4^-R<=f=3i>P)%rIL6hVZ>Knlu-QT!iM}5 zclyotfpXB^hrBOIi)$tb5!fhT#pVMN)>06aB<`yM4}n2$K&M?p^)2y(jb zv8D|Vw-SDcMz)`1viy8Y|BVE_7d-s2r^q^&{?L0Y9@xYrqSWTlnIXy{XSc}$Q%$O17RmLUzE)pqJk9Tku}(4eyno?C&<--j+} z3C$N+CO`^1pAQxa*I-w5x}1;%>~Tm{e5@qVW$p|id4KwhNy@Y)d?M-j_KqGQXfNVbOg0TJNQUg8e5v0XDd$z$DUxEqrnYsvJ(aFg;D6c2%p3Ci^P!%J z588Uo)`{$vuNq%RBiYE|#_-#KtRCbg_W=q2W4BK>mFfMlfz!&PZ|u+ZyGBLt&B{{m zgPg!~+4^M?Xwkbs>|R5`+iIsCKjZ>m^1Sz<+;_?4!vbji%!EyBPV*?55@AEc%`A(#z#!Z{@;!_#A&9+pz&`mK5VG<(A0%R6fgDR^iyy=W z`ljp`1T|HHYVC}f2E?-l;!%e?95lO*!^q*`)X43&@OpLxTu(v06}f(t%3imRn}vgA z3vaoDlyap%^IQ+&xr4l>`t)g3x_A?4e;sVylYzBd)SrF!*8V&qgF z0fg!h9z}j|@i~e>)0-S2LCq?)0805aQrWr6AXIpoBgX+dqpYz>H{@ZHL04T6QId&% ztQY>%`$9^j0x&zpSJw{FZ%RkvHTFBTrmlIcMHhp6!Y9#BaSlTQV6|NlYL%{(#6F*$ zR1besf|(i@5N+zC(*B*@aF+->RUQ{d@F2bUQeSr^WQ2skk<)yS2 z1P}#RgL%LW%1UCJ4isG{J^iMC&{jUAadTVA2>(jGbP;>Jv-UapFirgvz*iQ%FJ-X3kD~8c?8zk4F~!TwSs#p<)HOGZ6cO zi!K~5i>IJnRHRwLTo7izFzI0lkhg`}qnm448Ly6PF;Ed$cr&|HtUI&4@%k;>3KxDd&?2?wqI>W0Ew5LD}7Fx-g!M10q?o@|}qzN$=X zGFgMY+ek8%byg_z9ZzQ5SfrpFBY4X*t1UB(-^Qh4;{dM<%h>0Km`Rxam1of-TFycz zdi|>)!wl{mqP&jtR3ejH(Q^IhR4E3Q>*0tx1OQDXN_ZX!`?y4cso8)a+SxkrHWT&{ATroBUiok$cyfp(I8S z0y%*M=9WCzuMsR!)Hk?r{vBO&1$x{g78v!(oo&Cd zir~62dkU)m8Cjxa3@8H-j-sg8Rg%+leH)Fei{R%dtNVY;41axhpP9ELEAq+e^J5jX zC0YbXKY?1&a7v3!3s%acodA$#&>Omb7g~V%mic0}-!afbITQKZ9hMj{<<5^bA&GF4 ziko5%iupI0Uqb^HU*E_3eYd`Y;{lx?o#Vq8o}_SKfO)TY-xS>wXP2dqPon#sDeS^DOk zf%@J`tzKWyn``V{toB(~%TW`a$?nk7f(VpC7t}#KkD^Xz*>^v%J;3WH>9u4aU(*n9 z^h8(GeV1f^JiDX+G`VW@*j)>2nNFRyRe-Vz^$OI{QqO>T$_0)=HAc2Qm16mR0&Fj5 zPNQ)IQ9K%NV%3AJVFesFY3zT_lg8eF+gs1t=bkF1_bp*)H#`6BEAuhtC3cgR~+U0DuHe^aTCo9bfSuCT%FUYF(h~YE48txA5 zK^}>59h1Xs79C%B<>%drb3%}o_F8DdnBprW{VEKW;^pfPMAc`3Y1LeC0AaIS%lMjZwtAx%F%^P0WaKnAHfIKr#E zQZYTapd{!@{(>GI85oj@3vK668w4^irg(0E^uv;HK*^A(pk1cq`sU(^PRtwjGkghw zb+&TV*xqqAc^gMV!jh2BemouQ@9JRF(?cFe9-fr}2j^~2Q*>SR)>3{hs)h+MONujz z!dnrJRpyq5d`h-ZOX&_VY-`?`{j>E7*srOPrX+-QfvD>m8$Q_QD&45S&;2mK7il9NR^)nbbNF>8IC7E0_Hg+=P>xo$?anr-7kzS6-(wRi z5bxl;C3r0@#t@cq`#vx-tK3V;<{YsnzgbT`>|IO;31vC~J9tWh!^hrT9Q%`67Qfrx zt&n|~tMPK{O`dPmqj;-PR+>+C`&wq|>$h&xj^L6VBI+5bKM$Evwj8T@$x~sqqt+Vm zr=rKtTWQqZfZ>}Dw9W0`Rb`lDlc3F0vquPjv)W76`R8ibTWx{ZD>rW!uQqGXdOAqO zy3tu*;;%Y3tDoC;+x+)|JT;Xbojwzr`CRh}-E2L!U6R%P@a6<_iBNR+*9h1BtT4Ac zsqnSrqQZ;Y4}nclDxXcpnSY1yFin0NtEDWx6RD2Urr=2EY88!Wzj0_iG3GUS1vR4) z%8-&c!cYCqxjDKqsxxcG%WdEu9qqK+YG1ktOdlf1Z zV^VvFu>XpqJS7Rx)H}R@U5YeJeUqE%((P6HbL9!{dWUvpK2PXQvY?$X;1r4>Fs|5k z^uymjs!k`!daR)>6rdP(5{PIZotyZr7YE6`Ar3zBFe5mb-)TvwDKj;nLssokDAe>U z4<5U&Cv$rht~SD-JbB$-(L{#Jy#_P=flvy~SU-=%fF-2{KrE>MS@Wy*DzdF!qLr3byPkE zHFbLSOn-?>j2W<5gxbmTw_&$^r1Gs8{+S$O2BRF)t5es@`Fq~tJlmAw5?tKdZQ-1r z(p)#DU_~bkp_uXKF8U^>+oDbg&OzSSLaEU#Tk;Hj?=rLL4hjMzjnVrPN#zZtNUk>6 z>&-rOt(r$I&QYr7(yIoKbK2B4L2mSj+e2V2n^^6iWVMvK<+aJCkRWXl>&|GuvO9X& zQue`C}1Wtgwfj#!?Lo{Cq(Ho&rOk>2|@5SUM4nyWizpk7$vb)gk1CDj$ z(4^O?j*3j!E_>pp;t01rlvW%Fc3jtBhijIP_M`mmYh$h9^mDqh69-NW4AJ z>=a&%nEr}fb1N|Mt~`xt*0M#9ah$E_*D}*R*VP{->tU(S4)=Wa<_B|ZNnbK200lAP z1fh?2n8?%JFB9~z+?n}&Y&?m`f2d8fqdb}omb<~`dFkVuh+%wuK>xtf4vdlEwO+EP zn#oE@l|m7VBf-q&L`aS&&w&7Isc10~L9Ju2Gep+AE*ou5%FVxH!5+M32&1txzqs1? z7vhS3Q#9_p_PT}Zi(nj^94%@o3RRI$!fs34aLqS^WMfG13lpW+I*j3!8XDB!=GgJ2 zDadzPpKS&bu=mi*`F6>hhlOMZ?3I4hX@^Bri+&l&sJCowKfAAv6x0OkH%j_qVUxr^ zDvB2TVvM{Em&{(T7NqOA>iV@aTCurXzgG}m#A9M4)*7ByIXlYgB>FX-8Zzb`(Ir~9 zR37n$@?mM6>h9ja>t?98{V74@I<*yr0?|-v@TzkVS|iw_scn#dtJ>y+GJ)Z|iz4!z z$8_*rd}=kX%F*lAuj1gMg+<|oiynKN8LvuZ1&tmyJU{)EBCTZ0R_SS76)y!i1iN*z zvazjTZ>KamS=8M&`0^U3O6>P&ZRdXL&D)dZgY_iivunA7`{?bB(&S!O_?1DtogvKa zYX;b#I(ILHe#lSQaZ;q~$MD6OU{tM+N^Q_%kP;_@m@gj!lq+SF!s9$PHL^n9m?&nW zG)W+gVmJ)r{EYidhFk_*KH~&d@m6{3}iIc63^bVDNlgpx~MkJxywS!uqaUD zOhzLDe6H-^b7Q#`G_`J!!JsmpoXw=C+X6${}1tD^D?w`?_Nms9UieSBCA*;S`Lor;Cgd#-;rd0j zMK_Y?!RWT`17f4wUmQoP0ir}4P6@s;xYP!ic5_5^ zX1@MqVzd+R*kb9gK!^YXz}z%vfck;QsRI|J$+#WPB)s?i_2f!NpYZtft~E2RE8LE& z@n+xjpW4e!CPAB{hj3j19*YrY)P(HZjiPSXxm{`F9S1fJ!5&ob@NKd4t5AB>EVU*) z2+p`p6Kkh+LHe&%Rz_c8_kTY>x(itzE-K%WoC&jqG&=vGnRfd3iRdbcmL$0k^E;=_ z{Bn%Qg){e?H`!%xR$B63#aKP90+kbE#HM)K*mGZ{Rezj$@&U@@d=`jK@<^;|QaP>8 z%=Ud52p$wOF0{Y3cO^HbVZC+d(QB|=&dCH7-w~r{PTPuBBTW=6?Dnw~xX{S|`FX~8 zyJW6dgTlB?%Imz#IAa)VA0}MvL@x?t zp1YWz9z_8RPUP{S%+;1jJD1>jZzudp5Utu{ixviKjVuuWT=5hZ+k^iTx&N029EfjJ z&iaSIlN&t9EOZFDU+2UUMQ9s!dEaukP0^QLaBKt%J5k{w*w_KnKhsWfGe`>;SutH{ zh(P@Gc0Vg*{9_eC?HA1+)NFz=YsI&9Oq^1?FSHCy(XS|#jud3ib8n|QGUcs{92V3! zy#2Zp8T(rRHsrurWOH`#{0|O*uCdNoJ;j^jWAcw7wu8}-WGD7h2`kIt%OMFdP8QrcO(r4($5ckUzKIn<7ykhJSB3q zxRAtdJk26+XRo^rNw#-a4%(Ini|zwI{^nk{Pz6>x_ApHMS2Zp?F4Qd5ZWzjIWyF`= zZe@g@CVY%9kN?c??i?Yt#TD7 zxjG1cY&zs49W9MvO1;HmpT}8dz~q?>AVS~W4nOs4E094(+1)2pWgO1 zZIlxC?DiStQPiG?(7jVw$AiG^_9o+9=rloDV7@Z<&R;7 z*=?n*n-0sgaAGJ~4maDVjN`SYc^&a?2e-*M-!8Y|Q(zBj`ZQ_z^Uo(Cj8ET><~3x zORl1$9cWr#@wVcmY2HICo3V74A1cA9s?7PEu3SBXv^@ z=RPs-xtMFadK$lX5It{YD;=hxO!7KQQM0dqWi@Ve^J` zR*)ZNm%=;lVd+n)m@vBQRdPrzWF4OgIV#Fa{)i_>`&=kR!4fZysn&E&97pm7{86g7 zo3FG<1O%L*#MsIfsEz|Bly&{Lw2v-VUs*M0iLv<=IHG~IZQVt;W8F5rdgaPQg?ve- zt9utmR1A?~iO-)tD;cG!o8a#+Y3_{t8Iyc}Z>|ZE!c(3rX#hW-@Ar608RWTDZI`Q- zBuZ5Ys!k(FXpz}CA^g-JxMc}jcE*vpgaSFi*}RC<G72K4-7} za8{{yf&k(ZPmIH!LrdRPIvkd2|FP`bAV&}bRUQZQ3F~-@|Iqmm$yUj`{#bRcthKD( zHHwV~KI+Od4{te+Pn@;c1%!RPaNJAXc^3k=f0e*QZOci9p zKGM`uq*E+a2>|Cf7_bqVFpkpa!EXjVLU;v*6vc0G$a4V-)iyT4De*F%w{v%O0%3`- z^fi?qBJveYU&B-$*KT2%ygjc~AX8nAMLtgAI$fX?I%KS{D9qlDc2#N|_<#($31W;;@vHTDe&4J2#LwaA48k1ApSaZ&)jQgsuTO3bPY|CJh=; zsOM0i38|U$ZFxH^IrG!L`VOOHQCM*n@;L`tOOYJNe>Mv*r-H9c>0A!V`EESw5RsZ7 zkJs!2XeiW?b?R7Dl=fr4%JHGH3=v^CG>w1|?EqcU62{*j@HtB?d%(MgzB@uDkxcKW zW})~15a=^MguAqu`F^hB7B>_{>~nFeh?~AUz(+)onAw&dln*Kx0J!%Y_&l()vvc2g zj<5oMADvf%=p2apO_~ZFh;6^y5^K!{CRfAsmsf*L zrCN2cUJUq7fy6j1u+4$`i9*y%8j_x`Q2O$%=-H{Mz?w>NxiHXHxMzxYtNHt_T|_yIh_Wzred9@I-{vzxkTi*OyNt8s|%>5|BO@( zI_Ce>z)`}&DJT()8vC0*XBbt9#*_o%{%DWvW|x&ZmKcETnfLGnB9DUhvfG`xp!mpU zTmfRZqlD|%cGGbZP5bs9&v5(gX-Pkx@PEJu3nBtfL^(^6iY&nNf)Q(BQGLTK2Q(?km0ztgU(usk zS-d_>6^~-f_8TPxZfghPeKue$VCmEvF2Gc!63G2d&3!e#tRl{161cJUqOU;+p8Pz@ zMyA26!V9)QO49BiL!<>REb+6*qOs%w6S(cXs4-~umzh=;Q;P~*Oy6$)y43kkk`l_N z+*tS?Mt#_wgcx=Q+zW*Bo*H44Fz^tLqu9+UZR+oa^ZpW3k#)xc%_I@@*BNmd$ zOxJ(WyIA3^cYb(vAXujJyH3OWy&=w9)cP|g7ujEpYE6mG?|T3vb6$s_V!rWQrZ1@eS|C0MZ^pzT&A1M8cu3G{+b-54y1MESyG_)+l-w zA03iu>G)kCzd4+8Ch*d$-aGl)QMIMK={Zlobz5CVuHA_eLf@AJe5J{&rI`{JT{ql&@J36a{l7YU(W$6{= ze#mUb}&?nhXZ^ zDwrL2N9_`L<;sMzfZwLb{j;jwz$qv~c*y3KZu2!&MToUpM?0I*=G)9&r;*~+mWG|L z8CAeA&BRS(>ZKq5EPJ9~&up8o=osWFOU1mFWH)5BR_O2=^jz~`X(On7ZGuIp*7${k zis^uce*G{XVFJ1GCO0jPj+z!nfY%bccMzI}7lZg_ZJRs*Mp{+;mA*&ZQt zgw9*n|D?;vk{*%*<=y1@t9T)2_LF;$Kv1R59ubt|rM>)G$e0jUHa&YX=<0ZpgMpEx zU#8`ZJK*VX}`TRdTAki%1QS@lo+oQY#j2_jj7*F z#TF5ZdnD|Zlj%lDY@x{A)Sugvd>9AUtWkdQzi~CX{hm#=3QHNfvYA}B#TNb(nnnnP zB}>_n=EJzKR|Zt1iw$5WsjMZ_eZ3*$Zj7;@c1EI&fEmf}JSFy;k!ulYLK^2dxp69t zu!N!B!%c!sptX>5yejyH6h@>T7(Xu7;USU;me39nNe^>O{)?w4_%@DG%9JoygxVad6(CYMlT#V6Znk)=vLxSUW!XTQkS3KlZ93 z_B~DYdRrBEgtQ&}A(?r%$q1-a1z_MB@eN3BD|?i0bo_+B;Uy!7lGp5_Hea@p%ZgsC z3tYR2)HyF6W&U!oD>w^I_sPaSn zk#-fiZfvoErSQjH$SB=+rXF$a;yNX6i@%@ZUfvpUs*$pw-1ei_%I{|N*D9B5t|6n; zcEho#Ti$2J=KXJOzkFx@sZ7?3=5+)8>(%nUIWCIu)fIbd{BvU#Cu4>88N9zq=GOh_ z!F*}>KxOq9`P{w9W7B{rVU3ld`n_)dTu#pXbb*qitue-e`cOpu7hIe-Lb-=9uq=$_ zT^q@5UxH@Mf=0kt>>5~5cd<^{X5i%n!oD^4sH3h;Y)2g52Ifasvj>m2_hv@kRKOHm z)ODdbOeDB&)_9ZpW!Q&_jMscD*J)~`eW)%&xEJXfXmGR_Ngyy0{h;P!S`pZG@k9is zn!sodN32q41S@(d7GhX}*PMdB&i)y<;%w29c6Ld=d#jY6QdRj=flu$y1OKtAWo;3} zoQWT-rE9O2zUn+S*8#e;r8@3EG+_7HxPo9x_`03{Qy^HXXQ<~YUTRc0aQippo4b02 zqoqmU)lER&->`nUV$jG&Qk!xtkn)d2bPa$#Yp^Lam&K|(Fg1H-BRdYOxgd8gDM;PR z`q{!aZOF7}BXMSNuaf!92A=W$PmvO((Lz}6Yx*hP8*uPuN`@Z4cyN(#m#{ck*MSE0_dtV@W6 zP!RT>n^U*LLe+(0F4wMrq{$A8!Hu%Yd5jf~xiA5LglbMceC3b_6X)bd6Z9q*RMfaY zvrmiAK`Y(@kB>Y|Rt;|}&pvhs1$L?r^0m_^3>VZ%qqIrx>;~4n8jmlNCfcCUK8@7{%@!=bI$0vCxpM>)>&+sYB@m5xuVuN!NMW+HiHZt?|Xn-gorKflrZdJm9 zCSmlHa;hJsJN*)j( zzstv4oW8DJ31bD!zRBMm7&C2yZ1Uyc%=>)JYLb?!2MbsXnM~D4$W2>eRQZh0^N*y`)mcG{ zZ(Y-q3+ld6&5Xq3-VF^!k~yutIz-8Z^dRFzKEn^giK2;udi6ys6@UkfExu2aUd6sZ zE|of%;Zu|24PabLu14B!$ELsflM|#Zvs5LJ#+P&0Ei31OIvv@2tIcQY6Fikohe9&V zrz6M9eex&3{K1-Gw+)UOM#L#QAorG_3 zX^H>Q%nX-;-h~;@!`UPK+=KCCK0>PZZLA{;Qs?{KM%pn0?yMvXSkESE%zN3WTb*=f` z7iTV;_*Qfk9Q5VB;X1&~5Wz5A=j;LqUT>Z{T_qt1{^JTD;#1*a|8mZOyZ1bruoZp3 z`@$_>BOZCKR#M^{UR)Kf^$W>PLIDozzC=>j%_p0cc*k!ZBd`(>)UMWFJ<0^0oCO1Z@toyQp9&Hhb#F&yP*pCR+HMxnAI9z z1_bEvwWg?OQn1g=Qt*fcBSn4sOo7o2xJqj)feyI8yCKMoHZ zO4|f*;hz*$oa3eOEOy6iuq2ncMFcq&{--Xo4cun!e|P4(Nj+$3ZY&a8_$g+)4wT`V zdLMqGBeoF)M&o>>d#d?A)QarOXykXnIFy!qNd?EpjVWW(RP;B zxzz

dNKOKpf4tn_TxJ)Uh2;++3I1=XpHJXus+|fQ*WM4dYYo*h-) zsmLU$(roU@&pZ%+rNddqJ;7Qv*Qf5s21R_@rT%QKlUIG zXCy4*eOR1iTfhuP3;Ltnzev)g<>j8di)0WEHcrYTmf}8+Nq{``6z=AtV}O?r!y|y_ z7e%qbcltL{_vw@+19Sc$Roc;Gwv|iYqjghxeo^c;#+~!fsGfz$-Uwk;R6kDFlIXXv zghlBZ{40nuuGvfF#X8EuOg?uLG6*Qt4;97lk#k%Fhv(VM^F))jt2Tp`UJ6Sk?JurV z9hEy%iYj{J0N55#E6`1!2%g!j5^?(P_vph?7K2{New*u<^N*H;|4-PfsFp~?Yv03^ zuTX+A?8fp=leX1B&)3yyZMwbvuE70x)IxVcp`#1gVE`nPL#UXZ%+v+64~`(P zHI(-Cfp9)D4R}-u`tbg;r;XnJVygNN{4~+d-Ni%}Y}*DJ2oepC#VF3EpJB1VI-faT zIU;5XDwUwzVpW4FMy(h+yf1IW)7UHp*F&fJ z1H^wBG~6>j&4%#2+?aBe;2|RA^U_H~2Drck>vbdU1`v9Od_4RNO)8s01{STNB=k z_=V9)h+Rc}n%wg4<1#X02iJ2Uqi5sZ8UQtzi=1?>G{tgLK(# zG2pzBqs3}jx&8ko?rqv`U0;Hc9F%cAR#PMIFP?jA{lh;q;!^zj!Co3=ulEUX@WsXuAG38!=gGD`AoHp=Q!M2%etYn?$r7NOmF0O$|g zS(R3&+QoFU`+w($|DcKCRhTQg0%Siw8t2xMpS}&S`%u4JOC{l7X)`J+l>YgY2{2Lk z?|xK2f7uRxtz@l zjnj#u|7bPvd&pP6n)kt2Lz6*D% zZ@~&?j3ZA?IZI}3{PcZy!v&|qmd}2K*F2Q>;v2DrkEQut$p6j;{yrO(Fe;j={o$jo)O78axtzEfY*f%2)PhhT)&!Js#!7z?BaX*1e68HSwn}g zRe!&PAWYY9{mc6tmV#RgF!{D|HihYP)b`gs#~ytw@=#3b)ho63L<5Y5^0l-H&F{Rw z&hWA}8KOz6j^?osycKOR&fU&rE+hpswS;yHlsy!Rc%_qmMZ{&Q^*gqt=-kH)d#1?7 zL3=q$BvJcIn@|?ul_scTtj1t%eSrN+`Agq^G79{h&s|ETlO@pd^Fc_O-}r5Fq7;3r z)yEZjz~G@F)up!%H>;OKG%DlA$K|42P{*KdyUNMC>da`hDnBz(?$<2gT(Z&fPNC?N zT$prVCHln8ZMHTXS>52hK0Pz~JOhN{tx9EqG`V{1->=I=kq(Zzjb-Dv{0>FQWQb9|)a zYF`ewZ(T40y5QmOe4uY7&%^uo)#c0l)5GI_-# z;d=+I-cW{r; z5o(rbK6`Q2{RtUY*!%E#y!9zW@OiAIFA(7)FbH99gqh1H#m%4$A~2{ek>%7uU@eR{ zKEqd}HE;+cdB~PSfF@$ht2y+5uLH`yg1yYqVUx#g+CIB<^`w`d>$u&TUl~fJ@onmN{vSzK z;n(#4b(M0IY;-6vy1S%fq{NqyknTnhkVay_XpnBCySqE2ySqaHX#{yb{+>U8Z7<$+ z?z!il!yg+E-3M~{uGyQes)rz8ZUN6RH`a15m|mS&4+>SrAE>gpS0I#4mSx^c*dzr+ z$ADtw?moV@R5~}OcS)J1?c)P`?fhz&Wgbu1G@*fu*%zd z+WPNuKap6ITQQ&?Bxo#;6fCeQ6qD?g2hUl1v`pJO;W0nZ=vTcN1=kXEbKEEAsXUI` zQzeT~S+0bkHfs~yLjy>P+sWE6de)q<`&4xc;Y*F-N}`sKLUwn-2~&%Yh1n}#*4Yya z%2e9MGGw!SgCl-$CssJO?%Jv{NQT`ScF0lY!fBNMT^6y9LBkv$%lW=Fu%vMG$jVuZ zQ$~#8eIPA>%M~M;+-wKMGV63*!uu82rb0|NR}WMJ$A`T1?2sWrq{EWbi$A9mQva&53?DS}6lMn$If+itmTD2%Df>~567@5=J_BAg z9|}t2Rlfg$@o*(olHYiwzi%T%QVp5%AfLHAe+eVfdORhxW=spmhX<88e7-*?$jOhS zhihP={fKj&$PetI zY1e+$=8`{DzapVhpp(ElerNctG4?eTOq~l~&Uurx#`rWgE+p91&X2;(o&67tR_s>z zf(GUZ-s=ms*7~3q3*s(GG25Zd03F%U3tTlqbxc^~0IK%HK7B2wJG!8HM-beRagn@O zgW=&YLQ^JkH@W^t;~lgQTeK0dWoQYW*z2WN1z@)1>3Lw8dfyPfQh_*%~DSB6LEAz0rInQi2UrSEs?hN)*nKY^b5S8iZ%; zJUWvKK{1Cha!;Qqcr~3{I+kjHrydBku{VH*Y>>I6LRFL)3#d0c&iPr7YQ`*URS$jn z4-hupE9}4o`d8DeA?_o5%Ll@3thHWwvKU3DS5qO_6P@2>acEn9FGSiecd#Bw7d5D< z_qdZcPm3I`^NvBSZUT~d8v9KhmOH4O#ndvYs=Tb_;ZygXTcU%jI;mfYqv$h}7OK1c zPB`+m#Zy%{dkAhHNcmpOqoqb$(5k|I?u6FaOdFoJa)R;1#Ub zN)rD5C5jehdA{#5G`n4I$8}9#YgR=+qx+v4^?#r?4>#rW(w<-tCKNYh2(Kjz7>vHKXtBQV)_z2_B|OFo0=yxq zK$T^ra;|y;k^F502Mb0N>Ul~BSAWj;I{-<9AMoA&;a3B^<`k%@RX^e>?U)|}W=3og zV6KdE)#}7*r5(;c19R5?e{$29)fRCjy}Lxra|e>ySGrR-owd$rO*AH6RkGJY0Qm+0 zj7Yd0jB|wZyM)&SxSmo9^Plt5rj_1+8@Maq63OqFOUhk2qTT^EZMI5eyqr-NO0CDo zR|^e;Y!JzBNH~y=mM=f+JwDS$Uj`_>f2P>T%VO6&gLdYbV?y%;xV-QB9A?lWlhC0Z zadn*c@((8ph0B@jP$y~yZkOBG6q54d;)K*?ISkQ{z&8Ar?K{Tm(gPN4@sN~W9$0g0 z9MwLrLy@mI2)|;Z_JzaWYuIO}E0oOtGUH8aV6j`F%v+Y9FN=(Xg)o&Fx{xk$Uh>%~ z7IH;FPJj-eM{%(#6>Ev8H$0}K-(}l`&EfNvw)+@{>4b<%xbVS_N`&7*;*rJx=d|HW zLlAhoOQ-i$wU#cKd^gcXJR4ejS|nIaQ2F^??`c1#l)S#=u2P#>-oY857Os;|+0r&W zoRbAP<AJ$@YMsxKWT5;1jC-t1~JH>Kp^9BXWCvb5l|wWPSfVuh|l;FNra2cT-&rb zy+(L%~>cMsjV|7_`#Rza$Y+*-JPJk8zZrKM&fl4hRzGCs8 z)uEgOWl1{uXRw!X6djj-H`xB^tGD`+CbRt1tvah-AyYTOzH<*Jxzmb9J4Nu4(iWzT zBvY*1!xxCgcTdY0MrjNhwt<#-_yre~Mw7DU0N?A75WCbuMeOfRbYAD{T;|2a2I5Ll7o-q# zDbq5`)ee7Ed0sqReqghm{Q8Or!lBUR1BDVDezXO29kO*j4f-z+yQIx*XQF<7cSW^b zNs{Luj(^Xd6p9n%B@Fzvd!%--q?|`z_g5`4_QC$dpq%KKJEI&q1gUiQ7u0`X9*!L~ za){6tAl?vflc}?V=KUT@%^#VvfyX2U9Hx+g!T>GisY<%ms?&>F@9V2rhcz0x-}jdu z?FGQ?0?Q8`QPgFNz%6H4^AJjND)E@9ofi)yzquX>pKWw z6-U7B&D~#Z|?0z4WTZc*#~5gkg7Fo^wDo&A*IGgq5wXp}{vJ*I)JI|Hs{TlYb~ooddz zTKI$wc2+yvT3NdZz^AAp<)Gx){JIv4fd9l0Ct`d2`PlSB298_fTJSQq3t-Z8oBb$-r@Xtzd$yiT+hQDo^vG+UX-e{@1Jl$ zufrtT#)XV=x~-Epfw(T+dabgDu7y*!X=#pW@|H+8<5Ce(nzbobuak@Rf1@)J&6Y_x z!n#*puazzmAt-sQ1;}{qkc{`{c>Evu+{_@2*Xjsk#kX{cuzXv>%9o^Hs-{Y#V;Jyy zby~_cscGIsNWb!H%rHbMC7$Hr^cm%~j`csBDWm&yX;n{QfIhDPJcb9Q;IyB~&9*HT zyV#mthOffg?;=|0b)Ln1pmnEQ2RHY0dj6Jq}FJN}3>!e5GIh zz2e;ZSSip?F24ICdYoTanN1gx7O)^3WeE8i(a0SM^w{lFVm#aF3SbP-IdP3AH}1%! zTtVyJdX?F)@VmipytY7_IFg0qS+e z&=iu1<(o|NIxWFhzL9S;*xh!Qv0e}%7ybx4kX)KPy-9V);FD9y( z`c!ny9ZAPA_*&O0(qaMlm^eo=_7x>yKy>FfE2o7K~(bNal4dO4vD^0Z>9jEhnAdF5Roy@*W5AAK}F*xBZ->TcstEZCry+gtusLcMHP?QK=$u&hf`d&$MoBx87i-KK2xZf({@svo?=J6OqR`m1 zKRV{SrOKr#uNL{fj$Gu$V+6BaGSh}xBqW^pZijolfC)osKGO7=T1n%h8cMPVp`d|) z7Lvk%-XuPAPE5yjjp&6fN-SqAIqxBhp~#J$vG=RNOfUblf`w)lD+TK}jMvxnaJcNg z6>n=CA27X8rXN;(N1gXgyv1dkmfAJGi1^ZI)fb?B8D4&gX4h|OuCk|!<#P2jAjdb+ zVuRx9Kd)Ide%ZF-l>{&;QVdf@IDAP_tAy$sNlsoOxp#o&3xvxt|dX~@M-dHID} zT!_Ir3*E5G2rO%6@X<#?aw@7VbeUMJ;6>YIjH^U)6UdO#!jN& zCIjer+#Z}RxOs&B>AIiat`>fhfLg&fHi3kpt)#Pelpn)<(5Xv;4}uQ@c>d15Xe~nz zB~!iL82dF{{|X?QKESK5{5bp=j)B4LGWIX-SnPk|B>Cv%Rb3;M^9iYzj4sp+n2Bbl zFkZr2#PD?beoiHv@DvZ6T{Qi3KhSzKe$CqV85$m^XEO1|tyBC}T}r}=v##X~8R{tp@SQYT`Odt>LXGp{$L z0^(2L2V|QIi(UD(?G7U+HN_b?-YPjgNoT5Z`g)+z-a|dmq$5IKu;NY29GFL;(7y$R zinffO0#n_a_$vacEX!0hv^A4vs%4ZtKhtYn+HXiCD{rwE@(c8Kqhq#wftl!7!KX`f zejFij{>o`Tdr?W5gt0`Iu_#2N3UgHjym26fv`FH@enSv+GCxRm$G*kM<%ce%gu zZBH?VJ+;XdbaO#3Xj+5WUo+}QX;SCe_&tHjv?6{gK&wMQT5Q!J79gIuQQNINoY~!! zVEjkjs6}q#?!*x}lAOx_JQwb^zsC{Z_A!Q;B1fG-Hbz#|I-K%*V)a@I*&b>o6g;EHfTafwU7i)sm2Mx}eFlsWLHpY6eH262f8 z*U7E%?&(*P$aR{~ykj{t#pR+{K<83z9T*cf0PBos)UP(`C?$IfecV&Y({8hvq_f;^ z7;Wi)p_^htv4Gu2s@9sT$Hy%vMEya(%#mBt6ELq-9;WQG{71sf)j;~?$uc=cW#w4> zCogQs9X(eF{uPks?$7=@VzQ+5i+?V>(8?nRGw%Mop@~t;^)@nptxLrB8LURzmuubI zu8uDA1PX-~AQNJfvJ&Xvea`zFZa?ien3*CG-qMf_$AOhN-`GP(h=dDCCd~L9u`~l3 z^Rokqdz=CLD4hjaIn><9q}o)zK2lMcyCT3zo?5OuryFTIhxXC{I^HG|`(3mgtQ;-U z>zyEoT~dLK4IQ_LI5MqZBrZ?O%r#v&A&&1^{60Jw1bPb?HUnvRMtUhz0PdhMi34=< zfYgW#IyZjz=a)QY>5>v=z8;<4>Dx8t0#WRM36e2M4EL)#AtXHSg3NKo2MpWhm#3>yIFHuFcrhKLhNW6)%;V`FPm7AguLq`5x2p#yUw3Ay?l%Z|TybWhDz^6D_t zEW7XOiY^nU$S6c*Mw4L3z^cxHsJIJ3Ee_z98c#6wzQA>4TbuTnl8cEm98wH&nhJj?S3*{G-;i)OF5)!3$jP>eX&I_|R< zsr%Ueq59N1<2D_ZL&j&BQq@z48fSK5WxT3QFDaVY6V?rFv$#53OG*a6?eO!@K&@L& zwJrmh(R>RC_`{o@H68$!BIC>Da8Gx)SR*0#$T^0Gr(SE&4vQkf7V$EF8Z8Yc z5Le7$M56BBo(>B0ky$8Pcw7S-qcsjd5PA|m<}Wf;2^R)aYPbfD+>zi+3!ilAS0yqH zZ#ZBC)wnN2o_46*w4Dj`r`8zzbfo6jp)lqz{^f4qmd%D-Vby zn9V)>o;e06k*)EloZtyf5(+?&vCglTv<`x%WLtOTF+%rcvNAW~#+g%t_Ho>7@EJ`C zoBSzZ^bWHUHlE*d{iVW1WnHFAZ>qIo8P}|trkl^4fIdsV3G5m*J>@qii9e?4O!x;sPzBS2wgzAQA7l2eyX;r(cF=n6U z&rcsGR+PUMxThsD;NCs~a?8+?=ZZ$0tha`Q1whqh&Uv$XDLfcC=K-s&YDzRYQB%rx z3L*q@!)SiVlbK-40G~zczYhn3G2W}hi?=M4A}@r_L=e0BC5%@6T_T4wFL=lb0R29T z7N>l`w7JEXoy|1@4*p}t-zHOKO+C)W@{jAhXhKErGpzpW0aS$p1GbfK&R5&oF!;TI ziR%FKo+=;xAKFrkz%F)J)o%ef+%HvhciY0+$VYSlqmL2zT8&znQZLvGR=;|^T~J~%vQ-6Hw2a{>QE}#_ULeQQ#ogTO~!Tt$s~pslF2bekPjRBZVHWw4Z#1P z%AXazMPp5}|9z8y$SqTfT0w-L)9re0)K2cz3tAeZoQD)=**mK?MNlY;GNkd-H0(>D zq!7DZIWaX4Mw88PQ@Er>a5DU2Nb&SI^x+2;{v;x3V2#O4`Ml zyj@l3Up{u_%Hu!>Kkc_EVBG2u?oTpKmPIj{uX z4PuN%Kinh?BC0mGNi(%*Y3Q@WG_R3>4U2$q)e^G*co0!bPOxdQQ(JbR6N&#>9%9||ng=p{(n9x|~ ztc2f?m=WX=c1YW4TWpPSALsz*zf6z)cQ$Y{Yo^+^sOWr zk=Zz@n&dX9&VXubBMCxDbzq^NEUh4p~hl1+h?2Cs&F|& zjobqHZbw(Zk?f$aMdYja)xz5h=RdzZ{8t2We>7>E#z*%-(v-;Nsk}!Izu6c8AmWNe z1A&)*s3gnI_!_43=lXEZdW4J9+z9J^Tv47(byh*?3Z~wRh*GdhchSr0kVE!$%sqGG zZ6xy8h3>(dIZ+?QMm+l1>kXy6A9rdwB@F`xdQk%-c_tEO1^*ovz5$N`>8fP?1}WKp zfLThhQJd`-RwdRN^j3(DqbMtzN#ejm@7ztwJI0&GZXM?0^7tQ$!*tY@5gp&`a*k1t z$;&m#h5@%@s)1dg!$Ba{+MlHHUH5d0^IRL?1n|FQnYrz$n9pwqWp=7$ZdT6gPFf34 zU!8y4$MZtGQ9Zp!HVAZ*Vwd|GjmZZ)1Qp9r-cgEi3-ZwUPdO<->3g_E!lk8!K$Ekvj-W%!b7}BfXGqtG7ii`gp1PyMx z7jCB%6{?lZt+h5Q_kevD9ra>mr0o;2U-}J_0p5~ctpsuF-8)jJ)r6y89V28{1*N}M z*nR0vyW$Wnb;`PuWFmN01LWvgx(O`@-O?n5BL$a#u7wTBt3opkS#FF09b^ z3KPi^hxt}{ilm=ZQV=Oy(2$A4+=OR-(`?Vq&&yQ4Um&CVB7ZLKa&)Nl>@P@#*Y`mf z-eqOL5+4Z}t7=Z+uruqva07o`On3d_p27cf(Q?TcMh;Jn#3#>@YNC({I^DkF*UN!r z0=4$A!a<4=FU!;o@!l^UO<$PU|=&ndZ({jIlCl9E& zRr|D{P8VyD7D*0NXN_=_s4T5tZx(jhi+-K}!*ymrO?={F58lj+ro#oj$Ro7$a)GFH zT!mewYr&y2F(e zJ?fnD5<8O-6hKUoy>X7My4hAAjxqlTb^St}ppYO|?3wvO4w>70`OG!ERBbK)+(z;5 z$e}7UfTv?FW4=*&YRag6pd+yObW?Ll``ikLBrf&@A4;sI~ zmI}~G|GS(A4t*9ENIAqYKn6&oeU5tM4WhV#IX;R~En3tRT<6R6p^cxq3O`;&SKfB# zLQs&9|7_IBh}^WeJ{V$jI~o_i3T0Zab@{pJJR>8VJYMB%$4ST{u*3#v=L89oMkW`~ z4u5k~;h6aQ+I7c8N#rGAvG8b!yn}IrWN7;b z)`&Yv$2(q;AjwIx18t!^y+DQAyME8;^s!e`OZ_8VqyT;@M5^;PTNQQC`0kLCGRCW#ZM_C~qZ1ZQjdiwc|j$}f~}i&NktZ?}ZCQLkb4Y79>T-$-iryVoq5 zoNTn<(`egHzubM-P-FfcsgmtHP^5JD{=!3nXB7jX+%S9SdJ-R*;x-jZB(HLF4my!$ zauF9F?F0B{+Fae_0%qCPlgj+F$;Q^q0$?H|DJMX~CFp9qW;*)OPlQ4gN~4{QN4l;3 z-jeRUIKH@em1eQa)fKjDzzwdZTz4aWCGJahxD6D0wB=Br~ z)JYr?7*9UnkaXY@hVsTZEHQ$u_rRm-uN_Sgw*voTL=UBqAE^=bv~hbc;~N^R8jGX( zfv!YaW#EnS=ENg?M55;qqrwDJ1Mgcrbf8o9JRw-Vcduu_3=2=h8M96eD>;(bWn=vl zw1_&&hTB^8;BT_0)`}!pW`Iv7$@(OIrN9P)Rw>;1bbn5gb+w7?S->rRAeIxsvO*~l z=U7}!8Y+ct7_rHsza12+ISP36McdXk-%;E10?pP0%A;%*2jOab9D^iDXE$s&;`>m?Fw+;M#?SojmP?DuiPI2g!;bxzOjd3fUF(`8J73^TSc75F1~n) zb`gY!tCsD{HY#@{K;6lm>7n+BM(>>0=SW3St}G068ChxMIaNj2Z3)SGMo0XXTn^Au zf+z3;hEwPA4y7`5Tk9aMF_M#yzHQ{u4LmUx5V2^XeuHc9hi84(+c!bp!yv;xo4eJ? z_@Ko;#;*S^`C6^ND;gd|Q*v31quqU0YNYI_+CW6@9@7P9a|W2VJhXJ!x_voUa8ea{ zL*J&%?Cbk}U;^-EWJk83F6kj33wq)Tm?eQ=sezDq-VswiP^Ks5wFGfGjKAqk4444h zRJ@yx(O}VG)K^}n{D6XzdQAOv@LM z@JOHWsf;_JAfZAgyj4ZoM2i}^rV8|W%JLaM1K$fODH=Dy)&-f6t$!6Cm}rL^F;-$m zJp;)8xH7QH=H&ni=^)FHM`xbrh21jZ8*6w!!jyp{4A-8rE#Qr1a2#z5Qsm3h$RW5h z6(}d+P}n7_OmWcZcb=yD95xK>QKdV~PfgTAafW(uvO_ycY4?%ot_>^sPyc^0NmMA| z8LE0LtONmzpI{i(D$DFD(%nz^#_m`Vr`&^-AY?1a)ma&?o`WA-1J;vh2j6ALW?yxi zk!URwTM}xl;d}qJ+sp)U{q1OVmZ5X8+|GOcU8auFV!^@!Mt7YLYwqThh&(jv1q;S7LIv+aKB`pxoLJY~*E5(8BcdS7&Im!g)L{>2Rg z8{H4xNL?U_+056r8_>6^nChU^1)u_5dT~~7e2hd@R78ay1t4X*>1TP|Xh2}6J)lw@ z!mxT;Al-prgq_lr9KIMRN-(7i2Soh>U8`ps+Oat}0bc-l{4PG$J&?x`mJy-KG{7_% z?a{6}c)whx*Qx0iO$I&uW%ODSl=_E@H?s+RRmvhuCN7i{2JXn?Li}b~8~Sq&F^Qv` zNdluJFZ!`+NlCx&eoE98++-;l>@ax{j|r~xH3{3k%y)$T4!f4EDRnpD*z6m=`*-r`Z9{b7HwUHLta*&)%FgtL33~@ zXs1IHkUIyeMolHXVj21KYf6*MHvlg<^C<<1K1v?9JXLuXcRP>!QfRpPg8?>$6AF+x zl>XWOVN6Y>rbB7qoWqD*Pr}vPKtP4NrT8#uFQ40ajI@CO0tXMKZY8BuB*_axePgGP zA!G7n7xpt_O#$Y}vPHx=ZD#F?H3K~=Qz4*W$Q#6K%5Sr3RcC@v=Bn{qW}(Yamp@UZ ze&2ru?QgdH)KuuM941!fG`UrwM}{{x5z#?^`Aqp}#; zmQMf3NB7^kbg;GQjgHf1-kIyS`k+iJCr_uf+I%A*NMNRSSg=8;h8)vYLT|mX-~EKZ zW|RTOW<0NEgl=Ldv3je|NQGQE0Yn~>sDm8+w?c~godRR7NE5W>KtO^b7Rg>wH7mSQL*GgaD(jxC!&w7f^AK1{+xFEbVQP>8%007Rt0n?()EU(V7BMT`0Ql~95bronySt0ItV~9p9J?+(3^2#Q zU8~{5ZWB-7&)WpcI&{l zO|(%}wG7GBAwxZ6g5G8|3 z?q6DNDu3Xu^F(L%jZ6H{y#O|SOE~+x;nAp`8lr!#hs5(*>hS`KWHJPsdbCDaBqDO~ zDmQr@?fg?pdlun9objYE)M~47++e zC?2p;?Wp$Lx$JvZzMHxAtzdOmQ9tdE3oT~k!lRyd+2IoiwNT)Xz15ZE@)O{w#fsbR z-*Ag?PDLZMCR5diK^&>DOsGI=dHa1qJ3&JqGz#odw#v0$^B6ghxQjM5aS-uJEM_DR zj#=s%46VP~bR9TAdE3?G16DN$e6dbD(-59X4mYBzzagKhz`gTbexwSWGwj@N0?Jk| z{!_jh-Yv16jt!n7r>km^Bd_!cR|gN4YCCdCYp^FRa=(o%vd8*}wTEZH`f{Ro@m2F# z>$k2;7nz=G4bm*?5rJTLF^M7%f6RXG8`1GU{`Cur%W*NW5=lcf@WPgc-Ub+>zLVxd4`9L9I^-lzhRg9Z?KdY!{Y>cO#&OVWE(ZZ zq95>U&UY^eXNBS94#0kfq}cg!#_Dx)5Q@5skszBNoShqt@JCIc-w=$cOZ;s0z%rHC zZ6u;B*86vVW#|99!7_oU9#uGwR)7Wd-@sqOJc^rUcGSz7EMRlKX~Bo~ZN#CH=iy7k znbLjtBafDsglH&rv^zUZ~U_WP1UUFY`eBs=45CkT6;S-BJsFJVS?mtrrP z%FET9|M-YoedbR^u5aKtxYLpUlep1z$v^ug>t2JqQCT2n3U>D|Y1Nau+ek4nS1m*n z<6ruWGGqsZ0ERNcBMkRxb1{{XTld`COyVdl7{J!E>cSF1ED%7X@e+7>;XpJmt}F%li1C7MC)GH;m` zM2zWkpt~Wd|GReyo-#bm)2SXzK||xyN;EZTd@RMH0Qn{^u0hMdZK9`>8;n*jE&#o| z?!LLCv3f+$6$ftL^iju%+(p!-_*Bl*5ROta_m~vU90Ptyl>B}Mu+N^vmwZgdbjQPE5AiD z4YR+*m_)}*akUU#6hyKlPtkrWF(pYXGnL5g6`-Yj?5hmMK(LFIYhelalVTEj|2&<< z{$|ob1@Z42UO0h~(YC=;4ADj-2|f-Uphyn8Smknd4@ier-wt1saPzv4(_!)F6Wi}d zS^$d1(6xTbVsG3EkRc15eV_bUH_w7yAKL?bvx;4!rB_AfoicF)DU;*p8H-A$hs{Ff z){7hN(HTbQ*XSf7_X>d&*(qS59&M`5YqmM9`xFL~{pfQ)FUY-T*ex$?o%w*@to6fD zn5duBUMLsAx^}D9wWDhEO_FBED<ZXl?3>Pu~t@a^x* zlpTd`E!Rh^Ru)Hz&ogglq#)6s*m8al4EBiv;*0B<#QsbiidVK^oKbjqwos0p^matk z)E7*g`{y^551WldyN7j69w!Nbz$#rPeu$>XBI6E1j>LEWiXT|~oaXU!F<{+upWCQR z8S5Tp`LrNNN9@uwLzT%`?P&;frxOzP=LR@STfi>V2YQ-Z=2@&h{UC~qw_<})_n{C$ zgz|%kQm_1fu1@>AX_d^=>E3}gvlp1pSjp`(h`AT*g-yvL3vye1d5)LTO_Rx61kztH zcw$b7lYR^4njuApMEGrFy=(l=quxqGG^TLEYw3El+`VqatM%ra5)d8iSby5+gHCAM zX*1tLI%pm|dmwn9S|OM2&D_m1UpWwIGJ{A^s6LA{$sM{^prf2rM3$|vC{T-Nh*L7_ z)-EKLvc9~YeHRUauG4U#XwaZ$d1Y(PkTLZS*|6j6813sA1*kmTCm0whz{vfnMb zjSDA{(9kz*T=qKFa1|&wGcewIu^|u;SFt2_uh_w3Z5V*Me%52gvOT_l8B0jUsD=1W z3D2F$0uS0KyvV8i)^`1)8z{XhAG&-$;BGmauAAbi5t%eq4Y|J5j%YL}uA2om0Qypx>qx_NwjoZuH1ukx^8Q!@$*UU?{iSUpt>LtIGtjV*2 z#3t~BgSBznHPgG_FOV(V@D0f>*ppi5Ea`<$n!Qs!Up($4a|U*r^~kpy)Q36^yaHragcU)Tb2gzxsw_5vFAS@e z)43bd{|-;HrqO`&&bsTgfE1O2>M_@O_Drz-x@~cDvxRS=Vdgk*abalCvF<#mYasaEsbU**qdwC`T9e9GabU>oG)>-7gX$g@TMHb1g$l?g z;9ew)vrOjP5!pU?8qJXJs(!WSD1IvKb~Nyq(zsnQ zFoZ|*dJ|xO$&r{(r_>LOhp5RKm%93EuRWA*{7J1Tmig3fG8C`I(jSP2Es*lJy#1|T zeq3~8W@rp5L^>+^QyXnQ-()4)TQLrG0Ywp3bhNZ5H}$Jb_gB>3c}5XF{)CXu^Ulo; zcTa!$&_B_GNu=^ta022;C~Z)W^k7fqROH>;?#)wxy}r z&D#qpaB@GVsM>HVD2=b-L#Gs9^?@s}wH+rO4`wZD8{i0E z3>*ru`Vuapt|h1*dQ91>+RnAihc(>XZifTa65#-A%E_eG5HDAkQ?hSwYbr|x@Yc7ui>$HfIPYTs{j=6((#h0So z;g0^-2QT|Ii;os4VJ_GP;FZ-`7b|C915=s? z){Gl!Eu82o@Cg#AaiPPP$+5%LwO7X70Xb*IMA36W7Y4!<2DWZ}la*`Nx$g;o4BaDN zRp%Crgg?AvF~OE5Jr_dV3L>`P7#~p#ax|g(;Z7-u^0LwQla}boZu1ZG&o-$d zs9=(jh#U(EQsgJH=X@t`b1^>qfOjTV=s z@46%?`T`L$A#-A_tY;3xCKpntDMLedNI_D3Rd@Sgb%(KENLr}mjgysL$gCZy1-(({ zs#>H@4eLkRFl01gXZX~foufgAoyLgE-!f!PC~%Va6JN%3@mc#0%eBZO&XF&Wo(w`* zT#wxn^5dbPA8(~^Y%#E>tH6Z?y*m3Gm(G1eF}ujcCE9@DCJ#el?--e zD;4^%bcd>$7-~o@8Nq@`>bpm|SgEV#uPVeG6RR4_cS3dnN_F6#6y7g=m?i)ar@6=? zy3_6*Wa_92j5lukbE&-X)W2V$m-vm4WUJd-3Pg=Z+c)T%#urA>mm3>m6SS$NE%!55 zKH~t_YX@zHA+6 zCarQ!tk4ybIGuyB5P2JT4#xZj^M7d1-L(3^DL$m=yVlGxf+Es;5o|0SOUGeXZ6+?U({d^Ch?L2I{fJl*oPx) zv(=bD4p!a(g8sAjzZKs~?T(E)?G!YUUtp*+AJhZ*OQ77*F(Y?=-j>T8v#p6f8>_!r zwbiowa+}`NMnw_B1TQ6L*b@~uywDY!yrssS=8lWuzXBI#qSL;o8U{aqR+(=>)r{T5 zEMhHYss;yWn2vOZ<+5!w6rV(REKo$oUZx3I!an^Dy!9}sc_EQFOjkTRmRHgI*2l_Q zm(#U1X#33^=(}vSR!Sf4^E>0DiV%Sls5W&1S*^Pf{V&NF@;!*vMQRi;6UmqOK*O@-BqzKAp zyw#oBUne;(9ih9lF724vxkCqt#`IhoIEOUG5xGfkU} zlTPmFGt&%8%?d<0g5E38vfzEJk_d3W_?`O63V*9^kOIQ)=LqkWic$C4w*K^NTOxmt z$j^77R#V?mY7KHzB4hhNYAVyXExtQOLU37HI*v`qewx?r&W5k~e>{C(k&e#F~HE>r7)CqNOua--6@R%(ja&b?|1M0IcHAnTzlp7WXW;E zw}m{}#+W~>%m}qBp(Kb$ifgelACC)sL8HLVVyu^9_wiWWHbyE-b1=v2Y@JV#mEZ2g z{OdK^%jiBWAITBrb;f^!N}ctg4B476DC2CO>E>3i&4uoIt9fO$K7gw8j4T9$29Rp$ zJ)1>Z#lrC$-v`$)Mm4xGIp@Fa7Uw9+6oAy4Wz)Mph7hwq2JV;pEQGSXBR(7RUKBDQ z*2(~k!$69CN(lwbh7$??njY+`GSw?CVr_Wr zc#x9`aNlGMY>!p_mi=qU_l%OXyQM-x{9~wGl&Fsuv!L&hWpA{4-+dR`NnIF>v#T8o z+L&Blld%+HF?fE?}9S4dGrATc(@kxk>M9WOu7rkwP(J5R+k zjdALfFKAuB4P0Ijo}FwM4?gJa!RFbIWzTm@L;pc<;&3_l1D0$1tE8-Tdy%P-=nt73 zsOZ2}x^TU01$lP-9v#3)INvnxzK34M4<$07*17l6-3qJBJGr>^_u(LfT(-}*tSH{Q zp&p{UqJ*P`M%0=L))<_s=|rV97=G>~wtZ&Me#yHT`!D4c`t30d3C;GFeY?g04S{9Q)vT+ywEX1W}un=DD z591WnJ5x&%(yWnqUK76Fd%~OgQ&=tqc`({l(Cs#);<2>`2dL*!KNxU-{!TGvW5ushfvt9(;&hKJM$e>d{(d=_8WLnCZ?(Xztw<6GakrS(%m5zPQHzWOPfiE`ST-7cL zvGvT!Eo zK_^R&$~Zuta_456XHKj&gLd0)Gtj@h)FuiWy*BH1o8!;~y~O}rJa4Lq!!Q99jWh~^ zmS_0ll4u0v?Ka-3!8F9<2aFMVBDTFj5=|iOmf7F~`F3%$s6fSx^=~#~a-W^12NH9! zw?Nu5s*x`SRrEK7ARHN9Us<6^mp0ALyDBmo5#p_XUcWVgt1{6lkPtSv3XhlQ`!Jn{? zh}h`^07k4))rQ-y8$atvPR=`;$IN?H)U&|L7(%RWQ_Q4BW5((Pmv`0WEM43DRQjE7 zqbeL|>}&=^)wOyi+CI6&_$JKBU##As(dI-eHg#r1%A|7nk`HtJbta{AJ-%FzX*T>t zOAI8opD1>HRtLA7f3J&Drot;_GC-wz0F*~TiH5L=q)Fn5#0t^97?(PUPV@aQY3V>d@IGm?)C9NI$ z3fj*5+m!Io={izWep-<7aW&Rxv`4ir4G6mZJf1MjtV;H=bmYz6=v)a0X6^+s2up$h zS#|RkfpL=Lx9dkOj%|)48;LoJ8*qGuuj!600k7AxQ3TCh?SIL~&S632pcz^7b#f`M zmX{_cI;aiHe{<_eBSi1s-hz=%{=SVEoG!g$aQc|nnz-8h6ReqrXX0O<=@=Zx$=-){ zXr_^bLUT9qf?Q{~C#odB&YNn`$d1W{k(Z3y0&-kPWiKY7D-UX6O4R_RhAW@W{XnIi z$DP!`s3l|BU3-6PYhrE}fA&&3*R9A^35#d?#us$&s1HRIb$dWsEzuT?!|gllGo7;V z9@9c24kPUeG7zQwzf2cz8)YbH|~kB5${K!@4iY!jXx8g(F?K&m#&+~ z?h#|CUx|{OYU3k8rMsz>hU|-*T>-6Lvrw76Rk(JLNuCNib|{e|`E_--`h}>k>{Eb& zVKq8`ehdseUxF)c8zSIOkCU#x6cJIsPeA?f>lrF}KGQQ~T-%@i#03sbxP@na-tDAZ z`dOTM!QjDuC`3>AR=y#A07nIdfYzz#2a$(ovn0zxbih+9w_^+{OX!)2j#iEg-4F_;p*=TVi6MhZ@_aKt@ z`k}BIwd)di7PTf?qYE!8&(^34Gb&%wIJ;if({a+kJ#^LTGnpO)aIwV>FmmA(dmJdx zF2VCo8dqa7c%0IWdKi;+Bqr;NaL-W3Y5jk5Zl(JnbC=rvVflH5#m87-bWZ&0P~+?O zzRvLbb`$eAUi@Ff{U-bJ`HMVlKJSg;eSHIh{xn53<*c!2Z8R2C&0(J?#EUCdxIXpU zzW*R#r5bSBfnIE}(ZX}Za9!eFLW1vEyjdfW>ibVHzs2g@ASp4AWb3u!S3H|yy(I^M zGt?7CM-ar*bO3==MXc3HmsGNSB+fpYi|{RGu2L;#*Hz23b@kpZ_c?*-}|fVSaJ zpd37@v>}w=k{Th;G|3m`fL{I_|o63-N7xTl%CWy(k|39o2mUnD>>cb*esI*e<#E9Z`3 z80#mX7R6162n*-X=6t~F_Q%XxRfhD53s%jZL^*uc4hW9?utSI+z7Wz*@Hon!r?sYt zk0BtGwGdIU*rrzm%KMch$b7CSSUoLwG0YBzU)}Qb_iW_8dG$IfWQ)WYggyO!v+xUl zUv}$nZ1j=1-^S_X5#;w-qRO=yrHl^X;HELt7et<4F#dI^CVhCC4PY_1Z+rY%E?>o~ zZq9Chk3ZdrU^cI@`Lo@0R_hqdwJSlRERjfgd}Z%F zhBkF!F232K0gg4G1>s>>#b`gov2#hdPWj}r51Kbb;0g=Jo^VQp>JnV#I`5Wkj)p zOIXX|3;6Hk)~T>k|6z)9C^itQ)DmqXz89du!1dZw$Q-YT5=e?9dc-IdlIc5xLE9n?+kk{knl6)lpc} zVUXYx&==T;?-KceMP!N|x`zKCBl6Vjd@`@r&Lx+uWb;T4Y_!^&vINN&Q-OkTooYIT zQSd}gy&VJ-x$bkyp{w;sI^^n5FpgtbCcJb&)WW8z!&<>hs8VS7jv%I@H_0~EE7IPm!} zt5PfE{ONW*z{jO(+AS+v|I(@l@rV0Fl;7%oYrtjs;kxQP19~Bd;_u(mi04ay4`{T} ze&Kb^;5FqLRoY6_XImMuZlP|HBJz$|$xe=2njI9;59u@HkuTJ4gR{Pop}mN+F=Q(Y z40f@GJ;zTpCx)pe$dhun@^}*JA=D7Cc=O2}(0V3f-D|PZz;OMvn*ELJ!S%AhyhycyTgo^l4}z5oqQT?-Q!SK>Bb>*Q`{1O^M2`sB}RWN@6$O2XflEQ^Ll@Y_I6 zIk%Owi09(ik7V4Yo+v20hU-F!wkBH0P3qrVhFtMvBapQa#xp$`w&YUI7h>tQ*pr2h z?~w^i27=MDrbOn~>0#cXZmE@N-pn@(g(_`G`IvKbaQYkZ#NmY;Qb4+CD@)&pi@W5- zPQCE^oAEfhzjPr|2(MLDNgqOgbE3$Kr#%<1cAW7}miJu-oWr*~c*(Zu!xg7%`Z{apU5kI=hOGzt;LnvLC)=(by2tZ{`hG}_0u z=|UZ4%8}fm4H8XkS+kAa@KOl+vZEEey~$eD8d?53*mwD`J*Hv1rN8KT&q&mm8~iO_ zBJRnHJ!ZM8$!VvT2m2WjZn8acHev*tz1Gu+7~xWkK0p{_D|XXDtyFL|1yQVI%`V)* z-)@MfkyPPGw0QXp20G&-qoJ6*hchlRgH|Oo>YhwD`o@3TZunzVlJd5j9!79BR#whN zl2||br&u4@K(i6@H?+BnYd)z{ma=g-F?qI`G=0X9Z*u3nvbU-bar6-qZ3;z@RE|L< zQ6-Cl)C?BBl+k*5r4gvpwRar6OsXx)f4dg=44d{a=A8usSwt=5CP>tjxTaEN{-YEG z>ufRe2a{{{0#J>_n7X2)3DT2ot2W{u#4C&PmoowOzv*FVTXcQ=VHdo?@B}iG4_R`Q zjiyT3Eosd1Ju8%JXF6R8@JN*LKd^W^NcQviU3S6ehX=(=d`-J?iEfgumz--&yVA!f z_#E2S2+?ii{T>-q+^7N)0OpZ3)@1%swTZLpQxXS5C|Znp91)h?O7-S^36v+j`I5Fw4q?4bPhM4|d8Ab;D35jmf~>(2>>PNS;d1?DY{p+syTNB5Xsm(Z^zGJ&xjSrXx-%)rjGt!?!AL6Ef%auzXMN z*G+Uk&YC9)-8zK8IbI#Q?X{+uQ~RXjXx-6E3Vg2;V0jZaC-SDlTQNG@HUb1#+4-2C z#@s=?l2V(EX_|89=c?Bh1N%n#16bGsTF!u^QNO3sdu=*tHjO^iPn0BaIb<*{+YMpd z^h;9<6zP0^Pr${lcly}H+(1+GBON#Wi&ybjc9P0phE#H{DB(vF){fg#o??|Y^h>$Z z-+z{)$3G;IW1GnZ#SKBRW(YID88VDu;k|_{SkL?5s;h&D8I5 zE&XSK+~lt`qYPerR5f4a-)Xk-@gW6) zdHRG|+f{Wn4S8@sL4e7k6ap`fM<%RDoFvrLBj}xWGWB~EkwdlUTyt$-YnE3QXXj2{ zGw82ceR7iRWPkUGCyu`EwfJjHhw+kJfB(&^%y?+vTv?5H4+*yBvQyOb+S%CLI zYrN`4wlYVLf-W%uKUj5|@L;TE)B=S}$SR)&ELXzB zo|^E0!5Bv=WwWEKOP9&(wex{&(K)a(ya#$>+4$KO+0{!*G<1V}wX``5Izf;<|A}$L zVV{Ps$=jKRHtYx`=8bU&)7gDA;Ef?p^5z0-VF?!R6;w{z8EM>v2;sKdlv;##_2k{M4|`W;WIdmikv^Th+ApLMcfZ~+eW>{aolr7F zttRxRabC z`z=QoLNcl%4ocLGrxH;Ol0Fxh;@$z0RMA20o*ZqZWUxK@K3#ApVRVWb2mP_0Ms0Tt z77KP|a;1k+OM;@eg?|Rtj*>7pEsoHUxq{@2V4lF-bUp9hpDiYEaP+59QMbJ?7|mmL zacmTnJLg6=N=d{7&oC(oxx{RggbPN1%1JH-?#}zW@z5c^GQ}92453s9eLwEC&e%}N zLkzG=5a58h0fk2@7#W+*fxP-V`T_Pn2`*;0Cr9QHBjMjMFf0HhErp%oK9SCInW$3d z#2!uN!eAJ#PV=Fdu^fKddN1;*tngZax>h{6`eJ%LZXsy&v9*#wV*He|@CU7gmR#S% zA65!F)F4r{N`=l+IkI4v>c<5Gh)r(6yLQxVf&6)^oDl5z53))!4D$KeQ9Q;5l1E6c zkJTHZN7srw7IpueGC86gfv_2s34~seMsdM$5AV#k?Hf_BL|`arySG;E+lbh%atsub z=@8&0o_H!W-S6zO+Vwu;8pj-El4yGe4p1N0kN5K1hv*O#by0eV>@VSNp~r?IdwiTV zz9&S7*wmHs+iAK9SoIaxs8-o%2AA-vy5hUG0*)@^2O}T?vlvl0cX}{s*Pw7iOOQ)S z4b&GBkLi#`u0B+rxZRy^YT_QOK>`03k0UBBUG*RMr{ngt&%dVST>RmO0yF76-;@Q3 z7`NmV1qh;U2|3RdPYYFA(_zJqA$9I-*zOlGGh2`~+sKlLJZ)iLuj6c0X=$4+kwwc) z>RmC&R}>Su5N!~;8SAg;uV@Dh@X?;+sKKHUxQE45X3AW;rg}V5m!BZ>4-)7fCUH@_ zMH>M|=Lqo)bctUz3Ktq)8`nh7EoOPu3**gvRcdr!sYCV=1geFj@~C{DDV7|Twkr07 zq}7|cM1&~27D!|7`Z*Y5r=359yp*%qdQd zi7|e}ZSm#Jax7ta<%|BznL@wL6i8R;-X@Z7MsXJ&F_4bRDauIUNc{}8%_bjGZB{E> z9SkPd0JYmi6K($;H#(#I7@OnK;GO65Q9{EvhyagYcQpH7KG>XYtRbdpJHoPo-OOqi z`JWX(L2DN@b~n;iPWalnY`uco3S#bF#f#aa0-nc%VdNVecL*Shy*cK{{X;0e>ySC9 zEjV(d0`mvRR%+SY`?WWXNhE_B&LpCJ|_9@}}8aAessN4Ysd-667sM3?pV~Rb- zs~gsOI@Y$Py&p_g`z{Vzal)u0?|IUc2bjEJf%19>O-W+DmKq=hmU7It0fA>$y z^s4iZsy)FbA-3X#{>Hf1K%e3XJ_zprtepy6$P(Fn1u#8mF;+{5?6Y}#R%a9;nU42e zb7P`p_}|brj85V5Eg+FIj+hQQF@%h%veVkENKqOW1^dk0sl8S`cs3xGCLjw#{V{`s zOHpJ@pvJW*MZO@y8Ar@c&)>JvYwa^FpYA$VgV-qZFJf#PtHo^k61Rh5bd@yt=Xx7O-#TzMeAR02|;*&kUO&C^wuqIEONTQkT-Pb|~nGz%xPmjMFQ7({=MQD@rK>L{o51PYCFS z@(gdz^w$e13b?Q_F`0i4(AM7U&cqr6W4Z{oVX?=5H!~Wpq0+hU(@<0C@zGTCD@^1b49j}B8ypl*O2x!slkMJjBJrNBoL>$ixU2Cg0Jq8%c`5i!Q5RhbfK0g8SF7K$8CF_+h=x7z6XSOh z*}Ngsb#+tg`=VOUDrp*JD<@yg`N+gA*GTc1^KM_X0=%eiu8=Nq;NOIyr!)#k5J~1E0u-C z!~o=ShRv}CjBD%WQ|S}xD89TwWZ%O3^2bF-eKg8GDy#gl=EtI+P33l7*%Zl`!h4=A z((c2mFq%+8YOfn@$}^dHw=aCPN*=-2Sw0K$Gfdl-|4{S5P*zI1_w`N95=JxW`zn9@ zoJyWg?mZfL{8Yk}6tZ#W*|Q#rC)6GZR(kv#;Ql=>Knj~UQOJgy4{!OD&2-m9Sr-IJ ziFR{;k33a=-)IA*221$Y_xol3jDF*%;xu1r02QI)(00)+vVz`Lse;10r7o?-TBM0}VD$G`HNc~R z=V7sUw%MjMj*LaODoc}bq)D52{bihIPc7P~smf5mOs!I)AoA}SGlY`&=vC8H91Y%E zekD%$A@(9MV0(|JK!QM12d@0?8(2$R>X0&8t{+bf0L6gm@PZ*0pWMQ4dn>x)tX!&bvGP7 zCPOBB9YoDbTWkK&&u;Tw{9KS1%IveL478B+!XHFjkWDmv0l0Xe z!E7a~-YXW)=E}0aCi}4|UMB65jNKmq?EpYdKAf@j?3pMF$%+{L{4*K?CTK+GSv^Xk zz8DBD)EN0|RJ?Cc=Tm?hWU#UJh1Rabgk86o{qWX>ibi-c{&2Xt9eON$}1DA=0 z$9wQc;17*p^d7sJ3Q1f;Q|b3TkLbbEw<|=xFz;|6U>xtug9RYVG)otMW%+26#cjsP zv>l#TYJa5sLS{d(V!58DLY~VeA@qRq$sRHm((e@2sSCx#Bowqh*FrVv6Wz9?cGR~S zfhrb0DY%r>Y4cOhDC_wc4a-EmRcd0TG1#>RZbaafDcEq^k2n!l89d*ZilUtXSR@RI zn5j#*R89zDN{VtZ(ZfD5Pv#6g6hs25^HRIewQ33>6j1a>6tMOZ@O?Oz}o|tYl``|sO z=*jOD`mB5ZcqF{32WR<%seEZhoWese0A@ol$kx4QfNMf8O91Yl1n_Rjs@C{UhuFdw z_&%dsFaI`T{YDWtq2~8D0s7c1@ffj}TdZBetsSzg+|r2mPHC26&ns6_de(uMRY_)6f9J77PXF}+&P7(q8i7-}4_4?yW( zwC827XwTlRCNjPAUZ~&164CmHuk}V%Nwth87~QCN2Q{a0mvmx5(@v<0gq}iGhn(y! z_dY)(49w(2-9diupkHzd!bAzsk6WqR2>nUQ4=SUvUT+DC5B}W4LwZC!g27q5A97X^)Q%mJp+y2~-l7zxPn?7s`yY+PB!U~$8Ty5&Sq0f0i4fYACG2W{$NEo?Cn zZKP>;>1Rm1G8#T79Ld6LEBsXCCv~IzauHBXGOFZHzr?{35Hw_Q-_LP3{^1!LnO@b6 zSu3&$l&~FEQf$Tt*<{Fs6duVX12lD@Qi2gw3=l0Guk)4d4}tr+k2vWeqDNUt^%J2@ zP&%b%0F~0H--h?>Ze{zje7Q~2SH=2W3pf!&@cws;AK!7EB?P923qyzDS=Fbi5YgPZ zhezI_LE2Oicro;Fe)L;Wy2w{R&K{Y##KWuSAj3VxbEu-{lM+}sd+L)kbE$e7Dqf+Y zC=kyP0}9$|R192@Q6}Rv4^gd1{oyI6pfele+Ozt|&i;FzJ*f%+H}jX}6Ld`e-3MT7 z!*sZn&Jqfgdi~?_h#_N(jYVM-RZg29f-h=njF4CM6M`rbBo`26r z*#PjYh^$%!R);*k;Ess>|@U%(#=J;eJc{tWU)8r4Ks9Pq~?w}vSx3!Hr0 zI8ObaelfJh(+-yr-cHeuS#G^CcW&9vVr@j9VKB1dliwp~o|f0<8S*7QG_?Q-6#^Pm z4ZYyZ^QpP<^X@y~M~vgXxLM@eD<1E}HCVzQ%sNOnYu_5Y<)aFJl_wco> z&P11~T%+(E0?eJqQ9JoEz)=hFL<-^#7%=j|W&ynr8%B!7KTw7fb+)`~@0*c8|JdfO zcJKdB)W>UE-FG8^0|&_10fx=0+VYIHZ_fx8Ct?IGN6hq7ZCT}yZ?~v!gQnQQ0fJtq znPDKewt&JO&5(=(F`_$PEx;V$%&#fAL9#v={&GjWL=w+!@k+RzScUl}FW@$%WA0|u zxQ+X^hFB+cslim5|g@E3s_9a6#(Ps(ocpsukZAk7;I zMv5A%bU@oPYy45-&s<*Q{6;gNtn1|e{3^xd3INFWff{yy; z-uct29e(ftaVKm_HN1-IRk@mOrS4~g`5PK&lX~Y!=K(8hA^N|=%x1|&xdY^Xdn z8SlU3&9yp*=_!m9D^Wa|I>_8mB-;L}eLa~D=YY+Z|H4XU>Yv5-K4gPUrGql1B-KjI z82H{V;jvELWX3DgjHdP%kc$9;`UG@|MzUk~(U5rV&EFgB3al5Nd7|Ev^`E*iZR5f=ptu}E+5zwz(#@nBS!8I>K)JK}jNHwRgG=Cqn_$!v z^FYj~XG$c$N96A9UwBK#_uM){ucxF;DqNZKAAl0aSmEAQIm?E6E}F#*XajA1+AZFF zg~qb4m#T-n7v)s-`V`Z=UrSUB#aP_ci?ck7pn zj-fCrLI)>r5m$293%A(fx7P zWLmhuXR{`~^_2%DyGby$Ur<9f&HX+Cw35w+ckYMmY!Z)p!~FpauhPm5=vuE&QXUmv zvaku2U#lGlIY?4Ku?Dr67awy>I#F`%yYEkis|#WiR+W$2-!>}$(^o%j6|A(S&+__} zJSyr1C~_lBL?*I(<|^|#001ZH8eQLO8lttw{oeX261D(kvqFL#(PWUE4!g}#i47Af z5zHDgzTRf5{UYYLERN!zAT!MzN!eaV6V{yvazqiN5#s zrTIxyy?t>g-^QWvDWTb%Di?w;w*_b+F`Hn_L8X$Ka<3|Klp< zcM>td_*>Z|*i!FUCOKHNahp>Ag%*){s&>lr1t7OMUTXwW+h}#+m0#4$J8(SAy`A9V z@o``_bi_9`K#w7|Su0l>`!t=eKaE%j(er}Bi^g=Lq%U_yzC$VTeUb9YjLNB$sbBGuX7)hl5Qo?Ng&Q7Sm(@#yoOV#f1H@vjtV5mU7hsi; z)7S_)tQ!l~SaU-iH0GT?ykGY07UhxlG@iE2O#c@O^2xRj9-GLB z%1KNI`IXH}xxuTJik%2v0&`LIb)zg%Pw4`G%>2X<)xo| zgZ;PGk%w--Ew+O!#D4k#>r1Hm%7;SNoI&I{$JK0}3KdX<#U;CuZclyDKo%Jpz-pqH zVk&l&oxnNL#X$mxi)fdFKi{ekGowmsRX7Eql_h!+7i9=cA z~I*z_rQChRk3ZBKP3PuZY}cIb7^^Ct_$H_U#QFBzqVmq|ZLN zNI9e4EQJGG)EyI3bYKeQn|sOSvZmF#p!?Z#CDm}|y&8aDXtF;Hl<5-#)|Zu0ZZ@HV z_Cx{(0*?|$WLeEr9X$oxgV{NZZzn?m`CZ z?;P5o4{2;c?U4f9G`36KOAt-pjPK&RIO1BNsok1|g> z&XjMaH5TpS4gUAfs3fpT?c+_c4ewz~k6OEFrXjbWIFm91wdEI3Rx)c`lRk>l-6uat zrZ7NR8ZRt=;h{T;NU?0V<{k{5;k4T)E`z_-pv6GOJ1|hK3XI_K|1}&TLZVRbXz-Se z5~|3Jm^t-Hmbz3s4Q1*60jSn50np?X^Knzyb5xUwNqP6pe4hN5n(7v}Tc~@0Ef_z{ zH0n)uYnY|oQg6hFsFi9w)PF$VziXihIvrwcX?vCGP`dR2-VSV&)EzNGEj57lTg(Av z(XjYu8Ge~RfGnG$nkMLIsnO_kXW>5Da&$C|L{1jJ#eS&=7MEQjrP~``48_ilp%pGl z8`cw2RAhJ>XE+e5asYOLx$We!Mtx~$q?q(Y3Li3>*-WvU^+)#V_=9|y36HzOqVhk^ z8xb3Sp5C_(GQh*Yr;;v3~{;?z}C* zB-|+~in9P_1HRHVtg&~sFL+Sh_`{ORtfWOmu9NMz9{ z{BI8B`F;uww#7_ulSMPprEwwcIong9QeQ1c{qoGhEcIv+V<>B)Lr=-5*{J1Uu4(`9 z?>-=@295dH+SG%fK2Q!zNV@>Dp9<1#`t4sO8&EvM5fvxlf4oJ5cxRK8?i0oQW+JC@ zv5(y0{T!3sgGO<9rnqY9_v`h0v{)3%@f~4ZSiCUcOdfdo55pMnngJ}(ESR!o6Z}Y; zvqF<1t@K@`q#1z=Atg|zlf-ZKGlQ#z6$FLC11~7%RGM9uDmM&gPnOGMnMac`A>mT) zT!(hB>N0@EL@R|RIE?%i3cHp%SAipT?z}g;9d<@R+@v|)g|<1i+lL=P+Q&%Qjd5NM zBv6o2@0V-SHit`qgZae+f4oDrO>;`99mXXoJU<4djS^(i7;R3)zb(R8QEnK3Vtcl`WeA3TS zu#QdDe@_dE^pUXC@UBj**< zFH@m_mBtBR%tCu`TJ&H4Uez6Mq?~k?THIYBh7P8N$G*rPcmGKMg_G>XnELfZM;)Ras~Y<(3wfmin?h`_{Mqgc;b(^nYBAIY@WtVBV_3>_%tk z<90W+wt3;jQ3d1IopiAHjqWBs{#U}&1rMz+OGS+x?R^8ki*kni!V-1G1o8!d{C^K+ zAyt4JQY|YH52{#Ax}16k0}4$9J)5@DjVlZaB>_?s*iC3|A=}#PrPB(PG)yC?VuzIQ zD4=A|_d9x}^Dm{Dim;?Dh6ia^qq-!MP!|h+o(;cxo zb|U0-wc<>%34qIOi{w>LnpWRlO#UB@Q_U@WXj^fE0+&eHdY}}C#;KwA*t@YFfSVJ^ zOIe7ZrUaNtXxlEJ>K3XjH?$B6GOxD^j%L{}zYt@R@4l4WQUtivKLd+Z)an3>$zT2||iw1KC(;1O(vY`I-UxN;}4 zIRGIKb(x^k3@)XNj@>ucp7ToWvbVKPKZwslc1JVm`>A9Z$oUIW-m=HvEF(l7 zUxOe4$dloUl(c?q1jyVJ;1IA6X+~J4Bp|4?asVT*Y&Ho%<3Z`)%h`xR1dy7ob3*88 zOeeCrz&@wI@&r=^VXSwTTo3%{m^rnbmU@DBw?xI4oH@GuHKPxL(5uR7$J~f@canF2 z586e9R+9gE&r~!5f2>Fye+fbvC8IRx|9JP-aaa;d5d_(x_m~P(Q=>?b{XXfckpQ-I zSGc040hlw8zWK5=(!5OvL!r=;=rp?6e}qs)kuGLIguAZe9c*A27Ee^3TS(z1cjK-z zss$hiZI}QntTu?5T9z7+)iujrLX4Wa)Ua=A6f^{1wt$vHK`gM5n5se*iGPfa8YlPw zS~-kJo?SqN96u^1O#s5WN#SwyIuy7Mf>@zxNu#|1>0B-7&2b@^5MlG@99?J7`oJLRY0~^#Ve-dJ3NgOXA`UlVU_);y+Os25l6J(IyaW03KaHYH=@EI}*o|=mJ&&@LWx(o}Lw;%RT+~ zq+*_()&G`Qo%*uz)EC7!X5WCw*Q__0@A%>W?uQ__0k#l2DqP)jjnkUfz%B+pt+T@5 zk6+f}E>nKZxbpG8Yp~?38$=A?ggCM~2+PO-GX9@F5&vg<+~M78)I6a@%ctMqe>J|T zmARKdkZ2(-z*DX8MGllZUI=;?2Yh=(&{$QoGXQL?h~ z7~lWyJMDo97N$0o7T86=(`b6j^Xi6R`d>Dy*?PzS^{)zyR)m9`}0w zTP51IJYy_8+O!e4?gr@3|9h0V=I1{GJ;xse`2g4F)3b9MtWjk(fDcNIT^7H?)?wyp zoZt+ILviPFjlX4^*!agIPkn%MG=*3R2#!wel;A#%91Lms!7B$}qAF9cjnKcQ90*JU zSM@@EJ+?Z%u$*OI)j1n-`QHR-3Pb%}Ypg3cumNtVr`!7D1y$xbw|De_z%C>E{{~p= zqn_0df;E0lfbABzrH^>ZP#ngJdp;2DQLpg;A=mC4Vw|C^&y*5mPAkxW4`tTP|s zccUKM!gHjS|N9!`sdqoN0q-{O8hW7v7NaPDtRS3#v02FN5&Nl;U~`n;sHK(y{-v-| zTZ^9P*8gtpL!YubSla1L!y^3OGQdBwK6oWD=O*Yt{J&-knm@1`S*r_~Yfht!Uq8JF zDn`4jexN+$O?#8x@!w3Jh0P>$KC&5A`Xo-_`oWz4R`VrMj~jNy{|b=B{&&LJBjc|E87wzhMxeNSJz& zXI(J6^8aR4cv6pl=bXHzFZDmM1oM{tiVIMOv<3g)#f#0Oq;}-H*{jga1e`QaE%$pm zOM227%=KYh4|-3E5peOodi9f#9n?Pos4@{~V9zki;)FDl^1Uyqw_mIM{OKGBuGTtU z{|C*3bYTRI7Kv{8O;rA25PRBdr z-a#PMpti&D8&5C1!uCV<+qM^r zFI>S;EV|uV<5)m!t28UXucMDm^nPNlo0KeIvsr{C6Mw0VSmx@~B7S|Vv}O*Jc36$2 zyHq?Sa@=hLCTO<%n9p6aD~`0JB*bjc(Q!{sd7iI3P3dEp+{I>*9TjY01dfbm;uuGz z#SvXufzyoDx2uX||sU^s-kp@ofX}jt_Evm*?v)gmfQaKO^eGxVALYH~|d?0u>@60!LIf zlngI`6>cX03GjYAM(HdS+px8+LqrL1t<5xKhQ}b@oKA)V9Mc623RP|7LNr%j3j@Zv zeZNOMg+=M3Rmp(TrxTfwL7=Q-*mLzotAVe_F{00KuT2oS#I5i8#nR38izY_=Zp5NE zi_qNolpKtUVc1$bt@23kNx}d0U3UgmKM9L1zBEppwJ^Ra2Grqvuq43CDRVdtU(s@q z27n?M3!ENoL)OF3MRyX9X&wKdT<=|qRxH*lDO{5uD$6$>!N|OP03HYNh6(gI zExn39kb`jWGjpfiU=lto3b=T7o))bh`0cG;1V6n)>XUNj%1=M#B32OKsxr3SvmT?X z83iN&e!$WMy_tDc$4cRqn-m*xUV(;!_q)!0!YfLh^g!F^a!3*yvH!)LR zcvh_sAX%D-nIv6I20Hojiy)>`S(viAwGYSD&v;TeB1r`Oh#k>arT7~lHGA(5E$YbI z(r)#Sgb%v!DWa=mu_hKWfzWGA3xBejQHxpZNsQJ3?m0~#F_>dWUM9dF3|pktIDgx- z-)P)}gDTem-xAJa3iige<8?zidt2gjMma8#aekt3&m4KSv@$6*gw*PRIi!|(#_OmL zDmAQju_{BdXQoY7k=0SA_q*DXBkMG_VRCD>-Pb$OKW!tzGTt`S6zptmq-YuN^+0UU z?eqge_u?6lMgS_c*|m%?7tqNQdc|Y>BPOHq9i}O|qoDj1-s@o(7Zm&s2K)282>b8f z^q+zI1AK|+9G94Z&<}7JoRN3H4x{u0ZF?hrGXe%$saPgmWQu+F*xODauFnIJH1J{% zK7~YinBwV9WPzrF)ibZUg?c+i&?mD}uZj}JaAOTC{MKSwd?GVGFx2Pfu~2)DY^&ainMQ-tsRga(lERQdo`gTbd2F{Wq7o4`DH^^Cnvs0vnVcn`AO%r0}AVtY_J{ft1 z&&EZ>c;)zAsjN7wmp2-}C@#zq7*~ZI?k@>mbM*)T>1u9|4~ghgqc9y&%{2HHpxS*6 zG)#KIJA3v<<{>v}QGaU2?0ox2U*>4PLeF1$t&Oj^Ge@G~r&nN_I)!3MAUv3I-Hey!W5luh<*djfIf<|8 zwmb?*m*+HWRSRbm5?#z&Pn_6^^OHF-D)6@`!S)%nZ-3WY3jS+Xj{W+Rpij|H`!wZw zzGw5mw--J2gVvb9nL3$1%3?JCq*K7X-m46@9NpB)>9Pvs*r(_8Cpo*LAw1Y3Y~x1F zd(k028@Yw{DI6;4biPHWtxkN-vVH2c9tE^1yU`Ao=XpOYwG1&wjB-UH!!JBZkM)P8 zCw9NX>&?fwAPBR3^=-?VuVGv(m@5+NY!%w^;Lf4h7_57Iga^c-cJ|~2U&R+NSUOwe z|5SFB4RI`6Fa!wh!5tDTcyM=j3GM`UcPF?72*KUm9fG?ruEE{i_6@ne;PH{2?VawK z?mksrrw+Ie*cRAO+80R7Ob6?6!8X9I``rVwR>wL&0nL~VP6u=%``aFf3opqJnRRd9 z$3W@PPE?`^g+s3vC8uCmc+$i*lC;VqD4F>@ot1x^P?SUXsGR$oIzOteqC8+?f=a6u ziw<~TDSpg&5?jnQ;#NKGl~vW_?1$HXulijVCt!(}*LR9Yr>Q{t)=83H;;nQ1VS_z33R6OP56(3`X?`hrCuh-eny(XD>JN8~ zapGuRe2^QJIC5wfC4<&|zYU6Hz5cU0cT;lej73T(k)09esbk;>c-qR_+BbgmbY`=^uyvksCLz_sbL80U`G zO}8yCTaq40lmHG6511n;V!6d0@^2@R0~ts{JcW}g+N^W3tMPqA{d2|m50UMuH)E0- zxlM8;Ws}|u3bi4`^Uy7Mj{cmjK@0ES++f7?M}8{xn8sW%%c{e|g=vWu35x`o=={t-x>8l|n9jQho9k!+F@|+#5#o(<4Nb@u=goOZX6^qL3>V8^hBfMsl zh#Vx2#}U~*cDkzyfWMhcz=v~#eBl0D!`((Dpo zy%I1`%*;pxzj;7FDN7&hgg;wXuG0Z7RuE~gBT9v` zLn)gM0RTjPP0rHJF1i>>)=lJItZ49j@}VymYuf{CKm}4^wR9cr-L3fbmvs|LhrXKxB$p!b`W@cWO40d1}<@YNEflH`7Q~O zEg^Oru3OY@Y7+{$lv zrS+B#dSa>Gxlg0W!$izQx{zQx}1}7UBft`D%gU$0oh_uhhc}C0w=zrqD z1YhDUU>_QD%r5{m6YKC*_j@{Xz9X@YP?s7!)7>DmrR6-`ex^f`cm43r$)a=S) zF|tp1b9AY)Nj*a0Yw^<;pS#72_XuZ*Qi0Y)?)wor75}vsN7up*q`U+rd`Mw4WOF%a zA&=?ho-9wL9(Dy3$PNtvixOMoH@+e>#Vc~lT&|J#?Dl)wdG=fp!b7ZpD$}P{hxyxE zLs`iV7YmV7?L#PQ40%o~ye%&BOC%X_bi?ciX;;^Qz)iu0zsa8aQREw8Q#rxV?g^{S z83s~2bqlp6Z<%I#$&6d$kr`r*dOrCehiyEd&3Au1z5)Pk8X%HS--3gS53avJ8Gudm zDjA~~^gi|DSVBIk3jk&muYs5L0<-L^x-Bykkg~FnY{^L^dQV1uN#FmTPw)5Z@r;8w zmMvfS+jI3X=+!MS5iFDby4Ok7YsB+QiOBh&e>y6u_`%Bnh?@ad8CG+>fmFMTgv_df z7=WB8%rZealBTE*ac_<%($D>|*FfI)>9|k8>is5wZFK`C zWUQh8pPrPT#U>~u!Q8j(Gr?~1qZhuF=i_b~O299HpULSTZH8zbCwW=-9#ffJ6yIhY z5`-gITZ25bU9qz%*x8fMpCo0TYZ%blnuao984+eq?6aq$1Lq#C@6h-}9>0N)+2Hws zuetk6$`#E5+f5j*_wBpsCSjjz$Z%f0>V*)7!{~Fx^9STLD?ks-Xha^;Mg3f*Y*YdS zE1?)h+nqORo%4YAJp;bFEvnU^F@{*%=kNa}eN-QYiUVZ;DnecHRf`f|tT#@kzYFvapYs+`Eg>u`A*&J2KhhLLGNr03LhO z){C;h9T-LyL<-)n=S+Y9cT@THo75Sz=bX@bxhZ(KE+D4q(5ViAu2lQy$X2I$m4+Wc zO%c*h#3VrZ^I2J7BlZ7TaAO51)xupF@njz~0sWCmUS%~w=qUy|Z4A9`9x?1~4d;0}Z}~Bi3!6E(76_x%(E#2MWV2F-T?27l z77_vL3v4xt`l_gPdR?{W#9D%I>3XLgp_R(pnj$0t(Tfz-C(VQ5RSHN+`6j7`nYP;P`&i&2#wRS=>|o$40?JYBJz)gJAxO1^@&Ewqq2;qU$@I)`b7)tKfIC zJHP=WnbF|^tYI&v;Qv@c-Ck<9BH7kjTD9 zmQciEZLHQS>Uiv29~s+jN8>J=w?2&MCN8ZuyH;AQH7oNiv}mOA*ep~F&)F_hq`LUf zXt|t#4)k!?Yj=TX0ZWSMKP?7ibD7T-RoC$xGaf9|biAqm(Z9i_n6h6*A$wgklZ(O+1T`D#508Vj-;;); z-@^(;O3)>SdfiyaUlwsp+V_mdM!?KVS?24fvRLE^|Kfn4ON8ysqzFnz$a9`LzlcNk zbxb_>v>GzhIDeHY_sW%d_{XB6qy7=vwlN0#U-n_h|N1*{og`PTDM_C1OvZVQ3_@gy zdWe=;+7G1DGJg1RQ}a#q#pYqa=<>B+KJO#&!oKU|5K2@il~oyU(JJPXs)eUJsK^1#v8v)9UHJ zO{Vi@@j0b}8DN}GCMdLLR2coSbk;)7KY~wg!#0X z#?WeO6@sqtfs>0$Z|g~D#B(7h_REH_ts%Oeq8%4| z$(N(twg>&;RS5~fLg%=EAl$3YI+f>Xd|B$94~;iBA^nL~11OHKjf3*$;7drO4V|s` zeVi457XB?i!S67(E7LiJUhfc+q~~2uZsti283_!Bk2Nl9DZ$i74OVbEX97h~nGlY< zSaY-H@*PI4F7vNGu`k8XtJBX*hpLZH|Lzs<6WNj$itwk`^#ukqYlunWbInzn zhpw{D5j{N(5^f9(#%?hxXkw0{9Pck|Wop!GuGgb$uR77d?Kxc`pDapqHQ0Q1RHH`` z)lGkURy+CMYfYFRYWIdv81Txa``+caRcSn|^`H#3VU7r`65wfenJ&~>7V>mD1UuQT z3*vL&Pq7zixtc4@Na%Wib=Vx@LlIngHCInQV~uU4Bx6UgEYT-DLy-6JodrrE{zO# zm8BXXMDN1Cr3rP^9*0#w>-lj+Z)yxrKNFs4O!K-$=9~FSROV@{R89^Q@xuK1}5sN%9n$9+gnqF=y9|RtAhT9QRv!dwjoXsL_ zqF9s)&VG^m;R*W=CD=_S-+ha)MdHlIyO#>r=bC9qaNw;U#d0kTmXyl$xL@kqJwA8d z?!p`yFB#QtuOi{+p%-&>!7wIo`OoYA>TG|Nn#Mt!>Nw)}^mmf}4M=@}Y4Ye-efhR@ zX>(nFVj?BMp_T`P{Tgj9*88pYwTf{8C|2w3TGTh<-}8lwGs_)r^tcW_5?=f}B6jwt zU3U+RPO8jc5^~)O(DA$*M)G|sZM#1mo|K)S3JS;c%CfnlXg)dc{p@|8LapjMd(e~T z=_&RAyq&QYkb!s|zFmFO&CYF-ke8>Y4-A8VE4!*!l&>fPU!DuG$BC-D&(7uceDukZ zYz2q)Zx%qr{jbBw8%y?E(AY!N-j5VV4@^I9d^6p&Z%@}566JueR+alSKKq=e2`hH= z%Wj7&%f(k%FTWvap^|s`XJXe!m2=>k`0qN5DjAmx(Sh@PRmC{PWVtS!bbh*K3fs7OMhg0LrMwYjoSq zRLIao$n7y*;SHzM+muyme%rJjDr+Ya#aQi!0P}g9hp{x%e48t=Vu}*6^S{tORu^Q8 zNeWkPe>>eSi-!<^U?CJngfWvPM+Ys1-I`)7m1PzU>(^wg!(_>#!R3y!d=g(e_t8XL z$ID)-v?{7uvq2MuKLj-W9eC0gsOzYuEG{{(E!_Z@Jb!zu;?rvhu7=WQO$p1!%?#Uov={Xp^% zJ6NNU%8z5tcEN>=Ii^ud^GIO{?+xT`x_xE5<6LYzQZ8l#dg9;6r%j14UnU3Nv6jv? zw2{$n+_P-^t!@#}<9w9;#Fv4N43n>6unOd*-Ah?;B-JHUT5=#P_rT7_V7%T z)sjLM*yxkvL7_ya6;(rz#skRi%BvxY{5RL!wnM{6#HGh0^q=9~!JpRxEnP-qvuRpf zn_dZyp4YKED5U4g%ZFJzOQ6<)m~bb#as4Mlnp+Kv4M?I8x4$F;;>P=_Y55bN0gY)^Ar2k1s063K<$t_b6HBSKd~$JcD`lJBt=dIby(pk-bs2`yY8XzT zOWnpu++3`2q*RWCBN>nV$*Z%9|5t;{;g5iKXBlF_Rqsp&4iSnIiMU z%9Zi$Pf>@7XKZJzAKftt@TZV~*_)IvW)$1=$&H$`O0(uy57p22fAH!fyu?pvqBf37 zh1#irg0keF(nuUYg83NLsr=Qhww&2oD4Y#i><6WMAq$q%MfUw>A8j5{vG5Z%w2IgQ zCMvZ_FVP%ANfSVDMJ?W7U8wgJvX`Xe_6E&#M70n(etq0q z?)AQ##~mDx)N-2=Yxt)gG5)(F(%FJCgX@H^E;2#c@r8MF5my%sLx<_QyB444vHhc1 zU`o88PU}!<>3U^LG~p%#6|UJ-S#h+nlS;t$`J6RKwkQgVlrDuWz933*?_-=d42oIh zAdvDhAALq_y-bq|df#HX&c`_@A&!SiaiUol`xc9b{mk9Y(``?jJR%n_0g-bFrLx+j zG39K3SP%Sru<-oX{_jQoEXbz<&e@1x00bS+HgU zkoaL(y=C$Gpm)L!Z@4`FR6C4U2j-a$$UWXL*Kr*)rXLc{`er?EXV&gefBu8(9;IwV zHculJk2($l?QF9(-G5X1 zSwWrBJS`zdK*<|Xt_9^WmGq4sgif~;yu_Y$^72`H7;Z2rug4IiMfQSfzPtA(QdN#w zc15m@#YHd0W|Ph8&H{O>lr5&Y#d=MC%Np`b!8+9^G1)M*&x-Z2L@E(RFC8xyQ)Tmn zQD@fABEUH-dF5<7gYRGIE*WPr-slg^l((lP&}{i+&6c>N#xcbwdnJdHZeRT#j@o{85+<% z4PWo_TjKn(hEJm4Pqkz;D+&2|qoVW4shTG?Y;V05TdBk$K693|8ZN7yUz+O* zoK)SND)s%n<5s)L--?W?~jby;nE}cMH zsP)a{xnCO5L{$5V_Ha0>iamFj?~*7l+aXvCCcoJO>%K;7+wa*r!{CwzzgwNGQ^Yu! zt7uQl!y27HF(k zA(3-}4IWNDnegwx)jIp#b{eQ*!J9uwMED%EZlP&DZPu+;+w~4t}@#>wQ<_a5@LC7`CF6J%PkHjsU3AtAv9>sJT z;;2R&U%2L@{94|-CN4!qaL%#0A|d*M`p|J7MCve>Y&xXyc{7zmH^f?MfAw}$nQN@n znx$l?MGbAr=I}8Hr!&tbbZupWDE>=d1_Is6Y;%yEuhS42ug!J4JYTW;Uv_o4E%8^! zoNHd5we+VJ^tQ~_Eo?4yoiUaCjh?X=TRreEuhaXk$17KMFIv6l)k^2^fLJfVyoyXI zTy4)?3A*c8!%+$mDd^3!c6qiz+dUpi6b293v!yT1=Qx{N=X2#dN{J?EjL$O8kY~wP zD?*_Hu~{3w20H1FwQ`3lEO2pC9-m*UY6tFqr!cxXumZ@ku;1g0J)cm%FFh`gh}@7u z;}5P*ajbTFes`~iw%XU8$@#?Wo?CRxm-{YJBjea`q1MJv+zD0f;KZcuQ|#U1^*eIs z*V`wb^1nByv(>pC3{gM9d}of-=4+4MPoM`qD)3E`XMM2rX9jiDO;i`07r3*gTyEmO z4|eagJ4+K5JU4EVZp^Bqq!!ea%0E@?o$1(B%QU-1MxP6UUZ0122SEcSs@{v=RN?u8 zItz7~zuB~$qrW^vKY9SPExorg(uybX#bCsZ(cHB&r@8|Pxypd z4GE4ggq6@;#qCcfksN==fXl^G~YtQXBKKPGnlkx zJ>Lfl&Xb~CWvF*}fsDcX4W=2B#mf%tk{b(RMM$$??}slQQUS{MZEc6%54$gSMV9)q zeIofJ3jN5OlHz&MO4JgKlRal}_ID}ax)T~5GP)Y|QheX0j>~C8BlcO@{B0m2KcK*N zlFznpxncITt6OJ{a}{*5jk!edyG^g&U3xuKFO6n(FpL&rnj)`mFnHbhIzgiT`Eb(W zdG_rt`mhYrSt&691@UxBS-0iF_f%#%o#kz8^PSh5=NPOjEEd7=&|q#cSE*vm7piVM@!Tu2LX4e(YOp z;A~j&mC-huNC$H+L6jRaxaoLXd1rYqtu*2xosCAKk6tmvwtejKRvJvHxhpk(D6wI4+}<*jQXCAyBZ%R^Ilf96;+&6WvD&Nv8VZFKO2wk-JC_O8vzN(BWJ3h6wB6@UE}?Y zVx{1X?)yvg9w#J}d;Ozt4}191X7`dm^}qUwMW!+keOc$zf=B@ z62^TrTAgc;xlwa0)r(O+p7=_K9h~XeRofIXqao9tqJHxAxNuMA^87{LtX}ILf6Q5> z$F6b@mx2H4RavR=*|NcEZZ)nPeXpIuz=-*H-{|@xi@NvQ5h|!#$9|ac;Q^a|W{Qyf zw(1YLq0@`7Zyb!Cr>a)T!Y6I}SNjtNrGe0K1Cd7stuV{n_!iyC>K4U(*6M05voHxd zsL)n4DKFX1XQ|I-@{>1zK0Nc;`c%oS%llkT3|zxk9nXKJj*t zK#K19_G8G^l4`ymDU<<5y-dDGkGpPa$>6hSO9tK_V)Q!`8GBMy+WV^bm*+6b!vrJ& zmfh@mJvirOwzWEmz^;z>t0AF=8D&Z_lsAXu!X9_izp%thD~Z<%qBQF)(5EP=%^KB_ z{^;g=KFM9ye-#^KU}zO`T_rmKV&FiV$`D;&RU4n{v&&Rp{#~)=DtPVVH;ja-;B2;|*()nE*W5FLU3yV%_c`iRzY8}!x`W(PNEG3i2HxRr#>+vl{ zTDVgI5u(XBQ4&-2m{^Iw5NVX1*ng9DttTOx<;-vp9xhWZox4mnf-#pSq|IXs<1^bG zFV`BWH;qcr>U0Z6mn@I>4OtSuM|_=sxjQVXD@Wk2SOXHWhmI`OjyylI=|y3D^)QfT z&NG$gr9oJ;FpxakbQTQzU_s?uT;VBlFT;Z0DV)9}ki~TL81hOpLF=i7fW_d;{!DA7 zq^F2K2z}OBsyv93h%ISFVsCX`xm?N?Wu{Pqvgi?7v2ymM%k)s$fHdeza-^O^b+5-% zVCtDN8q1oN&Bs~&QFbM_EE!R?b!`HXAWxjEs}ybqCWYNR2b*$5*>3$$PFPA|6t`;; zXknlw7Bf!vW1Cv5IGW!AzK;sO4h!G$zR%+`r@t?`h0q4lkB<_udx!z=0gBINA%ETL z0*6;eXuWK9-PL?qjv~XeBh6jLH<|hA?9w*zL(L8Atf9PU+N<3SD~%2xW4>c5xy7Ux zJ0j0Xcc2ln)R;Q^QYjnJvpq-onr|7?^X`=TC3-)n(z_>z)tT$7(58xY5K0>Vz8fJl z99=^@8HD8p3i2&Ci-M0cUvrv|6~H2_-V)0D|RmPpL<&smXyP`d>pRucAKud+RM3 z1==@q66S`}UHl0O;=Nl76{|l}F=6@hO!`Zpzx#y~l`YjNij!N1`)#!JJ%jk8pHiZw zQea`C?TW)WytgL4?o3pU&Ua5xRN3*g9@Dj(b7gx@;^7VrrvPK zu+2+7YkIb@Hl0~fw1t-+ko0YrkD*&OSZuZq^*&7N%z_%O;PsppJKo>EL1yy&B^5>X zQ@PPRezqCj%I-A7t~|1suw-Biw<_#;XGVVbj@U;52v>v&nULYNVJ7H&#pUlg^CuJ~ z(ZVh97D?0Ap-a~gg7t_i!T^pUykYRYgprXEWUV=RVF@&`h24)*m_N~bf{D|jP0KEu z1;vEMD^*{2#w%rFM?j~D6eY6Zj61zb5g-yJ1fvk-*>02@sUn_UBM9U2QPQVivz?%VeOCm zR9vCrwA_~5xCtt>YQ8ZN9O|1j}o{<%DLB z*frqQEv99kSmU{6?Lb{R=MN$FP0WCgU-yE1l2NJCB-n^go*nRyb{= zS6Gg0TcpSPgVD`tMexDdIWfO!{EKw)#pwuok8o-FxO2eoR)fP9Q+6z5n7Qp(Q1$!s zn{DD;GMK>b4}SsfzBSXTs-xiJ-m^~Px6D?D<_iDA)8Br6`*e|s#K zaoABGB=&qy%Hl2~7`!z;P+!=N(?w%`f2Y@ZXXAeHl9NH&yV~ z2|!cT3v8p*x=k@zIihBX4@9>>;_hH>$YS2~C8T*|uKOC~0Iz8zeW%?t^`lW6M73GB z_N*9cHD`sTYckiP(nAcIsinbgnP>Ouop*hN?`9NxojnZ!$h1WCx;kIl3C|)Lewn}Z z*!pDk2Mn381VTMpC<3rj5|$peervM@Qf$cWfA*veVl0c z;+N8&`FdmzaHxCRx#i1c^zZ|5q+EXZ%w!}IvgGA3dY$(hk9aSfZDXiNUD2));mCj& z6sxM@Hbe0pUR%F{lzs&(==1BvgZm{A9V=s(h4d+4i-&zYkfvD;UWdBnq)Y81??Kha z0sp9D%|W6{TqxGfTz$H8_ZYWFMl;}16TJf9lp*g0v@Exr;>9LF`z-r5t6`NKntE*`%*dN^VvMdt2j18 z!WrLlY+L)QaB0N@l0`hijJ3$$<>Dvu@lqRj<+DYk!w&zUFAW{yaZ^nu_ZnQ?$hzvy zLa(=vmf6Q_w-Lb0&e#;(MMH1V1_v(gMdKo{hK%DN*dw$^g5_`OA-ExiAs}y@Wa0vJ z8(j7N6>@pScSH-7uq89sZm05>niYXYD1MDe5Zw|)v zd+By?9uioy9a(WLR}AFR#h&rF`SMt38pKoE5%*}TYhOv6u}Ohw$Xk?`YYRI%4Zc}5 z`<#U~oE{Xh#pkMunTXV^P^6%Gvh!WC(`j0J>X1ZFLS1#Bk4nV5D&UJu>ROY@E8j)C z)0DLP47fZY4$OLPjpja$V9WEVW?H7rhv<5XvR|oO!VU`+TXcnBT>~d4WYqVs7yX9b z7}aojR-KNg50^&HM&e8Ta5*2Sq}nA{c}$8^VGmE?7svGdMP<=#qUDRP-;22r&bNCG zlQ_F|M5(m${(fh~XTHGgZs|lhALsCdsWzNwF@K`{>7sSDb^|*3`Oiy@$4tSb80+5- z@Q?6YgB2W}(M>G+i}hLxgLc0#(%+DgVI(+DyW%V&;#r`Z2pdC@tkH4&EQJ?r01}ES zg0n4ax)Jfg8E`#IuAvt8=aaFWP>gG;7M4$l0CY-GFy34)b92<{GRss< zp+E(6Q}wD*;g}&M-629fLUVnn0MEOPGxt&jN#dRz|)37(^0O4pNYOUJf7u_EjU zW=mx8uU8DMR8Z~yoCPVx<$?-KDu%JF8_Sx}23!FKblY)YU}o2C41C|M&C3-{kYhn< z{qCNt{gPj~j*<{-sB-K%{&^=csrQ536j83tZj-q-kDG*4Ibn{A#L(+=m~Y8`cWVab z%qFL25$tFbwl=L=IvXu#$_D{d{_{g==I^((iS!Sj62`q{(UBlK72*oET5lvCxI=fS zYl){`ja$DI?Lr1XL=anu+ zE~>^F4z1J2lbi{9u%oyw@?1Fn9N|p;9;+o#)sQSkmU=fwo@=j`dbRSmj`vJi$aZCA zM;UvApx@qr3W1Er{xYYt44wr_r`P^_L6V{8-)h`rfM9{dQed#h`t!72rT$+mEdiZSF;W5IV~+(*zoE z$c23xbrW5k-bHo#%H4H#G5b|~*eMY!q^FJa7Y_Ax)YDm_Mg-P3nWd#HOKw$`zj1vR z>()RvIM?U>viaWry%CzFuxK9I3{(TRjdd)*wx;DICnuyTD4ETp49jzT2=|@NIQV5! zuMS!%Kiv{lKFm6C;1~TIs|ZyhkW8JNk#73Zk?Np@?moo@Q1mrJv`DAH z1K4{*+{E50zsx_e`Hl5_Iec8pAHRqNT<6fJwdad2gyFsC*SuS@dq#?wZ6;9n=hHc* zd{}O;E*Av{3Kxt{iq`3TweC|Y^0l+sxD6m#$0AgXFYkeR3H@*zX*okkWO%aCY*zFe z*r8ko>f{hs4ri*1c(BS2p(Sz$-M_vAWuK<78Eq0!8F5&za|cWk^M9eV-rIWb5?E(h zwZ*>Eo+nl@57Sa9`JjvyfUcn)8$Ay>+W9FHmxJ;98o7mn&vVS8lo$P6JrUb`QoZHe zLYJT5GARbGnawJyhdyQSPktVLwL*%L&tyvRMfO7EUBFHu`ec)>#fi~0K6xMLSg%Z% zw>&$B!IxNdBdC%ud)0Hj{Z1tN&ARId+LBqMx@vF@d@0>hfY{$VyTA&A=6B}`s79O| z#bcrgoj#((&>vcw?F(>Kndi93&*v6{4XcZemG>-T(2uKD{hJwg%Y+0viiv)+MrAw^3E;?yHP6xK6+agTWB3otgX>D9I%vda-}#fkgiKOjkjvE_N*Kg|g>P zUp`$dgWw%}^JZ}KKDxJ2k1-5n8Lvs(ecN*-mma<=rtj5tiW{X7M!IGjrvc<9RI5^6 z?^KOmn0cR;FmJF)U(p*ePxO| z9l6{$wP9Fv3fUn{_I#Z^IidfXM2mO#>`zxwwC3zqHQ29$wVzemKZ!7nf1&>QFuZgp z=#+Q5!rV%8L;i7IP4}BdJZ4LQldbTc%1dZJ&G!}U@A_P&V;o$ol`6?NcWKt|h(UYn zIu-aoV_9p=`yHzFWdrz+A}uRsWC{Klr!&Um<}2*9eNvRVymsxN1UB0WeqX04Azb#Y zaRu3N_y8b?laTM=Jo%N7j(d!5GVZI`!F3gb4#gT)jH^sf^aVI__ozulXU}xjYTSQF zGy6n+cW&wgFBD4#9c>m3F_l8O?jamuEF-a?w<}7Bu*W2|p~G&Nr~TDSL~4r1N+3h8 zTBu;uM_pG>S=_e(%4}Tl@b#+&HVQUy=h;K4E+{gJu|(^l)BDFqyc(n+7I7Z1eS2yEU2d+tsB4N zmw26dZfl-_Ds!D0!>aSi%JX||u%+s+eYFYR-03g|3sMcqZUW1h1nK_aJjZeACD*@1 z;ZLu#t}k+j4OTR%`#qYkz!;TA?RDwRrnsN9yC!+B)egSFO z4o`skUBf(xRW?n~?-X$Ia;x{h^!yk&gFYlM5TSl1u~j%yZMO15#g)eu$r>RDYAUkm zYBZ8>Z@ZcbY1yCC$HTBQI-g;F?;N;?3=m$VH~g1_3HWf`TYBItnf9x?gMJ7D#;rbV zr;7{Q3WCC;C%@ZtCGJws&PU?Q4NHbE2KPaewlf(dfu{TEbnq;%K}PMfd%rMM*D%n%b{_? z$H%IUun-l@&_n)*Ii+MkA;syrQO$M9pR@iauQ3h6T+ivIUk8qB@8t@u&(miIp0^v} z#y^p0ObnwJB_UMI1U^oAwYjt-`uOAF$3np9a^tIiwGVr-Ic;2mDhtJJvv5*o$?0_8 zW>6?5eFR`2^w|{F-I#3FO_G6oP)kRknk#6ulPag}4`ul7w^xQjzkz&iN zAXIL_E&Tq^uUk?1%(i{Z4{igaBcmZZAhydx*u{KoNjV)A=lDfJ2~X#H5b+X zrtf_S)r2D7_{y;{*c1;HMBKk*t&A^_U=M{`#9=#m(IVWKX%x+Ym-3oDr(}Yw1mF&s z4a*QbC`3nM5Gzr&P$PlOd!XpD2Bcpm9DgoxREG*sGfw!)2KTlUAHA)$!gs%NNw;e^ zfjk8-p6~BOFMVb{-?*;?(m1dlQbWHCQ%c zF>~L}l}g;`dg}@2;oouMa8#-s82r9pyStRWY~`FdIQ4nVaaWtFI_>uVItqK$8vSK%&3DG+`cyHgYdyA9xapWx_ zq!;U4Puk7r_g#|UFTyHdpH@{ow|2H19rZ>{&wJ~8rx2{~sQ#!yjFeGiKKmSFZaPkP zhFfCOH3tUM?cSazV5rK{zv6_sN5g5lw(r=l`z%7jD1H{Md636yR0GD(0iLi@Zj*~K z(OPcVITVO@yN}*5P8cvy$Yu7Z)W(ZK1S^?L9w#Vz&0;Vzh@p?`_jfQmwg`GRtcPJQ zygb-v4~M>H*tgbH7@tshe0vC!Ok#xu(N|>+o7Sa2WrybuHUhrT0=6YGgtgoegVB_+q%SSyU?Li=%uI!6Bpr#U=XUq3U8CjQZmIx%BxyJc;n6}e>&BX zd)r}=&{c&6{y^w@NBg^Srcr|XhcgzCe-s1}`O1B_AlTxwya*K7HqX6{dbt|8x@i*Q z7kIZ(Isa0K$la2OmD#k8|Mlvhz}9D7X3nZLYeV{7Tu4Q4r|wgfap;oY>Z;-A(cNNL z%n#zZPnHpExvNRcmFWDC&flq?Pv$xT(@K1Z!Zj`^U83X|QSRbI5xxTg$!jMR{G%Iq zXwlj#tLDvwneS~<8Ymn!mf=TUd>nmFe9o*3)Sy3N;In08!i|i4aiM zma5V|r74&C@(G2%Xn@M&BqSsX4EFiU+`Jo!Hst(%3#3^LOZN?xhoN9nB>*NTN#UIH z5B=X2!2$Cgxkimjh*nsU0{zq)i>(iffOQq-?Rq7cF72AB?;X}>Z!li0|VQSH%0$>yV+8 ztgZl>FzRbSe~8FpJ+1y~32I&{oEX)E88lqInvPfsYO%TM|M?!jD$rskCm2x`_Y-V8 zAR1>)J`r>|4zZBcxwsez#T(SdOcNxekPHr(fTk}oYIUBc=)o@j_*p5jc~d4-A{nEo zlL39`{^dRcP-$7%2ONAngHi!$%8@)zvM!hFz`S|Wrh!Tuxf)kNdnY&U!Ht-&9dM)G zwK&h4&)p=L&e2DWw()mtUSySJKJx5KWq^T$>u5G|Y=;M+g5)E)t{`&xvEns_W36KS z=LMHskXZM=gy&)ozeaPlv9a{&p+o!5x*q3`MZWtC1y@Q4GpP(K=hpt~QZmGW5&7*o z#_LVL(!-qI>1_Y}ePd!Q(-kCq2ckfclf|kO-&g(EH^p8HH3YTh$7?JuH+V(Ldkh26 zcss)GQFCDEq3W`vIMhe6blB#`e#AL8>w0H|!|S?6{EoGqG=;a?(rwSj`HFRI>I}#QA~Y*NXUZJ=lu(f8sihq3JiCFt|ZE)bG)M;k-O7^ z`D7@z%VIHULi>1%)W@`_ac^2ojn?n+UTsFLR;oF+*rG&$~S^N{C4@c%#<*rfJAcxR~y{<(~Oa&OWvV0w zQo^WQuLx5+%C_Ogix?KfT#PuxI}P-BL_fM}%dURYvj;)Fo34X7*RP|uYjXsA?%w|Q zO{nX?EZM*RH5jDA@t`m1t@Y)= zQ^H0nCx&5+;(xAI!&{2a45vNVVY2_}+m#G@O}4;s+k1NL9;J`IfQjQNMp2Z)nv+sZM?g9{Y=FfTuRue~rX; zS*jq~MZVqCTa0B~In`x5NPOl?vfLjsI8ZV{< z8?pBLOJK-aZbn}Fba?&0Uls~5E(kx=A$0{m3<J%6BsB6Hm6X?SW6mG6m5k7@}uob@~s}dyIF$pQNaqNQIDo!2bZp C+$p30 literal 0 HcmV?d00001 diff --git a/assets/images/BadgeOrganizer.png b/assets/images/BadgeOrganizer.png new file mode 100644 index 0000000000000000000000000000000000000000..da500e97c39151109e481852d178456fe9817b39 GIT binary patch literal 71398 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

v)t-dI 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≈OC*R$ESiXfde-b3}lFO-@ErBRv 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 literal 0 HcmV?d00001 diff --git a/assets/images/BadgeParticipant.png b/assets/images/BadgeParticipant.png new file mode 100644 index 0000000000000000000000000000000000000000..dcce995416d3eaaf034b5e05d64057d606b44e8f GIT binary patch literal 87295 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 Q{I7t^+0hNbhF?wn4~YIAi~s-t literal 0 HcmV?d00001 diff --git a/assets/images/BadgeSponsor.png b/assets/images/BadgeSponsor.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7a3310b15db4da262ab2f1a71948e078a71455 GIT binary patch literal 87788 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/images/BadgeVolunteer.png b/assets/images/BadgeVolunteer.png new file mode 100644 index 0000000000000000000000000000000000000000..9a8ccf753d3ad4d86d9630ed8b4f6f8f21794989 GIT binary patch literal 85839 zcmX_HWmH>T(?v?5Kyhhtw-#uT;#%C@tw?cqcXy{~u@c-ZxLb<`0u*--9-J@qdDr(N zE9=TRGnt!v&dlC>B9#;*-=Y$s!ok74m6j4yfrCTvfrCTbLwOB5BW6q84EuWHAf@dL z2Zx6H@_~oT%zg(u3Gb{TDGFCLPO=X>cx5gkF9HWw8;|zz4G9ijVM|&}M9l;KDCbQ! z-geHDzW^dT3HuULdJrMQPp9{juLi{AHF_*KK4gDA z7r5ffHI&mczMRZ^i(i_tB)!$%(oa7m?ll0Si;Tq*MWGBa6|pQ~{@gL3(JXagZKYf1 zHAdJRf!1Gy7(;evRLy4Ds(!p7e-IdkN*MyX-w_w3dnmJLy)!PN%k53))K`DORy|{P z04qJ(zw2j#^Q>9L>*LobT|uwNr<=B?Z|M)l%0vH|dL_KxTg|^}NWyjbq&rsh06iF+ zdT{|uG|0GN+Ef#Bk8|7TI54#Q;uhIc{ALj2aX`@+Cy(*PFeME~KaCqCiaGCI=VWyZ zA(M?)`hwk2;_Bb{-qC~aj9sQzX<3-2ccC#s@y7B0#;}><`SXNBxxIg`pfDnA;K*9>k*=G#{ByPF#v<)}<#cBTyOVAIcdg~WvEmXxIR3~z zF!KI}D*p>FrMS4dW0e{obv>EB>Z2c+0#Q-l6F6qQyt zW%fDo;=f;nM=NuvuSc+J`u64S1S-0@a@Cli3C__m6BT7;mhGIW2a@z(VJ#dS9I~>q zdQw9Ss{6wMCa(R1zfq*(R{# zeEb(;UHwkPohLORrYOprgbd&-xBY2pg`-vdulLRUVyP8FJC`=FtqahdWC(rCL_= z3DDM~RjylfbxMb!tH(;DqeafmLY#8yz28b&XS46t;lROlHjg73L2l$(b+jn0AW)c| z?cW2(L@vIH@`CgzA1xcl^%zZ6pr+4}+(O4iMElKeH|@K4TN${Mw7Wui z(Iwh1c6*QQOgkd<_(6i!YKFHU=EAL@Xk^*+s+?lg60M$i#QY!zP~EQe*7|D2j63I0 zTwA9 zqD5hUmX%5IHy!KLccZR(g0h39!cuvD`d4=b3|Rii*QDvRigu|&Wrv$P%@{H!)a=G~ zB0cGdOR*HLeDZHP7{R%W^l$faulXWqW@kA85&FRjoK)L@6O#rhu}jRvG8X+YRjL3i zKR$QRh~ZO1>!kbmbP<_*0q8jHmOL#k^%T3#G$$;i$cMw z*jQ#Sk%-a+3Mzm7S*l>ZQ77cU2=R?dF6bC8+G-;G(?ipdZ?%EWJ9%3!V3 z(-`QM3Ea!SLeybrW0ANCTg~$GLzS(iNvg*WE(}ZA5cGkrX(!8L#buJkeiIuIrN6rF zH6j?KR+EWOCQO-AAkc58S2&DVjeI6r_N`C964|89I=rAKNhntflh&<31v0)l0JXck z74y*UPhEBTs|Bg95lIc3vA@XM6PUIM;_)^~!A!wlc`=ak-ZGzhX~?9XBLnypexB+&<$-? zOqtqLlxe#NjPN|!w`GH_sMl>*B8vZA3*20k*T0d-bq~@zPt13kDlXZ(!|?VXuO>%B z=s(Rmn78x24*)TJe#k|Ig2^qDcG3t+_w-n14@j<5hukJdW}SdI@qObbl zgY(vsrjg+1`^@&nZ{)-l=dX5=ATtJ5@Z>+^&boWl*|r*Toz5r8rrYcZY4v#NkyagP z2QkUG=^%CjG+8ObgFNNRj91hLbSOh@9CoJ0zzRgjnMjFRX@iFSRp(I-w*f%6tSq5w znQtG;B7;Yf6ki6t?RgvmdEW!P>`%ZDMG*UO8PCTd(0$X7fukyH>qqi&Rc%jeozJ-u z45hT<&m$%|Lfmoc0=#3$Li}ox9oSAg+P*V$P7%PzgU1eE>zwv_%Pv2|LeTfsToYdI zX>EN)MHO%WcA;X5^H46sS4BvvkkH(aNa^_M(?i_DhQC3o@4>H}5`c-)>B74T7CXbI zxm%~j_Z^^|0o`e6NY&k2TQMSn&`kG3wb4`N+k3<2;cI5(3#;CMo4yU9Z4>iR$!hXn ztVORseyOfrWQH!a%0&(dh&P`aIlkjB(y@Em@N_!c{_4^X!Vo)eVh&HaS!QAtXwzR= zXfebnMUkpPF!+dp&vXD%%qe-3{CZ?Ik6$*jOVASg>qlN^h<@ozJJv$~dojhf58s^T z0DkBB{=Dkrs$7g%-dYhC(v4r?s1_ejcD|lJutP?Lo|?p)>;wUX&&Ejm6*J+`G|W=s zAC83R36v$*AOuzoBQsH4Hl*;l^5H>v&#Ud6^B5WHj{38Jxa_3sz&c_Oavs3$^?mNV z{A-Ld6|PU}z}6~pGfa#lA(qC!hc5d=*S6uHSlM8LMH+Uk2}Lp;X2Y8Utwss-*~4o5 ziUn&!Z^c}l2JJNFWlC>1@>#C4;W_R=DMQFgs#6o{Yo9x`-M#Jz*T=!D(_4R=r*cq?q3S4?%-IeigoL?-hwogiB zogLnk5w7;~Ot-VKgj!2pghxG4HlDt3bf7plmoKEgivo@qPIw11A`ojeOz@Y->-j7& zI<0T@FflFDFW9bNW03M!g|6oLL4Q^Fn2>nNRWQ)Vv3%d8K1*9lsr zstjsnpB}>B0!PXfNM#L<>Vg&ds3aee-O|xmd9?G=za9Ac21U`RyD@?ffw&CP^XlGW za}_Jh6J=TBsbg-Vfxbf-*foKN;QJLJrSCqr6*1hf4e0SEzX<6aKDpGPigu&~nYAl(x=RHFKOB9t(0jAA*{9dj6XzKdzP|@4Qu`UrjkY zXw~!A8Fl=A94VLK#(R=z3K}8?oUjR9+&Y^c42AE9GMxEP9UAy6o;=2Y@!rd5kA94o5Sro5OhZ7dl+0A~3r>_{-n z0lSGn2}=tb4P~V%V_-P%Tn8vDtKb}cO0`17HJoVsDz$AZ->`7RxPOT+!BD2*Gwo^l<{Tve;Aib9>*l7Q8}>O@zwt-{hXpu_PL;x3OW z-X?WM$O0+T;T7P{=J|NSzI@^iyF;Pj-V?+_?Cj@%d(Jg9rcHf+P=Ofm)93DtnF;qg ziD0wHf#Jr6BK9gzsDp;tH*_($dgU_2MuYG}bN9d%`^-dQy#M!*&U$z)Ei8=Zb$7#* zx7JXJ^WOPJUHaCIO!lp0u2_((;ar;)hY|lh=!@r3{@Xf*j`6#@?-NlEi5hKt)5+U; zU0)Q?Z0b)pGdeq+nth)C%BsseC2*u_5!&|(=Ib&4dNf`9L!IjJzNn)%yDEA}w=H*7 zr%Q3JdZAF2=^jc7o}w!n#LllOJE=GXh2>7kjuX2lp$l}RE9AS@&8kw_#!pPK`d?>0 zd}Urb1;pTZkW;(fx3b2kMJB)I`DJ@XM2Uq}9Nze9E?NLGdx(Z-MKmQBl36>>Z71{d z=O7{D#rlC>42f?L`a3md-+NbSJ~ue7OvMMYdj89D&br&<;N#Ixc+@Qm?;P!fTGyQm zQ{W)gbF)zuR1;dfv=L^lt(J++Tu13hm{p0}veuWLA7{g8^zy2HxTXEh;E`Bedv{8v z*XmOu)6AkebRay~V4J^|oz2z|F893X(Rvw`FYOrFc)ttnVCuRbAZ|aiM8@;^GFZyj zNB;b9UIfQ(^Vdh}X?rH#+S!n+XTWK+v2QDlHK&A_7mgqmoI-J%M_!o#);x}isYDSh zYMEcX9JttGyP~YzoBn(}FYC}S@T-+r_4wKJ z#!d833;c+~%4BW01=EqMMCslM4Q-QTws*nhL5@y+q{T^c^h(+)0K|LntIU~x%PC{y!-EoEcp!|n0;Fk}V9IHpoJ6=fL@ zlKJ6ysP&_uPI(#FSh*jr-hT(}(krC)KAm*Fw~g49IEL38Q7U1cuO_ipVMa#>As0%4;A6ra$w%_X{!i~YcV6kHd)Ir#9kcCLZL6S7 z(XWe@pnCVFSr+MCjI2BLMlL7$hns{&Ph7~Z%>EHRT$wMNX(sjc-+a_rE>v-E=tDht zOh!Jm_?cQ5PHZ-n_hrQ1zf(d|UUuKOL>6034bu;h_q4?0G(L|zW2d9!R3j~3tjS!R zI$M2|R+)vl7pKV4O>>lk(-jT1OlR4iu6HNo@m3SM$_U;H8lfMPerziif8&14Uk0uz z0ky6azVfXlcW(D78kmwg`;5QL{^vc=QMvMMSDSzAM=y_L!MT;=uLTcpz*{rpM>!9- z*OlR>7rzh}r_rb${7h+;CB4T@@SAh_rPg6z#ZC~-SgzoO&>I8V6 zy&pmdVL-L=8TWq{?m$`Zb1Tqs3Co_71z+Uf2vktqovoLajJW%KlJ;frrX@5a`QXy| zC{}CdKA&>qQ8`pDtT{db;0!OwZ1yN^mcWSZu#H zNPW(!7v*~L&~^%(_~YhU>wQvM$&0|Z)j-C3ha7YBgWIx(;OFTp=ABZu7Hwi!p?%xz z{~VxqzD~*LM&Yp>vGb?Zx%IcdQS3FR*bj+(1d=>om(yw;jdH5xzgN4+^+xg>Bn$AM zv~LY`LGZe(EaTFG9)|gz*j(ot_Nq%h5BFW2KkaiL^=7b@Lsm-~KMnv zFhPbPB(cQ(CTKzo-U_G-)Y=sNbuH?@;l{8G=a!+djpaX!9ct*-XU zabNLGlvAmmm=6L{&KdcI3Fzm#`e+Lc4eg;d7gyA(NsJn4VAHbRuS4o?q0eD6}^ z`ngsgIN*15e|LEIJ|GiwUb7e4==ZCZdwA6Jljm(Kx;UWKs4Z@3z7$sy@=& zn@GfM;?)je*2M@TBBSEEt^G=!gg){Kh;skjJfDz(5`@mhr z4lS59U4k$Hyxh_YM1l?ziNvifa^yy$o(3uTC+1Jc3nq zDv2TsUKB(@uoA~MhBRhBb2bBALm3Z+QLHYA0bckHgI%P{w#A3V@YG5Boyx?# zKiZ|T{2TCH^plVGgJsam77?GSK))tGJCo;4*i(QW_CSCxGL^r3T{PUj? z_e8sc;F|BsVK~A`(@=2{ilg~`1F)|XdOzk$s-@Q5i!Q`2Ca*+nI^D+Ii6wiwwx~{A zmC}H#l}V`)7JKx;@X>$QnjLaNP;dD$uDn5W&Pkw|2fgtpAlXY*ykN2c9>OC)r6>+o zS`A0A{x@*#REZt`H$K75WZ$!z5s_J@f_cK+g|hQ9C>7yuY+GPtFD+Y5aMRJ4jbqO zISS%1t&ONeNmZ$8WX6@a;xf8Jfa4w^V&vE4jrkD;1}+N;ra(NfV8qh%-TH?}4m&9W zoC0u*r?>!lKi3|pR8O+=b7-(>SkT040s_6G^;RT@@ZhjFApYC81s)7;T%pG;3|1GK zjc}qj-|{9O_c(!MHV%z$g3qs}nFv0^3kk?o3Jc74qO9oeU!MF$zRcm9{`o!o9lGNX z03=Aji~fk=T=sh98`$s8=Jw8=ZcpWvwJ#cf8QI+|@9hXQy)TyRBUljhXG7{rd5T|5OvrT%kaEd&r0}Gxe?)eBoW-P$*NMm2j~VjWhEZwP z+UoDA=fFK7S0(pfsbF#G%O2ggz4yQT1vN_mZ#_CDo;USd&9B*PN%6!+Q0CB3I?W~^ zlQ}bUb+48f6nvg31YD_xLFSZ3U7u6;4DI*~)7df_5%1$LcJs=hLNf1quXQF9oPklM z@kG7_Pn~kb;BSUa->9W}(e@ltq1)|(HkM$q6=W|(4Xo3NNUQ~RQq23@1 zLv8Cjv@3DIL@yF)sbmcL1wzrQ&k_fQ&ySC6BE{+zjG{%XC%KPF{7-v-^N%RT32`}v za|r0fGeFn{bS)NSD!XuK9;(A(Wz@$nh?LXcqe!PK`U#o+q%g_(Mey}-{E3G$flwV| z1E+q(<+m`#xVBmWk&w5_IhqE5sYJW#?t!_V@rUX@0qchb=G&6Xry=~*K`_S3v?TY|iT;_EK{+~A{;CddT^E&CCp_{37 zzPhL1mrr#=zVRJ7hQ;n>>9Kz@Lph|$>~f%fe~n=v26{dgq8|w*#8mj@=xCG9->AOh zW3O!y`eBqQ;k@fIN;Nr%*cz!_AiC0WL>{&{8cp%2FY_4n6AAO84;-K3qM=4Gx^VTf zpIm+Mh(I9^}$p}1yE2WRIx2nsCa(m?y;B{4+GU2mMqW=(&64b~JTR&Xozm6HvLUEsgp5N%}o?<(IoostZN^Pqj9HEgD+04z$p7{j6a{#h~ ztc0*^XE0mNHQN2H2rA(a{?Nh=3{%CpB61u$5&taMKc!AiUS+H4GCFy_A`v?YwbLy- z4k=*kL^sAj*s1~U#qvT!wtVc`<3Gn=wqGbtOEi9~JSXK+}Uip*Y;ennK?5vTa7Hzd)^gRb7Lg|BydbqH}lVmVx$U7c&)2L0s`RxB{o z-$nHeP^!A~>0{1#W8HQR;@$Ye)M{60sG)_VmR0~<4@0vUsal>X9+6G*jrWzYQWC?)O`pZ2e0>W+ zc0vWy`Rfrk#t@?d@5fkb(?RgyK8rHq_z)5Pk9K0lCECAV3BMt8??`zX>vwyD-*KAc zkO@4|JVI*%&NqG)Q=9lvKSR$s)aS^WPa^K2L5-JLF_J`kC+afQ0C}gI1j{ zs$ZhC6N2-4106;p=-GTSMy3Y9os46xNWl9~8clWE=;K*IdGfO^RkQXT#CrG+j*P1K zw2$v;XyFpadzKU%YQOfco7nmp8vfphL?WD`1hG&CaZ4;8`+mP`bs9^Tpyv%?{`REL zhcRY<;{VmpZ`I1s3OV>^sp}3aumj7i*W;6FMr>w|Bh#HbP$tV&We7=m)Ws;1hSh9m7Y1BzM~2#uEz49GVK{>Z`+Hb+j$`jZ-Yt^WPq^4epJ{Xf+>?U)K=I+fIacMZ8ey zJ2?|?uQ7CQCg9GE3gv~Ry~^Pz3f)nt5NFfA+~*-Td_X>V9xe<%a`-0T{t$WoG(vv} z!EOr2Tup1nkb2i0ik+*NHFpdq6ko!oMle5_zO<2|UAfDdRR0_M6B|AmK}i$A8u4al z{p5Lza#lw;JAb<8lWm93!M@XRL;co)W#9HvE&ah>TI<=2sxU}@hV{w2@nio{e*zf6 z6>l>%0?cn@)W{OR#mURv6oEyl6SO(6PD;-~{xi6G01=Zg8{B!IXK=or&t|go?lvKc zf3w$O{4L8DfY8J7gkk#Xa@Slk<&K}SdyVp6@*cmve)vcXsU?RsiPz4V*tNZfGef+X z@B#ku(9Z{pRd+X^T5k=I zki0Km9m4C1Sri9~x~K_`IOudqbEp@dWkUbp+m1W|W&(#2hZ(|&8TTBxH0tN;S@W&p zVm=z1pM`i=yy*%8@@NQR52K@~9&pY(CO`aem z;8hNpyX(WG>kpG2FuHQTR#1_}M{@2%VuXdRBsD!Ztv*N`+oWEQ{gFh#U?Nioc~8w- zR9wWbyr4=q%CsMsMO13aXBU}#^7Y;|{B`4B%tLJ34{5W*JMzfe2{;y#abK*kBl!Ft zzVsvZQ~omTW_JQ*;9g$B-J4L-US4kMrYQM+{Zh56nF6szS&;?FBUGed6IkPTr39BAAJ2_?6;!-I!WvKB71T4vB2BBK60O3B!P3*C_12rZw=b*38oMQ zA}BTrUjTcn%P?8oe{su_JqdTQ+si`ncKVsP8Yv0ed-#&S!=wJ;XsF!uZ(497jyD_x z(&p#n$VMGL{E6tzGmOnRnsW_+DP9 z2%xeR%LkUX$yuK{Q&RZGct&>R-UFM)BXpuB<*}CgijuRwXO|Zi3wUetK9QY#aR-x4 zRXu!22OqR{oQjrfMteKw8Y2`GrF;1-1sdkFL|_Tz*w$0KE>A9YICVv}bUyUPP0k{> z!WU#V`*=278`pyw5kBrjl#%dE|BT+jHWM#G;No8fYD#tCwjD4;&)ge=!%FuEkF0Xv zMzZFouNlV!R${7S6Q#-dX=yWGE0whGG(xwk{rzMojs`M!-B9r%*7KD{Uk>T*NhlE& z_bD|Vb23cNs~%PrHTIRwlsmOHUGsD8ce*+h$GeP->hAH^>f6*J4_AMC>&N$86y_t| z2QyGlx9pZ$i&a!q%IyxAucSV=JR)`2iJxU`HueZzG%XO)fJf2|0g2iNnfft@#*+E4 znl@#*8J2uGZF8FML9Erp)<1AP$=~aX!~4J`H1X8>bG`S{VP!`6MjX)QUF6xOslK=P z{yr3oPy|%CepO}AD*NX5;_PO}!|(PPQx*8=aD;(~_Mwk*f^ z!d*a^@xkQE1wEtBo(dj9YE z@WU0;qX)l}`&KC2H-sKOlO3)1feX_)sBa8Qg3r;5_OZWtZm?#lUjp-s3gDz5q7M0S z*b1+%p;c8g%br>WH$!foPd{vBJV+-EB5K4e?JwUMBgb+=>a$E@51S)w zrL!LI3HMoj@9cp_{8ltpKb83PstB_MWlnoY@UW8&I)GB(lN?Y^`yRsx{8hf>D17Kp z##-Pcx6sG^wG6itk{M%&FZsJ7D!<@a{R?T}%%|j=K1Un7K~Ydq{DY}o2oEEDc=o$e?85EsyOcIwKe+pz&^2iUl^tQvnNA@SXR1xbG1-y2b=cV zAz3>nQKP7WHQT4o=jlUXqju+&7Ihu)+cMd0u-79i^Fr03Kyg`L?{&L|0U7MS_s$;8PA9GOq2N;I zp#o*N-JOnQN%c(IEF5q9eJRQl16k$p!gs{3o~IUHq1-A*h`JqjSW^-Ld@b5rQQleUwYO@NtHv%>^O|}gM_Bu zL`q>lg(&sZ$}eH1?k_S$p!3J8eu3BT$9(k4d3dbWbxD@^oJWX~1f$WD6qmSFSUO!I z4A?7rAql`9gZo9hWB=x-Sb;i|zw2|uR_k2L9!phBx&hj!Gj?R9?62o8P$}aZO;>!Y z4{BY+YtsPWn7B>IDxY@x7x*QL=R?i3J!1aXEdQd_u-Jj=qs5ni7?XZGm;RJ*9fC6Q zia_1PzknK#3k^^xMrhATRk~Ne5?w5=lHI)#A~mGoy8E{Fyx(vot+9O78oXgxK>-YR zVdX7qW2z0WR*nh;ag*G{Gm5~t;-5x2x zE1|(}I6UW?yr5ild+}LYFhE%5U`cpS#Ax-W%0Z1pEx8HG?jutfaJ%x6>AYESuB%hB z$)2z1ZGz)tEvmIid8$Q=tf>>wwS2Pl4o1Ca>H)+ay64`{hWRqpb==f8o59fYJ>n7L zg0|7$kGqOO0P8$>49tTG|1aid43EUYL9neQlkCKIjqPe(8l=bnOSDfYvqR2Z3?~T_ z%l*{%Ya;KCnlaAcBGEAZ6HmA6Wa4Bh!N-+NU#1KnC(NkEGh zwopKXgcyeM!5Ja?FQk@>bZ12FGg87F+s!Tt5zp#>=!<{|pW79)KQxn+lftscM8CR;%Up~rPp z{bu(|i?ao*Z;UwwD&SAa5^C?)xP7;O(Yt69NDKFvi+5NGR-Cv%RPw+1B-AMNWbLI3 zdB-xZ6n$NL3>ki-q7PUIrVzuGs`xl%8#Qp>9cbdU!z}+*I$^CN3d0<9*F%MjfMn8w z)pPP|rER%Q69D~OP?qCriofr2lb*?m`$r0(I1sZ{DPtjQY9vM$f@W`ovvv_r+!Md- zkY)$>^{qW6P{%NS-;3hfzcaD^mfgNV z$_qtp4EPpT1;5$2_Miw;iYl9H#8;xs1c?Mh&>vhr-LzdTvY^OIMU-vuhG6FfE0#_- zed)M&o85O6Q(@od7pq;PJ6rtFX1XubG-6%uwx2noVyV`9D8}(#Fb*J#B;~HyVVBWf ze*-nvLgDJ!Do|6tZrg=223@Rf_by9h@6eX-Rv%&n&9A4~gQ?$xqNYyHGdx0ZddqRM=hZ#x5boDW-ZK=eGzzOl8KfO_}w(hZC zS6LlriZY`PzWt0Y2a6gy1s@uwSP^I{0scNePEM3jV(rKMp=ULHNz>Y*AG{Tf&?hN= z2jVC^JfBLVSAXtVNKzUoga!Hsue=+Hd0*mC&=U=#ESE!E5~LW|+WL;s6qPq|+;?+! znM02b<`&iHiN54kGqie&dLKQb|EyLqr_%SWY-|#t50>X{mw!T&Df}mUy))xV5?(33 z7tJkA8HGjt!M2X}!!TWBGm%o?+>QxMq&28W@^d#g9fy|n<`bsV`S#Z&#PrV!dn4kI zlo&pq7v*k+QTBEr+DZyoeQsQ7xn8u>;ZTdm#KWGER>t5omS|Z~BKt4v?IRF;y>}b- zFJgijnXaq;AHih4VTrpr6zt#QW;d$U7%Y3j7h1ukdV&&VfiN-S*8UKevjWYF2^xyV zw(Bc_^KSoYg)b%r*@utGim;;KgrpSkG1jXyiNL2%@;Vs}^oHvX5nt2ni0s6%QT^+e zkzz&>y&ICNNnOvb(PX;FyyZV98uNH%Uv{~aR6>6N!x2=$3|7C5dL|%PrwzF}cj&1` z`T9ukpE{b6Wv$Zt*}sG75PT&6RH2#2a-M3RQ!U$OEH3C>NrOZ_zJIFxxK%I~M&sXP zdqL^>v~N42{7)>+$kNpAEBpk_)ii~i+-*&~#;8itUj4xk49ZjK&#b0FGK|kng|SO-jmI@ap(%9tlec`f=jJ!g(>@)_}P?L+ZpoHMj~BNvU;;;U8c9 z+OB0K$<*tHlB4OgkJuHqiK3c<1t6(|EccQZA@_Yi%&&@EC7~ ztr)u0Ax~FnuCl-|67Ji*tG*)VT`_j24%DHQ=hbqv9z^Ra22Rlk|7>47#n!#LWYd06 zf$flFpj2(`)iE^;Q0%Ka5ACSiDDHqQZghZEzN_CW=d;i5opRY63_Rw|#k4FiT0aH( z8OnJ(gsZzfKQ$Aac%3?2%_+JNOb z?46(GBp7-$ncABVGkl(#z_WRJ)+muo^ly(?44(!)T5S$2r6C3mTMmT}+nB`LU?G3~ z>my#G_fwi`jQSx4iX@Zzoka?hDKORAC`-=eL{`eY?#)o_d4S3`GSnHKuAdbqo7eAj zU$sajVpQ0@lXIy)pdl=`*s=a_UCv3r7`hUY!gRW?dv(sTuVz4Jjt)s~aOumVo)8cj zhbbbDssyNDim~*a!P8xjXqnS1zS^wcK;HtrFWYLR6><>*3=o(`Jdwwpxn!QYUlMB} zc>Zv%BRPdC=fmh$?+E>{>_jKMWPD9XNCJb?gI03;*?}ET(Pba38=%-5I)1lX<4x=$ zgURz81kXEvIj)Ngf`r{W8{h?1>ydf@Ado+;QYl>pxGIyN9N*VflVls7~6=U8D_3un0=3;R2sbz5dfDd70cv?=mYCK3RUCOu5PW zj-hZUhXzu5$?^qs7n(SX)@kKhBXpx!G74kHg<%{*^3kAx3i#*l)}J=_RMcjP=Ge>x z2DYc(PN)4;#1I;)oI?X425+qiNhwni&6Dv=>hq2IzgIVns)~?Qxic7d<8PEIcegg; zbnw1o`*i*FLKifHgA+e@hxvmne=ebGU?RQ`mfPvbi|B1@$Dc=$+@@{*{%Q$)B|;x^ zGX^?TOv^9Pd?Ou@8ky4;B9_+|PP7%P-e#tGjJ@w}thvA3oJC-fK)y%J{rG!jv2z>r zt>bFYqP&QU!9EXJ7low`^m+O zL#NqcogX71nCMCIe#RM9XffrdD}5!E>3L5Up;eSF(ZeW$BpK)DY_631l;qF9rCb9P zXZH0FLG0hxACGcV>%0aOa-8WyULh8Gm*N#dC@72NoSpSnR%#5NAoS&1xBl%PG<`SZ zJfCSxU>zx`IyWNq!i6#1&3P+=o|`E8tIfL|g}}gu+I(>sO;7~euh{mstgawHfLiSv zgMlqmTB0%C$LA#~oFGi(YWpr0rxD4p(YMVpNj+b^q<%Y*7!|Z{MKYfYxmTx?YdeW=DG|ZgTo9H&ZVM42( z@JSeJ`OColmycMe95QC9!rVSQNlfhF^;q?82MbKBRFC5qbAXNW+KB%*K!aF!b$!WB zH0p=RQ08{=uG{bj*4a^54K!MWnL|Zr_(e>Cd_@=NvY&!eG#V~Li)CUaPPWb-8lPd} z9y#jof0`F&B_88abrnDgTdoO&&eJ~nT{3%mZ~EExz}jh$4-NSk==BtO%;)dszEOtY z2~ASj+w)Vv&>@DG96a0YJ1dX-QY4#?m>~>;N|jmHkZHEdaRD|-7l$6kbBuVm#mlr8 zi%Y}_e&(4f?Cg}*$&CKgi%c56OV5+a49E-PgG4tg40b+Wm>PUY=4OKuBY&AHeDqEy{WJj7QGu_~mMuZ`YbJ^nR- znI4hQd){Tvt?0*3-G1ptI#JoLe6=!CqBi!!9Ga@CaLo8s;jr|4ez~!GOsyZFvfyN7 z*ufIu^Dre}w==u!bjhIF93u8ctm#C>c=x((f?0YBxi%d9Oh#{mCF+Ew315{`rH3i% zQ&rhJ-`q*>maMqKAv$RINmzlqv~5&fQ)V|x!AnhwMJHwSZ~cA7s4I9hTDEEIrTIw^ z|BrKE{vTHSYLMzm!2-a7(73zy62~Y(_%4h0T#r;`_IY9C5F$l~U_FZzLFOhp3w96Vx`f5= z6d?vFgTFm;0J=UWrTW0IL@d#BIx@u(pJsUp1ZUj3e)A11qZo)7>~~75B9k5V`fViTK9H(U(p^smK{)>%SLeth1>Dz5}~CYyX-MDS0dd7cb_+d;HntNJVk;v2fPqtziu3f3t~y zjV7y1OPYy|J7fFztVa;N)9udvPegkDXWOw>anS+Rsq)W%xX9)rzX_uM4ydT@?5D1N zhE*qfh-FuO%r62;hQ?%l5`K+dmGlkPQFn^%dpQ9+c&R1_?zTzy>%X`9?H8zV2XacJ5;fc%Vr`FdIfcv8kBaT660 z7+k&;*Tz~f33F!po6@20M7ylndS8}WzdgQc2N^D*ZUk!s<1$J(G>S5o?>H^-MVkmT zU?pT&)UUOH;)-arGAI2?918@i8r0f+Wwfvc0Iw?S2;wl$SG;sT@F{YVf!VG*|sg( z(^O%s&b&5{%W2D6ol?YbeGo9;*ZVMe0y%TmS?LI$RqMG{`|yGSjqqe;c$B(ANg`Fhx%o*dQY0!IYyti+A%@9)CTZm;CT3s-r}j?iOkEE?L!0hj|B8?= z;^G(I0XE8X>)|%jEs>9Ab1@}9He7K__6)Qn%azw|(N2bUSUc$o=lhV)hz}5XOcpos zykUtoi;VEqkvijYIbX>m>2y7u=xGLyw$$z%`PG+$?;&}rF4flR=FG3Xp@&TB2NJjl z33&9;Y6KPsMd7B`wi9M}E)nN{RC~hoN{y!B`EMdx>25Z7I_Xc~Yq_|_!r!`Ea_QXy zuGOeQLU2KU&7#so_Bc5khhgn|4fDZ!(a2lhF&)jPJKzkz-cX`yM|ID*z#?M0K7D9* z&}dFjxfghv_1U(T1959pXge#WtlH$7!lOR|a!Z81MFdr$ZSRzQHS@NK#& zXqGY}788Mk4PCH0LX^wq@*p_^;CiCRA_A`*^{eW;>?1{|oz0O4FOSt;=Kc?pM%D?@xjF6YZ-&E z>Q>DjR{Dit;gB9BwnarbF*buBlm&D3?!||}Ahh-Q+V8M!+yH}&yNX!sAigMCO@9|$ z%$?o2W)>xtOIlGsp~FTm<@r4-03SE9V#*{g@KurfI+h4;nC)a3{mNj28Fu7vk_AR4 z-!)KdG$y4egcy8`D;m*Ev8b`aNEbVlC17bJTt?ViW({^K1;~Az0+dIG8wvCDuk@gk z_5dz|xy38ViG<@M0W*ZyWznp}1=Q~ExV}?qM3XI~&^Z~&)_r?i(cmk0fe&#dibqU* zby#i;f8nN#dxAIhm0I%8HSh5&kwrHq3HG_=Xdz{M}{tDt$kc$ zUz-oh-VHmLuEi$SL8~P3AjF;253{#gi%$LB6qoP%}1 zxpu=Yqv7x*U3{iMlz`|Gk}`kEuMj$2moe+lCI=7Mxh3A};ugH-`CQncHciLo^ZjIX zJPOGX6e<-@MK?sEw%g~uBp6C|Ci*33dKqfUa5id0E6}phBDLL^H8Vu6RZV#>snwrZoP6Kh4E6k6vHJdxrn3x)o9nuETigeC zw^H2Q-HW>pZpGc5;suIBad&qw#X7h<#l5({>HU1)-^@&MlG(}GS$nVR015E1dNnq@ zzFp%7B-(1kZgp0sz!5r;cx6+>*8Pc-se8)lGp@H3VbtT ze9eI1r=hyrilZrY&&dI8#2yj3UbkmK9ePY$fLZ(-O|0$Jv0%R+jZVj>9A|%6HkrY> z?4jSa`BlFP0`gZn<|w9oKMN(LfxPV|Dzj3M>S@pZ@qRhNFWJG0*1ixuo9KL2HXxyv zjcFiD9JQXNki`|NMn3;+LZ}#73>954QsC;P&YQYiU6b3ececKIZTfi8*m^rG41v#* zys{Qzb>YZn@$-sufiqK2{k0eayCZ95`zBOwff{@qxF%_Y8fVX$>B8Z>fGyX;Q9C`#oqI z7UZ=C__hBk*>ieLOfXu1C<9(M2;#WqLoh5S6vL1>;N>JLN0WQmRJflH-LS?uJQss{ zgEyh>G4q*!!J-K;-p;s^Kot)0f4WW3%yN5@$X04X5~94QwaCwVcVj8)le~OtnD98K z=ru!=F~?0uE){H+dQYcaer zuO0I#VgbmevJyzH?3HCgmpTli8zr4J;eh0579 z$g$Z8GR#M_httQqz@(2TIb4~p69uh+46{(vNwSfTalIF$JdHL;J8R*L_RPd z1Mlok6NTfUPiEU%3UxRm$QHEGF~O;uDK4xnQTkqnF7kUf$|9jiTt3$$IhBLi!PDak zy70m^#a3wu`0a7Ec}ptBqS`R5rihJs3pjg$C;<={X29{ zhOD)ez=OFK`HLL4i84AcJW)-FmB{@PqeWoZ)qreIJJ(Wts9W%~ZB&{!FGP zs!8`Z2X_hg)Q{h2`FK64=a(ZErN~?9l{Y?~;LTUhcA86{vBtVr?It6Z(B^YA0@WCZ z5#ERQ^r@%n`8>ZkxXAEy-W`Ms3a_uJvvrc&R0j$R}VYEd9;=#?mvLyrJ(=&FLH!oYR(_&!E$a1O4KXg2kYZk|^rr z!^0e&Jm%Vtm~kJAbHHaHuWLfJBrA(sK1szFJ1O21$8Nar-YXWi(iSWE=!r;(xq#xK z6!iq*P$E|-=q@l&1Pg`GW-06Xy#$VG&#<~&L)pm7Qfs!n?eJZOkUC#mPmJ>B{s<^%$1skb@Fy3D)5f z(AGYcCV6>alz><$lb3UJP8K>BYtUcW_J4v&(r~A82~#ky>OiGa_;8 zk>zt%i=|U^f`$|p9I~&&!Kwj`ytX0ILTOfnp&JwtKViU1C$mM%I+8DyZvH$%R@XeW z=h_{DF9|u#(j)_`$;PTXy^-Bz3n(*Xwirs4=M!vbF{y%zhxLgeAXVhWj6nBwY%=pT@t<`S{4do{O$C+Os$NI6{t#170q(bth=ejQcv9(c`zYAs+Goh(9h zF@?wHpf@I+A~JPYXH`No3^o87mi=U(E6c=T7nYen+m|H{U-Q;SEp_!tcesAlI)t%h zN8GP%LFal~YxJ;ajZH-$FXUl$^FM&)+@?9;6LuXJyC+9E<=`z8Lzq7M^pa7r(^`d7 z`AM--1i7CNhOkknhr>S|nf9U(>zb(bg4tqQh^4o;_&Mq{?a-VZIyt*eM#g z9JGeaVN9+_I{&Lc&HZ3|Ec_QB-OgGc{y2WFeERwmmzG(}6O?~jKg(vYb+r*&vRqH~ zwoj5(1OS%2j0s>ABCLuL@crW*2K+hsI2g$uE&1Xm78~uJ!gN`D%xq3V-;c!U%!W)D z`Npm~-AP(2qJT8#!66ePU{EZU0})|lQiZzB^l}j*`4N@wxR=XvZuQ#o&rwkyAe@f5paw>GfWf>S}$BxJ^w zbc!>ZPL6M^!|++D9GoqMvB_gtZey@EJKr1Q#Kz`WGou~WR`T^7NHXmV%B}QSh?{Pi zG-48>M=t+dzK{K+xSq%-jOmpXycaoNj3BVlA2GmMu<#qA2Pv8x^y;4Yn0YU~IxQJT z7++r>$zd;1W-<^n2S^gPAI8wqs43mPhNHeTARlV>uu$%jJ!f?u#jrXsjbW%Eh09<= z{~)f+YtSg?&J;FyNeoX0Lv{W|;~?uoR7gE))RQ`VXe?gp_x1&ThFpz~U}yckvm?${ z*Y8mwM7mi1)|L8)7E=vMqx0Lt#qb20yLcU};3b(-^ zF|i(3mE9?Cl}z#|U(PC0EF5tyJ~fc00!C>9|s(WUt#UB>6h z#h{78-_fG?VN990Ezpp^fXsGp~;_ zCha3#uh&n19C6KY*OG`LetcEtCV6h0btVI;JD^<3UMm}vz)GhGkKkH$d$dBG0E-5k zX-L;qt6ItGQz$IzY!$hpP3$w4DpI&^QBD_q(>qw2qXW$l;2hbD8QpCQ`)L-9L+zKY6taokUCSChLT-~l@G@F(`I&JDm$T9m+Ko3W%)qjl zX{{1BuXkaYIHrIN(d|fKLES_)4;l54jiAuMwj|=J;eG_V!@U_{%Yc}ANZC`p!(QTUlpmr7_08FWjL@dW)ug{PN@G*;*wq#2-9l-IglqlTrW3EfK!B(X_Nda2 zL{poJK6Z*yQK|X*BH_et%PTNk)QW05>sBEOv$1CeXqz+bTz9U3joRCMa;l<0@ljcL zN|SAk4*r74=GfNpRQ2urx^rLA_U8f z=nXbrRp0?=3FI88eAMBA$wfZ2g?KQS(@BbI;)K=)k6hxP&?n?N^!Z`@+Qt0fP*CmF z9sq@Lw|}~QXG3|~j~dL2?Bad8c+6c8n9gK+vxSn8+>!u?E_4n}n#luCPK~JAV8vB> zVv6~BII~HM6uN)??r3+i4|XHWaHYF2136PBLkmykW-9uXOqsz~I&PM;7+ypmU@h-w zp{Of}VzE#gMaI0q2mkqM;pa$+u&~_g{cMwWXO>%jIIhT|4sBE*3ztF~IJ`K`PMfmR zq*o$+05e;GxG5;J_F(pc6_DKNSjn#2-M+BnGBL~F*^3uKl-Vuxc^YYr!3}at&5Yw9 z9~tqZ#F=pRAyvX`gW@us6!~g7R0oJ-Ts?7i^NOjsec_N7;WEeiZWAMZdXJ%nTHJ>5S{7B z$*hbSO{>HQ79O-SJ)49N7*1zuqSZCD4s-?iBRL+iWsm1dqSr~2gw_GXPzG^mP5QmD zzy?V1iVYDQhdJHs{)DR^7(dJTYoN!6{czXvf`1uyE46BDk%*brC;bOLf1dqMmRroH zNLZ3@h?!izo2X-i%t6j=0x*2skuZl#gGR^XPrH@gYm0oNEn-&85$m+Gwo(%sQc*on z>05oSGwi+K95fWdgK*m`_@1&1ACOR3gWw{In@SueT*<^QMALS7u($K}L-EBevguDE zVn>0BK$4rkOccK$>3E_^7Li%DQFD4%q{4QZ$;NZ3G;;2ng8-+}-m4jBF;MBC!Ue$y zdTSI)gj{guOZX!RKoPJe6i-mq)*6*Uu0jm`+KXpDWw=^P7kq7pn$6RBpCn-6=V3Zc zh5un#mdscfD287<^>;5qu#c`X^afL87^Z)NKHawU&z+_zuNtx;d@3A?<*l#2K@t^@ zAub#VDw7^`-{;PeXYF-Qs^yF=oR~&wVnm7nN-$rsW~OYqr3Mwa`Jt(9C*P^86;z2z z#9JO`@Dm?mYrYA%RCa#-gi1IiZLu+95&c2b-2S2$QiVdl$D`q{82{ym5TvTHV@_)5 zeww$4>7|)AXfd;6b2M2hj)lupWN``R;HxSyH_{6MCC#(>3zaK$F$(1AZ-PD=eDnLF zy<~EsvPh!y`-gsI%GlbAHQ<}|^Y|#6<)B`1%5YvGE8kz1$a+4Dtq!>kGPNEPA1KZI zUnjBIoTh&yM>71bBGvXgv{2B?y1i@SM=gm|6TXFe`WuU{Tq4 z?j`wkdG-;X?BqP%$67`CrdH|nN=&IOZ92C4a^22-FC5mll)2k35}9;Li^j!y9r z#a3*bM?h$6SeH;u5(ek3iVow%E2MSE-|dJ2y@vHJLSmE>?Y)D4=jHXe6i z!D{dVsS@>OdNqz=63Xum`!Ka9y~EQz|fiGz9jK29acQ3IbZ&% ze3E-h4p%zW7v7O<&wXJ5}5a!*&w!de(zbvzGb+qc0@ z9}-DQmRnQW7vD5qX!#t*X1%VTi1K+qOx4p>HTlY17RQK3^FEJ@*GvAa9HvJ$Hk#6A zJN>T0H)?5LiMPn7`5Ud_xHob|%=dbWQiUe9cL0un)YWyJ+zsmURWSMXJS&f@EvN zxjStBrSCGsWx=`2oypTU_RG|eSZ`AwLDP^BMftv~q9c?ow;LX`k?#MmRO%0Xx&Wm# zlo4NMA-}_y7vvUKRLM6h;~kvo)N|T&J2hoi8KWJhz{R!~9({WY6R4w07#E zWbxsLIQlg$qm2Wds}Mio@xiDUpQ9$H2DgCQbN;;tf4o`?vhsL{D;tG*l$3RiI5i*X z)637~M*-omcAbTjeuTu%HaYc&>`zU_ViVmu1z&qT3B%u4uH14Gpi4Kz?f8PL&? zz9q{NvfhDxa}c@@njI6w@Z8;v+!hvv(;eI}JTHEUUE7Z&t;|MrD)AwnX_BARZt*%f z;cXDSMmW*-x(HQp)d*zCxE>f9kniqpl|dS~MAF(tI~D~_X2MVp!Q)F!^UVF-gWbaZ zQGzT1mz>tIcrterwUO8y6(aXAWbOda9ZQ`HUHu}K(IlA z(j@;<10Jj!7zEW&cqjJ0YR1WhGRvVdW)hCYHoZ+Py+Dz;!_PS&aCh zwj53BColAtGWBR%XhWLQW9a|TQ&aS;WZGR7P-bq1UE8cpX_YRKl52{#m`i%B57a^8 zh-2!j-oN*;r~GJLN1I>pXy00spEjLxvHQ0`#NPHjqtru;##9sGY{WvLQ7sR}+Sh~J zT!*vBBa?wEy}J?JbLr^RZD==xwTe%T*9$CxCT;zbe|QD;(MZd(#&A4B74YI zqK842p#?6h$}A2gp|BO5pI^E|XrNB~%Lz`a#9=;wWoqI}G=+}E11Vu+AMUk-(0}CD zCoN+Li}NjvHI^w6R=CpPIQq1drh6T0L50q3?{2<=t%;lAW+54w&sC6)t?v>qjMMp6 zG%O+@(nUSy1;a;x#<73c8c)H2Nt47<-6VvD&QY_!LlDDFw|Cvo3=x9DIbJBK_T`v3 zXI9uuGdYbILW?uNBarSt=*d(apald2fDDJaszJNF_C%$(zJ?(brBrL~J*KX=-!fU> z{5R7t7@m_e!ULYs@N3vlWX(_6#1h7<nZ)S0x3KUh@dg*lz6k zT@etf33~v+TGF_ld>npQn(W31UoHeWp`3?PD5|Yd1{E*fkrA?zeTzM4#DJ}fu$AYs znDCT~?yg-mj(`MkGchKXZS80`O_~sVV$;cgR}&iF)r{&@>}4+!x%)lpg@}WV+fk^oioR*PK(ZeiO5OVcD5qCi_qqreY>~ zKYz$-#Z{+gh_fnYuY63d@dVhsieGXzZoHKGKOx_kFXH+TENQ1yCSL>|k5#VF{vqqo&VImlKUX24;*7ZbhTtOf;7%HES1u)g(iR>PC3=~*7V z1m8{<49Opw#J;A`iSEt1*;rKBB+h?IHg?ySS;n5CV~<$S4(E6PiH5W`NDmO`!O%m0 z%+PqQ^s6}=-(#O~67kuuAkm>>{AS?r3CQqh{0r8KWE0#=CQ)GT&WA4PmI$Ji$1WuRu zqJW8w{>m9lKRjuNQ@vJ`gQsBY=d_=Q;t35dm;O1vI{nK-#uSN_cl3s!mx|AH+T$kn z4&NK2h$27So~&`*jytHH;L1$6R~=QpKr5b-L#uz@SvUdL^=5B)GM&;O9NGhr5cGlb zDL0VjFMkn-D30pZS_23(jxMwQHvH&)_dY8s;zg5pvYo;&{RXTm~f!u(Gve0 zg!yA%1mw`@yJ44`UQ~MQ^Oc1%B{=uQVo)^6TF9{& zeBio$ zr=$nea=irn4pf*_bQ@;PMbi>_t}Zushr?+sc6v6b>=EGPgJ@HrA;~>wpK~!Z-J0y zv;OWD9FFm8F}0S%)YvFHrZ6M}P2YP^Ehe=qGS5qMU^v-f_!kyIi}W(Gs9TDK{DU{S z#OdDe@E?XfT#`)^6ex|J84;+vWcjh$xaHpJ z#VO63>`}>u8^qP~JK=uynbZ*o$K4-F8lBy8(7QesxmG<9g!`T3JDgegTL$ajl{MVl z9n?yrY}6O=4>Iaw`nEBh zNpJCYK)xn1F`@@~3`2++P}u}}e}jT+UdS>6j{n03p1{8dLT@Yx-6eNkuev)S0ivs> z%UG?uEN|l2>izLiNQ~rUJXS%|{KT@GZ3{Q6*f`2b%?5`Ll~IrGpBL|!Kpf^ll*${g zpJU9CWthD-I)86}zWlw;pJ*3imJzppXA+k0W2?T#;k`7Joy+a#$z*FO4DW*2Sj}{^ zxVeV~yF`U&N9{|V(Fgoi{hF^> zKOBSMrw$r6ircpCWr#AuCwTap2CDhT&azM0mN4gvzB#FaMwC|pi5JCJGoSe|d6?WA zHdr_?XPef|OeYZZCJ5)ro+h{)gpM7QwY^hx{S5J5Jb;J*vo0Lp>nj|hs?n_>QKnC$ z=vm>mq7$@a(h&yBuv#>5_rXD;{YH{aQASn6fKx`yH^Z*N6g-({0sN>1jEm#_U z7X2>Tp68{Wkv#F?8*Sc!{-T9r2pXTGR!_a!cfpo{g(gZhIUIDM6MkqM)dc@op&7T1 zBhR%T6uE#{skFlF``aXx6!y}rrq5N55gf3VF+^CD?64T<{y5DI(K@e4eDuNV2{?68 z9*u^yr%vBghJU%tUH=yFriIvjyL}5stJb9lqWh^YHD-7szc`-la*D=iD3=MmS|3Fb zYaXGJC@Yn*@WiUqV+lw}nx~(^p3SvH6D|5M=;Xq&zKaLMm`&zu&->196AfFOK}4IY ztWZQDN>L8eG}!O8nbaHX=hIkv1VrM@gfc*123q4x&nlOp&`p~J0t^sC!f(l)wSNqp zkZ{%7Iku75+f-xx=bv=cx|NzD3=8?IActmUA6BbbPkz1L8wAMo!%+BRdl!F6zkP;6 zK{=f20){Cg?-Gp@tXS3Hf>fm3!!+Vxe41@p1_?m(#4HwdcPr z4GScEUZ-u@f9=^l4ELBjC!_2X8g#}b4JmcYik zr5ZAeGYcq+HVbKkC2LzxjVd?>@sLgAz2 zqP_yYG$EeDk=TJ6#Kh24g7A9uVLwVu9=p1CYqLXva$U}JbN=4V331o46s`DQc;#H) z)H(0OxZK>;8b3Z>mjH%@*3@Y?zpdiHS5wVp0#vY zM_B6S`Z=S=lwg`I=&2q=>c!eK3b}~nlR9wO&N@p$Lpk3i@9k(W{&6TBcAaj~s^c#B z(Bc;+#?*B?a5qe(BzYKapA-7xdjFh(9P75k1#=#GMAyjb_e6aa#FgE>4(&RW#*!n{;ik#1c#r{Ph zs5XO|5M}}<@EUGo50%GU0ybzIwscW)*H~$I zB51a0OwuiFIo+E}a;N?TO+=$=sTq0f+n4<}j0DKT#pqsmC~1kST|>KLa+%fpqZiPN z?d4+clEh{mFY7u@<>UiFVQu-EVd~yt%jbm-7-3mx5gx6(N*Vr~NV&Cw+m-V=r$PR0 zm9ni4xgysdbJ;^C?>~$W@d4n_ny%0XB?NTln4LPQ&UX|FRty(&G+W;jKXC|i?e1&$ zT29<|Sa$2T@{D);s4h!>fN(!G7j-`b>D<8`BEWz4!NR}|QNT4+)onG|+J-G=C*@{r zRq214fp88Swt=?9C+yM&lQ@TBUfTY2ZWO-6ZE$+G8HWP1ML+jT1^CY%vm{wRt~r@8 zax~B1QS=>A^Cs5!G%3bSewPGlP@$2T2AgC(UrFMv2x7 zY5xwN%ViJ;^kA=W<%hOmx*tj1uzw5NCvkV*Xbf9EE;Z%KBUB&dig}WdNfx2{;&5z9 z3$NUxut*ut2?%#5xI#N>8b|4#()Tolg%S6rO!PwY7bz@D(<%NXupyOW4Z_ShaIv_e z21ND5NGF)Lv2=Q37}^CJfae7B0afh^qaM!6yJ4GyFD{vc5eOH`sduIyb`rCWdY+ZE zU^P;4XRj4@rtmwt4D?g6@iY!*D_q!Ux)6rz{*>nD!~3lD{X~_1 ztHfckn5dJ!=oe^?g_e$P!8ZU3EqYwfw3%ra9RoOK6_V`PMMb7X!G6KAjdRS9aYWAH zV9++x&nt*Rv8c2ijm4Uf3X(W`Ip}zBbT_O@WdJbVJOIz12mH`n!BOd8TA*#sn%cMS zBd7i68?QJ{Z;N=-^q)||(a#}&BasSHr?D z+`LTcRrBcB$fsb@MbyS(AuOs5zp{AnNm|@sXeqqi`&vHAQza(E3>K^w5#~)1s-ze3 z1I<2EJ*eeL?4|9UwK`>H@6#*DJVr$x3m<WC=7=^Y1 z&l#)B_dOpYDQ0vm&K1HAR%#t`D^-J`1NM&Tv76fkKbv4 z`feJ%oW{hC38PT#Pn;jvThrdjqEj}B1vp7$v}IzZn~Gei*$mpJ5`Bk+7Cv{350K50 zBU)u`b&TH|^*F8&f~hq`yHAaA@m{}=GZ#UhU`<0lvs+y* zEYoE%BI5l4O3v`)gD%rw?*}zHF@5X)yvZP#5>Qq82Wr0O(SNZfM%u@Mk>JASomx^&u{EQrH^y6bpu<_5tXKh$Q^i z7grU^j02v5r9-V$5otTucwzU!0>$Eq-rxOm00C%$EqOea4r~Dzjf!E{?$*gIe#uCCw5X(WTxD zXtln}aM*u7|F?6hn9!Mk1;9kKo9vL@3PZ>RoB>E|SyDGtxx{r1Q|k;tsD#(?zui;O z8p?l!*y-d`y>8xE{8%9T_f6knk}V|rREJQtcBE8)iU&8k-_zM0S7#?Z7n>mz;t^lz z8N4+A{9a0bdo3oEbm){_-TwB$|1Kxs(GuUoPJGYE(QD&Gzn~e)>-FrAJ?Hyh#5|bZ~ZN*y5i6cpKyu=i2f7EaMAkDd8q~NDBOs|u==JNpOnqLQ3 zgV=_8jBHo7z=7uVB&)l1J2!iSpa2fYn~rz6uylO+6VczA08=dG)C7ocKj`Nt z?D{U}m8{^{(N_2L&iOT5kvF}tK{f>W@@v%f_{M5C7T?Muj3#mOImk$a0+N173ul1v zOu%Q=vv)%}2CMw@o~sJyy!wFw7m}CI)PK#!!~T*}o+0z#zWJ(I=OD%R!Aw*Tq0EmQ z!oB7XcG5)>CyXhOk`RZv%18e2=Q{{uRep>cAYkBGPywhgg5`kUQQWk;>cwuQz-SaE+UKK-g`2c1h3R%WU)&&|Jie3JYqAhAcQR=M%MlH1bDF7rzFep@8fyVn0NOQ}RHBNWBLTbiaV91B;Ho{qbA zcJrNJ`rTHHAgZiZ13JJH7>&e98ikBo0dI6`)T-SH%VzAH(}PrZCoFyLqO@@YcZ^+* zq;e2ADPA~%bYWO8#FZ1hPvIwZ3uRK`6X@p@LOfr9&!F3*&hbZ1^B`Y@v08EuFSWmx2# z*x&WAH=BE@FA}@j_Tw3miX2E+8zn^-`iFBn_Md6>2}w(6sz?(&1jj> zFGq#K@N@<=`#{T@13&36+BnY$Ib77Hg>W6wDITuvnA9?T>Or-mTSpRsqjxmxfd^ii zb#Nqp>iwt^8zJ9v)!tM1akj*zB%SNhP>I;JBcKa$?^pn~$FvD*m8}Bu(hYf`6e^q} z1(AaZ31V$7GOI{-!(!*`3=ZHA9>#T!5{$f$l(3_fe>JDD`tz}9mg(7J0taWCBwiDo z%0%boEOl?3yG5BacdH%VlZg=DXeV)CiUkjxt&`!2SQc<8$=bPZE~1wL=u9bIrDPYI z{|v0#LJ}N~Z{_Gf!1Kt*l!H}QQ9lG-NOfA|B#(xP@+aPcG>zp$N4(H&n%R)069HYP z+%82qw~NIi#0wbIBABq@EjWIc*dZu5*mp(l){t94CU7xSEqx4K2+dvx9zoco7F_27 z4$q~`&II5lwV1Q`HL7hqq^V}5-?rN#iIU>GGj?!kkO%YZ;1VxK2h)GhK^QL$^u+$IM!|6IHyi$TJNr%MRCh(z z+rpOVy#o1TKTZ?z{aj6b$p~;%>EEtQkq2IkW;OEWv$~!y9^^R~Vl|ce`lr+8q46^I zB}9_#c-3noMICtqM~tbb52zI$t}FHk#=wj*d%RVt&++ml;wWOleIy@U ze2jJMRwthfqJ|6r8TxNk2UGIbQRkNzfKh1Z|J-Fhy|_qWVmY)2q3%JIN6B@|MXqE9 zCO-^K&$T1GR9~~w=Y3`7M5Szum&Skf;WvKEFrX}m!R-h%;!&@SXZ_ES>d)hP*dA3v zw^k}6v>xW|$_Q<( zp7)8l;76y{7pG`O;BuP>H7TliLv$cPedjLZxBFKY_dH#OAse~bc2A}y&y$y^bGaHV zL@A$|%!_`_1ISiyqJrQ#4{pH5U|ldbXaHmpPH|e%h)68~^iRwTYeYKyA4<^16?>kG z1Uy~7FT|Yb*Ti@unMEy+6Gh}2I?KA#r$Zn(ZQ$@$N%H84)(-`LcsE>nyl6PoP#mK+ zOrO#>_9==CVRMIyGKc6LG*_6}pNS2x`W2ESkr%6dIop!2yqVT<+ z0Xwq8R}nGV_1i%(;CTK3BpKYF3g++~UWxe1U`Y6I*B6h61@D?2B zZ-P-%B?6;gM0|a%9O!1CF?fa?|5VJhN=mlSOJXuCJvRj<%R*om;HLnuTHjK3(;rF+W_msYcW@#su zFFAEzJWp7iqNmU~d*U$A%I!-NRAGaeZHJlW(WM?D;THW;sVg~s>#~I5nN7xbF+DEl z;)ZlP_AL@Uem%dBPRz6MQJ0|$`M7c7-(vPwl=-Dt63K})lUZIz+wXq*84S3y$@{hV zagJTubgo=DQFNb;8<+hl3X?@!&a#AZ$DffRH^GBMlB79lShlja`@!M~fxG@-G}1R4Y=m z`e(pROxUghaFdtgZ(*WT`JCr{DK zu)J>|zdVAbaF;Jlu=s2ee~L3hJ&{65r#pW(n`;kru+>_}t2fOa3&W6(4BwVjHGOae zvO`O3?j#;*uHv~DgL1t%3;%w?FRtfO$r8b#=k-ILOS_=le>Nco{l}<33u?44qLC3I z7rY1*P_Mtu`?!}NkAfV)BTPSNxMZj2i^6vaZ*Gn=Tbg{c-hBXx=V3gZeGT5*UC4%xW66n}%ui@#ub+<2( zuUyyqBzMg9-dNZ>sZLt0hqt+v5@p@b9{Uw-2(yo+g7$+!s$}kMCDa;t_BtnnJ5vak zb?hw?QT0)ENrFg{;a{%Xcj6>MIn|O={(beMyBa4Mih3k z+SzO)qnZU?<`x_}Puy2y=nPadutL1*>MZNNjd|222YKY-maV0;V`gSYx{_duiHQmL zO@?QFzDS%d#G~--edS|ujzxj`O*U~PX@mPC3TjG-KJwFFeSpzHwQkC8WHA%|6v~>a zEI>8t&ftEMCM?o3;&>z9!W56B+I zcZaVm)Jy?o&_8W_Qa=W^O30yahj%-cd8RLiZ3gV6&pyftkW%yr0L&1$$s*gK)8uN) z2G@eY80&Z>I&}S*3-jnX29^H5s3W)WYq8gMU57MnI`-lzrLDSABhk5jn%-px*xkd$ zr@FQ2$y|e5Ui;MD%-`d7Zv$t~q=kP9@3J(Y5kgtU#4z zq-Lq^zs)_?Q%PK%gjG^~C3xIUf&a3jQ0OR)^AyqJuzH{a_g}X3A(SoCvSJI9fEn}O z$BnruV>Z-wgL>Ph$_MQTng5dwKEOIN4}Blnh0kpXj-UVEg6+If^6hrcYFAzsomrQb z~A=kXU@ze>9NVY~=K>U_}^w0gXS1bB-Q*)4+q;SI?}F`^~SzdM9Zx2e_evp;bDkErr2wNkHbd;edGrm+7X@-Fn> zExlf}La^&a7ir>9ywReLj|NrEd&_7g+ zMf7Lhm#jqgnS9D!ENczgn$)=&HA;_7BAkO~?>s+lju zlz?$2MJz}=(5iReY3Q$RnMV9RbllFLv4~%_=zdLsqc9{cdEVpH%JviYY3Vs7f;CW^ zO$=Vn72_RWG)7(A|FFI{jF^*sw~ySc`apt2zvqj;H~#c_{wfm*t8c-sMjl^h&hUbd z?q23Fkzn1W%`yZ4^7Qn=vKW939t3?aeP7|_sQk7`DW376ECL`ke%i|E}C+Z4M zXqbEB_Tgj)@T#kA7sq3L7@Vv;ztu4HQC|jo!x$p{#^r)<3?o@pj|1Q@XXzf+ePZz- z45c@NCo9f>W}l+5chue%dN}2#Ff}gg!SrhWw_$q2I1IPWg2kl129hRgIOd?9hV!;k z@p$<>8996xaSOl&K>++*Mvz;rJqJOE>kwlbg$7acMC6Ae&}aNg@L@PM3_t$xt}dij z?9+nc&+>!yKmpZ@r5~G=RH2JQYFGgKWRRc6X#Tam>!TB}61D29YX}*z;LfN6+tSdE zD1ZV3=Ip8@E>qSxO&3BSnp6ht-=k|PP$IPRtWiYjO14073tU36Xq|izjC9~(jC6B& z#R}$lC+m0Cf5{6UB1v?DD&<6oveF|y`_+z}Dkgw9eJgf4JOO2{T&_4tut7I()FCEG1 zO0(~Ca=~+jYm|L?-bB_Uu|y{I59cybU)1Fvtb_;QZ}Gji*bppRo1pcKrJrT3^@0Aa zccDytyXAuM$kV;l`7q8)^WU*6Z0`k-zqh4MH~B%{k&>5rPLUsdN6W=L^;?ZQQ?mS8eC2s#c>RAgodsLe-S_qB zMrP=c7#itrgrQRbrMp|YL1KWRQ@SOkySt^NyQM)uS_Gf({rg|f3t*T$XYaMw`t0$v z1OPQ4mt7q8!o0n&Q!4`Ri)rZyaT5GgpW_pI z`*GhNm;-m1*?*7n6Ms`_9T zr{Q`A3iulXnpzVZ74k7n~-`28j$;$2*^bVL3)^7@;8fih~^~ z1HC#eFdnRvTvZfB(fL& zL_P4Z!v6r`UtDUFlKtY!&m;*_^BCI$J>3JLh|`pJ)guO%+nF&ll4rdB_gLU{?{0@_ zTmJ`yb_X{fh6CwtP4-`-rXI;-5u7AW?{ENw@}Ry(&%5P%xP5EdYc+~0;+&#t0UgH; z49p~hT?C|lCBwMrrmL6nM%+;z;XY+o**8^rvPD>?_}RF7&(_TjKPe)=%Xj{)cLnZ` z_n4wivInbc+y+B!y|6}nFNNdq9}%42dmlF)U?`X}a?RLWg=UM`_8;bKymMCUx?>C# z)-GB;zf@8R+E1!9@(_@&9W<{ruen<^*L;baGGi>7S0v^1OQS3X&P)p$)pT6H6wYsK zK5w23cE-}0Vq?Y`VAy@1vF~YzW z`j&#Uv$x3LN~9rDs8h|JZ!T6%L{R(+g5nbRD%YAQE#)o5iPA@M&Is;>fwkcn~YUXnpCl9UHHS%aX7mk9oV!)hA+!^%p|R z=C+15DnU&zrq1X3=e3XHYjMGC9nGGAAX?x@ipz5M9C|d6T6T4s+~8DMT`d(&K7US> zi9dWgn(|BPzQNX8>YP&yfAV5i_U2ba<(%ZqFX?Hf7aC9+^ zoV%yTq;diLxAN$p7;O%r3L&Yj?1Cq*X-@x>)yBGvp2{130?Sa8O4TB}o+dj5e}4XD z1W{FG$M>w{7cj-VsQ#aEHTEq4X;k3mIlYVYtw-f}QHP6}iVOkQuVapM$GZ#OFl-i& z|0K7KcCXZbfA%9RZyu6w?*H3xveo7h+1a+3Bgd;v=dT`n?2^g>=?h_b1yTWinMZ%t zbvc6&xeK)}x3g+y+W>eL=pDvsQLOjyC!nkpby{3{lq%$?Z9OC>(5QrQHP^DhT{I;sOfQYSkeOI)(cwV}B2ml0{g;I&1-OV=tD(CU_oeoPnYB0LXCZC_EbA zy>k!gwCVKPXLoEXJ+B^=zh(J@0YNp5{0|FEO6LzIFP6i&BB6uDASmgK-=vuhh*UdC zR`jyVnJQykMZA}L*cE8$^@iC!Y~NZ6K;cilHB;p0?bpr4!nh@0G0tq9fVi3k0XpnF zyDcqz7C`dhJH78A!8V_h(=#=NAq4{U1W;tsrj2lbq4=6Spq&bhe)NN}A+ag!ZnwPl z-|El4eeQbA|MhfE%E#dvmtd#@BfbD*w1&Dy0b&SEWmqqHj3p0%0i1I?rBJ`!1GBXJ5h=Qo}%i z8)Cu)NtRUPgXuF;opp{61z(BgBh}(980s2KERih z#lxjseZ**qx$+oul(*1T;Cb={ZyV9m`d?w}yCvuvxw`ktS$#Fk4^d z$9s7p`(aHz1lpnKXDEr|`*i3PR}nxhFr{;9Xm#^y{O{=%4M@rqa3c}$IU_gy9IL{o zU#31oKQpF5xZ-C^>o-A1p3&~;Qln;tt9xGI@4nUA+NfQvn*m-tzS4Vq#DYUF@}>FX zmAoYm5njOaA7@r$iV5fy_m)P%06 zfi}k$OW5U^roN^|o77tKcAIJ%?;V4U6c8CtmBFRX5-g1$g&Jle6Jv@2aFRLEM#~l~~pNKoB!M zWH11zxhUSf)DZDGD(C=oAsk}@C@tQZ%(n_wi@iSqc8TlEQhSSLjxa5q^sg`nL&MO` zn*4J|01ettE*!rG_);xRiTwY&aOWjsP!P%4-aGAhk#Nm^0~rRcHIs%~K^1IG8w{-g zU13n)L_1`RP|CbLWTx%JivYRO`ZBxB@HNnn!h&^M-eI`&y@m{$YY-U=q2>kT?Shq# z`x6!%U@0OXom$qmy1BqrJ52qAlM2W?%hH*ul zGm8s&J;dVkU_^wD1R5u#Z$&CbrBhhTC?Ie)b4{ebzp&)cYpx!VK|w$|5nV$&!j1QK z)pYCvGK`M%Ey)L1%?5xzA)EML00~^dqE7zi2Rr$P$=tvf^tJYnp+{H(&Fm$CcsadN z{OY8qWF4PObTlSmGO@LPE=quycSjYtTJ~YNMoOVkYH9Tnj9Jr_@2HI+;=Cj6_3+-@ z#ITRQs+rTcC%|lbWZ)MC+-;DD5V|T)|JTcOeAi58sv(8LP!}VTm@$gaX}9anoL+*b3DA25^ z`i!QUKE(nl%2}rM#~%g=kcW8v*zJguatd|GoPx{MKpL7sDFwlaU^3RmywlHT7t8=gZB2mRoRLWlN7g;*}s$ksZ4x+nA5vC zQqSh68NsvD|I$HC_F9GC~2Oel0ZdZk}lY$IY?c0H%qKG?7w2E)c6guhAQfc1HzN*?uXO+|M&qzhzaN_sC= z8FbIx9r9UJx>p05JtsZXOuV}|VfjnHJ zf_%Pc1S5oA_6Z4e8r94$@sq)*$VGRno_0v&f)-KOBrqZ8^s*vhjp3YzTe3_eC{lx2S8ggcyNbwSHOw6~7ox+pU5~D_o>1DI@{mJ^Glga$NDsY&2BhuQbsS-p}ZKe?G4qo`O4Bk|( zEgoV>FR@Ma0jJu6s_4xL9ew9Al7GAA68q7Byh5TWn+QVZc_+TkBSJ9xmAOo~T7$&? z3k*XB1bK7aqy@MiEpxHztl4X3+$U+9UZV)zc{O5vK0}TJJL)Tx6Da-LXzfxa`MLmo z^Pu4w&EOAvn4*{-EZB<_{&O&R!WkzF*f#tOAt?A6Glv2vh3?tEr{AaZa#*z%NDPW}q zguw|rHEb?|vp?$7&g?t-9;(kLoB-ROtEmY>heP7*-jxX_lZk1vny^o34^LpZA*C<; z6t4(MAI=2$MA!5ShRkK=A?#oB4r4({Y9~dwUSVG%Bmfp~4cA5ub8iow$th9AGIF}z zj_e^tE>m(9JS${LEM7aOQb?erjuEGs9hB#rH}7+8hC&H3rN@8iP`dac3+X3m`I`rL z6c^Egf)P_`CHc9YeZtxJJJMA8TBMOL#NIRC0+3Don@MHr}jwI z7H0^HtsohYM;-S%Yo;rf(h2a=G|)}@=Y}31@X+cFjKk#kBp(XU*qK4P`oI?MpG!J2 zBodwK>nP=?kHqRefVd(S4Uhep$Z@@FB)9cLGT6O7QYAAyil&zjKbiROuOT#qp)35I z!N7oSdk}ze=tQFJvyFmnb3oM561ilG zhnq_1yH1)1Q?QYF%+lF-ml%O$?MQf(DwvNq={3RO)X9A$l9-Xnyz(z<^&h zg%bJ|5eEOOUg;0XZ8WXg3EjoE#-$c@#RN3pe=77gksris=C!g|o_f=52?akK=Fg5WS%=Jl-5-h4flr zOzq2=9m1J=tN$P16*W>%aM_`^eu$k$vKA2-&59~DdH)H>@(y_~o5}64{h)WcL8EfG zCWf(r)Z`%)FGOsk(dXiY+!!Vzwb*=386O_bnIqx3ZFHo+)>`BVm|JwJ@}2u zLRe$42cd!VcY6EVFI626;`+|(FsjH`WhkhBUBs@@D1^^0I(%MF=EpQ#fF)e+6kpXx zhj3D@RB~7!Cz+v@k3!p3XDHiUo;Mrw{1_NxBX8#IBYaNk4v8_h`u1E0CcnB9PAUIj zKa+vP(uL)IhAO-toXZq2<2Z2NP(EJuj3Nqvq2SFHm&Il!ThpNgety~09&gN&kIJL5 z6dM>CrJAjTubV6DEYNp*vOY&W%i8h5!_nu2ctoekzL$y0?2Q15F3@aAF#~qY;qhIL zU$PH6{qhQBL0nvucnfrYPHGw!?)si4mxCw%{E`tiSlaeg@5#vCAtbYp_YMh?9*DT2 zeqD_l<~B_%_Y>#V;emi<|I4_&A@~z$Lg#O1Z6)I3FnCTSd9oSxaNhl)5a>v+0|%-N zp!A(D9qd$5Oc(wSz(@j<5Q7{;jP4JO9F4$KS z{*IiSZp`2%WBJNed%V!k5tHP%P&={_w5F)@NItWkBqV)I9?pq!)jfDQgs+)h%_ANZ zA=it{7YHmU!FR1(RkT#wP&sY~ge8Ee410K`5f7pT34l=e$>vBLsdX@@=O8D<$($6l zUh8uQxENoLO!4j}b-r53>lc*qxyj2Iaex@+Q@P%>N17uv970Rp18)lK=Monmnh{*W zZ%;wMc?wc{M49+R1=r*nS5$%7#cl`z6i9mSh|U5)}s__%=A7H|~~0bsD0? z&jw<|taoXZ_|Fg2MFNh)o)sBm9zvbRz5Xr(1F6$1PewcV=MI-=i4nM+e4j+Y9R|2l z#c&diw&}e8_0I#lzr|Nz_JjLDGdf~*tOLUsW@633VntK?8|>nQEq;0}?EuBux9>2c z^;O_)kw4lI#-kR=y}R~5dD8gYqZGa152MZ{NK`NKNR*IwU%;-j9vu-9=Dtr)6o(c< z^4uDv46I#KLU0^oxuZ!1wSCt#P5r1gND4#O`dH+g7qt_ zEAL0WzWi~b8Hoo}D2lSb z09@m6RvN?1D*MHtOz~4vLDq9H6ix^=X&wnjc?!vz^Y74YP;Ha+B}rDPKbJ4${lg6m zGL>~2d~5+)tAL|(5;>$8QN)B-wgE6T?$sR*0uv7s`a67F(9)3t#BMi+Qn6d5i(^J1 z_#oQ<k5o^(1;^X z;>n!BK?@K^1WewWYVw)1J4h-KZ!|ov&RgIIJlu!DZj2c>9i;?6TZY#9K>8e)pTGI5HcJG zbInJpS{$v&9qn)lFjfGUj6 z43Dd)H-fD-(h|&Mz1o`fGUuE1Vt%g4V%HsgX!$S1SNcXq!|ctl+%X0y;PS*i-V$3T zGno>5P!FOm@p}B7?(n)4Y*sHUVRk^7VP7|mwnnYirw)Hf@ipL@D|&tnuJorKIVEd!61$kbP|icqut~v_yb)gD1yDXZ z(pV7sOqs%Pz;CY*pJ3MO-pkl-BFb2w{rAL<7f#N!U1x3eqp*6i=GEeVu&j)LtnuHd zP{%~+4^y^0@&zWZF8Yh}68v02Hw7og@^u9!fhFgnWyU}TfZi=#lk|;oMJ;~chMyYf|LuW7ngwH-p=fA5r zJl`>62S)OmwxTPVmpUw0d?)cVFJQ|FVBE`gEG*5?L#D|mp@J8{6#G!0F0{O~A*%a? z>Wl6_+;+ztJ1l@S#7SwYcq*(QBZr;G_}^Mc&pvIf10$uSrjl44nEitewX^~SNc4zw z=&+DZ6}-1bw!!;^(1&^GHUO-=D3QInx%Y{4azip41ht3x5&=|N z)JCIq$RG)US5iqerUWpdXQ86;w8OHQstqL<^6N6}o)JHlSkH%9C*0A8{X&Kn1Y}~M z7)xw)ujB)J$_)EYIw)FVwW7mjBc{=AsUSnhc8^$O#h!K2*1w|IW}tksLi`r6zG#j) z3Ca1@;Ib+pWO#QCZNP9NF@R{+usaBFLFoT1Hzj8owsVxYH++7F5lIDCnOykVjn8Wj zFeoRFbgeC0Er+X2XXvJ8!~p?=u2}#D+~v>x6k|)h$Umom^yy(G04r0;EK_{= z+qoLLxiwS)jGtCSlsDsJDZ+NBrtzQMBq3&bGIpjabDSKNc4lm9Nb!<%2j#NW`)@5W z#OjW$hG0hMl-tEO=W%sxxio3slcq`ycs9q)Y^K@8_H;@t8|BF_3F{b;@_gMs3_N(7 zL9V+R056}RYRmF?f)Toeax5{+G+gQ(=w@y_g2#UUs{SXwFOH5n+#|}f6$*Ru0d2bZru$_N%Q>;0UO$*BX zjEweCo+k1Ao5$@mfxuIK;*UHt#HAgh?7za-Xuxl~z!JMq)aBujv9$3Po# z6(}o}3;*_+sptb{#XqM`hFib?oEyQR+{S8q!`X$pHhRp1i^VBH`?%~n7?9(^e%o;X zsfSB*^b4SRxfTLpHc>adIGv%~rn@Rqm*0ou7G~nIm|e%bYa)S(Dx+w+8nuMG*tvDBNd`Bs$0pYh z6{I-2d8eW2I5o@#uz~b5_>Jyo0dHoOsD6hh;%t)|?Z_*Ucct=W1TEs*O^(iRPZ8M% zV0Y+p(Oc@c|2<>12KSBrg%qchul}%vzvZ?>%$GBvvG69Jg2g&IFXJLWwC|ThPu>T9 z#i zTf?2K2s-$INlJniP<#;s%RjdPBR(LQ)5HSl=`Zbplg9uu>xNjAM0B1<&;CzBHzm+% zlg0aVzKIEt1ZetzqfG7uk6F z6AJXzP7KH&n{^e8x+DqPfxkU_x|$an?N>+i9^3-o9g1#x!@OU1?SG%}F-+y>;?2Cl z5LuTLUZ_-Madk88l<3&UiHp?LPH5++f&s*3r8;?xI`F%TS@!6VE7urD3VQNhDsy0G z?WziCPI4!Rg|3j;4$R@UBD=b(B)+n07?+^?OUd`f8^kR1A`0 z`~_arZ8xK?V*IsZ3yV*v4UHc3Rt_M;K3c;o^ac5ujA^a`v1t$gA-ndNqg+jqwK09X z8F8R9j*gsl^QRt514LQ9;$%+?7vL0ca931JR*>RYv{jI~Pha#xe=T2X6FqmfVb;si z9$_wNdMMr+DLDW_5zI7GDwcv1GTHL`&(vB%=*j0B7j<RN=!WnnTuQe@827dYlqcbYGEN6gQExR!;hjSAk5NqL0)hj6 zp>8f+43NgP@5rEH`Df-Ksz?zdwN;bLMXen70+j8n-;z5^{f7_CbWjgU)dX!M3K zBn#IPVSM>C;jLG?pTI$TPN$iIcZg8FQ5MoJK2NtA`~!%GioVx>>KIz0e><>Z2L+E= zFL8{?0P`$5fWMmHjCdMTzSNZQZ?`|29Uu7#XB~C*>wC3p4Mi)^m8(({q={mv+VISa zu`UYEeHB-}^hy~^Y|iw8kU{Ro3JVj_zj-(mH>%Dyj7X250Jkc*sR&{cp+={de| zfK{M+0MO`(1*BKoM@=`7cYDLI9+oro$+tr~O`j#&b`I3fl{z3f?jsu{$2BfsGND#I z;~<@_Gzysq=gRCs{5ac>9-Y|8DM;q4~!G ztCUl*NF>|jg+Xz#m`hptE0I0V;a8|HH*IU~! zVcA8>QFwgL^S^{DhZF@6rL(0{@Deqc^iyR{szj_Ei}Ui0=G;9*gDHZ{t_X1`Kz{I- z-L4;0oPafPud8SpBGIDKLV#UxyVWHB@O^zw1Gt)P`=J0H10ZO;JvZI#s=(hURoQ96 zc7JPLCp$m%isN^>V~ly{Wn#ZQ+Xk&E=zKlWK4`gg`5Mi>ihj`3PqSX3Df&lqSP_91 z=lhPND3(5w{u10L4t0bilgIXU6E*|iE~av5$Fg()NiMdBG`(o#ukRxsB#i{Ey;}u^ zcJN;hIpMs}3(gY*D*`_dKB3=ckehR;r7xz_veg`UWD2w8PNQW(FWpX`U0=wDf;1=_ zcN^UdCj7BOEs-?|ONN>@U`55v<%OmY@;5x^{G7W9OT5#V$ETy|T+sfmvwyj2zFBSh z(yS4}beQnNjG~4Z+dR#Qt)Jho9PB+vyIXg7Go1*te&lQJ!O@OSE_b1) zFq#idLV=I&`Rgnhb2?>DCs45LbkWeU<5Pq;bd=Bg^?PSAamIVfq$;NnR+il~hN*u##qzMxz`3HC3 z6!Fvt(`eMef4E5^j(x2kaXPo-~qXtdy7jFz?UeAK%>|3 zbBx`#Csa?`A$?lpu^y5un4E&7P_f%^l2!^)5}WX|n;GcS{Ri5GZ+NZ9emT$utcF8a z8d7k{zGmcp`ZKz|!kEYhNPy_aC7)ZbCTwz5MBv&xNMBvs22qBOwv;4R#fOg8S2KMu zrmHv5Udq=@iJ{sbp1vWULMMlUaIHkrVEFcF92)JWdBqeAM^}W7?=NGk4LHvz&hq2N z=P4L8;9sDf^3%JH?7JhvK}VsKuQE9=10-w>Fu37Do$>;e@Av|?tuu7m#6EKe9gYZ0 z?Of1s)&2toA1Q3M22zKa^wuWl!iWwz488KV3Bqr`#?+Ze{j>z`a6L_z%>|u;@o7E; zNugTSrOzt#liAjAiEKYnIC%zIoI^hcflv>~lG5>^w@3awuZuMu$|b6hA?<$couD!B z=JC53Jo(MbII&t zk|2Pl^?>mEtTB6>T_3XAQ0J4*Kcr`bug~{7DLQDJZeZ_DD&F)MNC|ELRG7JltDxk6#Fk&=p#H%p8jIO0?tM+L8oDpPu1q`Vr~y;b45VX{Ufpuavx8+Rn9uNIe0| zW?inF>E&{dzQ3wQ5#8zt%WHZZ8)^y9<92lGV>uGuf<9JI-4$)UNtYy@rO+XVnlm$D za`-rmBAHv|W`g4f7PpCj*^ieeBkVrJDzJPGag)v%>C9mm2$on!@pZhGlj~gshW^jc zx5ldW$f-VWO?SutqA%4tgg(S=^b6qwR(cfcV|*r+MzgSX=3TSxgWY)Sb3jdDm6`?e z%H%$#EC|_Y25w%sPAbE_ZAt|G1b@69Tte|f4(d8VAzanNZRL)t>|QAF+IQv5rm^qx zaElTXSHl+Y<#>McDk4c8y03kpcGOi+48h(SvXiuG(hXmHt^*_hX- zKV@K}D6)E^my_mC!LSapQbU_?!r~Hr#E^pXx7eesv7#iZ2{y$oAAT8Mr}(I~*KpL2 z`x!UPND-t3gid?xCx!$Ju_W-xXnJY7oux9($>M*aa=A6j1(H0PECfYA{x=aNaW(KJ zo~7ndlu#FEvL_ZqNlZp;C}+Rs#m%Ed`ACmTI#YW3pch;AOc-)-ap?akL!f@Mb@Ryz z%o#5_WONJycFg!Cb1*q3B=x`PeSduiSUtoEWQHeJf(~8w+7dXR?(~|1+$gbNwg=zd z{5LtYtRBB3Pj-aZ0YDIN(FJ^;-T+AeFHG(Os(2>$ljU6>Irv5s1K5Y+SWyfE!JO?* zUrVqxiJlmMZ69zpT&87T+bTq*wJyt5MA~~ZKG+P%uOlH%_)1At#iq@08l*d4!G81( zy^L@W#$+u85pr{AsX0?(F_{H=`AN(_k|w7#_rQ_+s{HzLvLnWI(4F7`{ygQ1!I_5G)Mi^Vai$# zz8vxE^9{^~k)1qL zG{Jp2fRG6iZ3jRK%^VxvC$DT{$rHJ#=d5 znR)0o`y#fQL@b$_x;U#5CNIHp6IRZkMeNC|=~G-@IgCY05srnlkMwkQQdm-MRPKk) z=vBt9!T033TfqOgiU&HC;kiMhm}CKk}g*ZuS9t zYdy0pHOl$Yr@VA^E{o_B-7zm7xdKvTE6#)4aLUuR@(mZArD<}A&0Fd~45@3Kl3@bD z5F<<5OOYyd+03sbc&2w-O?KTp_XfJm4+=t8yaDADZ{|^P^-IE|;tHu-a+(SU*jW^1 z$lq(j>OKz9{83T&ZzklBK?T6;HA}H$q#4fm{=P+PbQ+B+dBSq?smWUvH4XeKmiQrz z8W9QwS;F$vvo7lba<-u=UMC`8w zNvlcvN}ikQXA}LR^C6j_O0wluRqmk!4}>`By`q>JqYPdT9)Xmc(Oc%$Wpv&!QwKw(Pq1M zx*8rb|L!r6wDoVf_?VJW_Sn;x)G+E!kHD<~|I59j#HMc>Ij?J?EsvahpC2+Vxy^j- zThBT;PBwK6XQNtbA8t5FAu;VMVlFkq<~CS<0Dc@|UIdv$4)%Js)@|8OQkmU1wk#W5 zYOA&PUj|o-m9bE6p<0mbTLd?Q4_w)lv;=0~ae1u`;40$ePV_%ymuEhhH6QW_vKlRN zwaIdP52>)?yi^fz9JjD zf6xuve#3B9m6O_QUqKw2@#3m;j(1|aG65FvKkLa#n(^QsJk?qK7| zu4C3GEQw1raJ|Wv{4UYKC{q0WMuX~)ZJn^kLgY_fZ9P4-z_!(wz5W&TI%{WqP}$xo zGsSD1;OL?Fi(RcJaL`RzR>`<07ykg)8jnUT=9_r|3fNa7#=kI@u8@!H)u z4(D&C7Q>>Kc08Brv~3OLA-eRyMhM7GTN=F4m&{P!Hso=_LxxW{2T$ymv->+g6sj#f zyA{*$5KodY|$svfy*?nWTS)Q@6jPjL6^YH|)U}mZV?(%If~) z;QI~m82H=kf2}a$EAY1N?VNT&it4K7{FcwQt;r#$$E$AM0SPg&o3@@SmqI@T3_)uM ziGKEnzbMaRH1Lzq0GCgfvfy_h;ddMqj_6kBqMwjK)=Ap);d@TVqwlGYu3I{Af&o9s zA&1_W>z$=ZWE6rEkzoE^ZH&cwv``AUwMUZ@=b)AI_0Q0=WjcRLLjPa=Q|l(Z{bIm~ zk_P|=cgqYU`1XbQX8-Z+{6lbT&UvYHw&ShZ=9vyG1ni_c=={CNnxX<+xEKu@d?t5F zl2SKbFbXHn?sDe=8&MJ=s^M?pX7R1EVpZYO;-{9=8trGZ3~fQBuVqMw!+Z>p%}Z=a z*OeY0GKTxSS>1WQGER+${J9Hp%W&MHIZ>}TTxvvO+7X`!Tjg*+S!K~eK9D*5MI^#Q z#n|}n5NL3_mnv~Z7SX^h<+kS-Of$&37!6@q==#Jhm$l*XQSlaNyS)!Kj}W8EIlgtf zGD(pWV1Bp6>)M3|oras4XMu_F=ai~P?TQ@8dH)`D3ZR(w8mMgF=A&uK59yz){q@~+ zut$>cYOPDRyZX@>dYw&Jam{h-xTWYGRQzS7AEu>tM=p^j15_yR3!Fxe{l1W))0=1y zJ$b(oY27~ipwjFNjNRfR>|O8u=(YzdJGg>7AICydY@j@p$K%BFL;8+~&;sHs>_iN} zfiNYTsvyJ>W3-hmCA9aBcR_ zGuB(@mcvxYZd;yBJd6myQ@=A zHN#04jndR3L7Nyt+q5r1L>qC6izqiV-wC}>7B93Z^jIkz)vB%euU%Q|&N}2GmND`} zOxk7OR$lrYnhvWCpEhbFDWH{5VdJ8>qAI%oPeqOhuWLca012LqoSElz9z8Uf#gT9r z1ya?h{5-8f4?dUYRTJpMw*tO}4h-DJzP3Cfr|x1KNVm>f6$AudqzNCrgbPR23|Gqb z8azX!gM?$v-J)f#hp&F#gVG!AAe2LsKQg?)-5A01*(>n3q{;jFs8W8t3QTi1!PqHF zxyJc&f?{IC4_8nncIHoAciUgMSgnw)L_wNDd4bv5r<2K%>5!;wMInZ-qwz(b(IA&G zsG9vewrz(1p8=;>5z`#|sx1RRNMW-m{m6)j?jk|LBmuLXm4W>P=$qV)2+;m}&?dx& z0HYcTiO;4MiFkti2qW&PzIecfvZfaaeHcztWl1Mw&1YDZ>~1Umz8IX&cjShEF zkh|q^R33-R23OWlg)l*|!d%$Ef+| zWH%?r+yR(`QS3GoQm^d)CNvcwE#jKqRF0#u>Cot?7g61GAMRD5U$4{}E%PjR#kM>& zHj$K$Q0f=i8Zyz?t*e+*d=i%#;i)1xQj^D8%GH>5&u#Fz^l2l8%&OMOuS$zO_Gr=W z49HVR&_;HgkyS~^GpC0KUE%OM&N-Ud!>s8Ivh zt8F9+tFp;s$0zvXS=++<;AjetpO{|l@*-h9&!nFJeHj)k zVl=o-nv-koZ2dkpdtu3Ut6Qw=^zNeM4LE2qJ(4@>+nd*2Jo-L)pb+%kXqqJ1m;sGE zb}`Th3e?tS_UpLMKbo?biP%7tMBZ?yUPmB8XUE%L^9651qxN9Y*?Gil>cG)T$QhPl ze)A*jPj9Vxyo5D{+X0GGk*m)sBp~bI^}OQ83Y&2&4~@rXw0_?8csHE>}lBl=TwwSwDK?1?a+w^eU8 zBvuD&J0NOWzI!t|lJM6T-LIoI6V6ez`l#fi?rs{RK5~o*)7JdTcUT<-e3~8f1ekr+ zj({O;3B_1!b4|r&Ggd{xeICP3w2S zr=JwEQ(8QTrdH%aJp8;wW{o+d`v>tJQQRp4#t}p2$uLj^dG`-~M;YPbXw*K3qUUs4 zhn`9qwC2U@?aoQf#L%*0#hAAR)Utb8g}fP=MM-S=OhdGG#vh!kiZ^&eF}njzkMcRWMYABIcFp!tuH=uaCF-8`Ej;k~7ANI@;U6ZI%X( zT=R~kcZ2QERa8BY(_>qVstN5HV;yr(&D;6Qz@O*`A9Mx}$84G`^x|1Iej}BCJPhk{ zs_F?r4D>eAPd}N}(41og{Zw{S|$_v(5*j;0E(4!2t#rS9eo z{;BU)Y4*d~ywNR3!~ zSlW_HA}9n>I#~A9%lY{v+#wn~mm%gC+%RZnBY`^Rg{XiyREM~Z(WBtkq<1MTDx&j8X?r5#5sF! z88a3XA$bjJg~i{k!B)*IIR$(yyoHg!IW$c7*fv0=&Mw?McuCZCNN2?bF@&aT)}n=B zQVX6B5UkqE$>(1x@7igV!EYJO^TQ`pdHU3&EC^)P_N%m+kL5b|?He6ca!H!W^Phag zc{PJ^S{1Rs?*!?@*#8J0{_35{q)K6mPC{oUsH5X7cxIiGK{C_-LDK(mBPT*(&M?jj zBWkCu(+ z=q0d0zJ>&o+QrX;y0B@w^jQXBWS3yy9CxGvWs^rUHKopG5)XcmsT3K1)-PkiR6oah zgI_=^781svK{{G$Lk0fm?$+LSon{B))c@3FvG*N>d28-6blUn>vnIAVb|Hq^MARkF zcVPlrKcMw*Lnp1;yfHJjneE1s1uvVJ4WuHt$tU%fK4U-nfB&cbZqz!|hOmLcG&1@z zF#KLUiS5Od}Xg_||aI-Mi#@E%q1VGu3r zV&@m{n5=dUnd8tix!dnHYj6V@{^xqTokzu8`YXe@WeL4l;mz5>woxhX$Bq4C_pbZz zzfrMCh}ky`ANc=i3@Y3UN3TFoI)M|NHEGlLG1wM;Y!D$1Gv>%m@20hHHy+-*PS`)> zc&?5mRBByBo70lpfGttx^ub?^U$M}qynS)bZ_j@!pcoW)jAQON%V!K(8*kk~WL$!xayh{E!o|4gR_pP0A0LFj>{L zUVR%8_Yr49LzC(GYmh(L%H#gV_ex~N_w-BV(IxV0ZK2e;;33L>lw*DW9FAQxxv(!v zb{r(1x*TXTODGn$OKp_y$$pwQ8eV*7+ZMZV!$QwpOCdoKz6xCqz2)~;*-k}ob*A$m zXe_(@hOsGw6RH5bAx+&z-9PlFsm(%)FDWozzcY%#YC!GjybU>#n@rJ~mY2*p*^##{7m)3+fTxY(&R+0`?{9-ElsOpeF#{eQB zQ9!FU_V;EM44XFi@o-#a-L4)A57~V!&nLF>6olv|vG$3!U+Pm&xgT3;xsa4e#XpV% zhsMU%4uL@e04h+#a3reCCz2od{nI$%TbT+Lr@R0|r+x^Lj{ls8tiYiBs`?pGNE>Ev zSw|RIVV%yIx%w}rTlZ8Au%DFADe9Ns0=CN*S~8D|cxG#%n}OHux1u`n`W!Nb68=AY ziKtj4)K+O&xN(tAKM>Mub|q`qcqyNP+>26bG5lsMMTGKgs0w9D9?^}0S6crtAwMC; zA{}SK6U_QUBt_9LoCQcEZ)k3<2R)Nlr%zM7nTHZ>hvI0T_``;aOkLPrc0E+H^VW=c zi}dt`>kunq;EWlKeKU5O>KtyIZm5Ok&J|MJwAz6Yy^wT#lI8wWiyuYYPwjd{Ic3)i z)VMQ3)=IVI+&!oW(VyC(K64n*4x-PBRtNe~`P_7dRk^luSIW-mEuDt65pUQQ~ zeU7DI%+3mgJIvd*Z!zJdlMpjMI1@M&hAD(;W`jB5?J;R|MBpbN9V#D#9 z$7ml^UUxUjl)9R(o*lC39-h57hynCH*$>H^zVsNKcZ=6Z%N?Yy!k=7C4U?`Vwldn) zK!_euiZVyfgO87sZYngikEZ8rhD7Yj@Jp$)6^;kmMq7yRu1c6Me<2ph&&T`98*!ck z!pfDBILPmVl1RHB`tjbf{;r`To4#Q@Pwfr6#(Uu`E7^NcMdH4zetA4g<|(uU+4w(x z=Kgh2XBpG+$pzn|;peIpD#xiD3Q~V8)e&Z3i58{~NYa7&6)@E9qDGOnd{w`meB;x%Bz8H}kFxdsq z3@TEi2`;G3_(=IW^=0W#=G3p)=RM2g=d zmSL&Uv#D~DlIuBEud4IX8H@DiZ!OyXtlIZkRDX1Gb|QL{YUUC5?r2pXBr}F;M3A=- zWl89_FGFAQAQqe~K!}~z`S#^@o;Q$#URX!yM=aXkvv1b~rH7=m+C!@^6rY@oD^Thp zWMP}WMeqB03Qz?VSknZ&eJ3b7QdX9h7@z%W2Fbn)nRHYBoToY~m5qNe)>Ms(=ujr{ zwjAFz#LcruzLmpfVF3BK$!+~T`Q{cngdNso)JgpRX!^>4sJ^dj>7ir@3CSU)8zdx# zZV9DZ>69U)+d;ZJgrQqXhlT+}x=UK=6bUKc%kTfZALq`!r(>Ue)?Um1?=T}J>VmrU z$###UdcZQnXQg^2JgkVjUDn36{+<$CZm^~q?d6x(1+V#2=X?Dw#gizvw3B}ke15-W zNqq#|+5>X3Lf_H7MIAn;M5W6VSe`=L<0)#N{JhA9zV~@#^$7WiBkEh#lrGH|w}e~% zqPt09n*u64t6GDBtb8xVOhw|XcTs#H?%s_Sr#M%~Ssygyiy(Dxqu$)2v17%&!tcT& zvktlqd=W-rrayRK-bU9nt;o!Cbn=vyHZP_k*p@tbvWMKY9VU}78gx?8xGmc;hW{!1 z=sg6c&7%z;?;Ej28uprn&B;*_+C<+t|Aii)>C_hYonmk@`SX-rs!~k1%l^S4X72(B z@r49*#C0tnKYua}=C$f1GS6@_bQ=A&q?*vo?){}d>OCapBuADj z)J0kr@qRg3jG&>GnmhbWboGkw;J9El?Zq>qm4A_BP!TAF1vHjoj$EG_PrE<-T)GjrEaOSXoFs_kzlP5+ zlw1_7fZ5%KDQyMQrGf1*ddCbJIo%plBOMyAEAkzGn^yE=jBDGTJ1%v<6qdFqqU)B` zblKu_y^7)=S&$XKqm!fx#K0!J&zP5r()EjhR)HAgZ}2mSI${dfv{M~H{OQ92|3%Qt z@>g)FHl9-=<2!Fp+JiJ*dN7Ox5Kb#LtdiB zLw{7c=Akt#GvExd!VZ11YbVLZ80e$fsneQKwBJOLNsZTi5>_+Ii#QE9D>5751oNBU zPH(j_-GPzbE8bsuC{(a&#Lgw2Zf=u|E|-G?u@pB>77bj(Na7ZiPFnQ$=I|>mSk}7) zySK>-EGyTIJ9e#4YsJ(=gVaU$&{H3ux5j~L&t)p7Psw!3byj}_rQhf zMo7dcZiGeM8*4Fi*B8{(f{)^~O0m>o*C?HKS%Q%IDBe!n5_k9v)75^+> zVXfRZQ6bf&%G9w|l2_As5roD8-bJ`P{u{dp!V;K@U3Y{*Y0?b(dg`{p%ZP;|q!L?` z^$jzZfB|UuQuChxUiT!UIxxFs97sHyuxT0=yqdPALSj7VZ_s~Hn1NWF{&BZxX!-<7 z_nAoq_4w)Y=TbAwULQBp7Y{v^BB8rIX%@7QtsnH@qNppFjyufe3wiX0bN(H1=$2n? z0r*cGA272qmYPjy^UVrNY6s)3vFcq%$cIBM;N{LO*Eb9s^&?t@l^vP865to zib_WVVuxmVG3ycLtblxy&xxs9V)v?<_FHCnjsDyt-LRN3baX+uBfbD0=gimdGf9+I zzx<*)xMrz%{hqvIF2>libd$va2YiVpEL3@F?hJ5iyhmb7 zc-*Zoyyk6XsL~{0eet>oQ}+`(;h6CLwb9-A+N>{i?cJyj6`xkFlrlNCo}M~{l54>z zE~T)=3_|Sth#t-7U%6oVOYuqx>3;p6MV7w37`)_dIZO8w0iKyBw)b^~z)_ zU8^_wW1l>$_yB2`!$;2>o>H)U71~*FjVF z&g@ex)m6)AKPxXmsrx~u9aD)%7pxsjGzRERA0Yb7^Q%F%=9f_8|N1XW)p7x$2|n8 zM6=(1@rI_7gGg!w?#jR1GhVf&4EGiiq_TTS@ARMU4$N~uGx>R9XHPu0;mvb=xEWkc zj^{ocK`_w(yW`&|BBEy(8_p2=;qKFva7~+OQV%N~MoMX)$nHd#9uyamMKH)qY$^ZwrgZNl++04WsdL% z#A|8lo)svL#AA(({fX&TliT%F)f-Ndm+pYEcj@$dL3YS#t*4KfvLrqG3sTB8*cKF< zov@aOZb(c!DKu#Ew`_4f>tC=4_b!fd$`eprOPb;=k`hf2ckq?K7An+|-0GQ@f2Gf;2>hu#-_yi0W(4@xMR0v)3_>o6WH(K? zPMfBJsjTOp=N7)`BMV(15ot{|>AFV|nuznq*l@^y{Tv0~j0BVNp19tszGqUPnf~Eq z#nx1w9+gR~vdn4wDQ%FTX-3B4|7326Xrt?{{Q#J?eo&zJ6TF74{FuUm{q$4qaLz4Ca z#RyBUS$c0M84?;#hV|nxp31wrqi%rbh;*?S-i96>r>hRVm9^ONaMR#E7@m+aI9s&IJ1OwhebTO_mU+b@>cpK^U1Wi|K(z()xjI=VH<5i zUwK;lUYLLSX3Q)3Q*|WyHr`|kk)(SyZ_&CNZP#M;8T|l_j3oA~NmH)|)Ek z*=#xYf%E2dRS;%y5CN4tA>x#tZ#CB5$zWjU zEBl+#GR1|NplBvzjOAioKes@iSwAcCO>NF;5jI z{hU}D6M5x?E+~8Myc{Mz;Y*QGw7^-*%kXc3;ECpp9lyzBm=L>pA)u9jfVB_q`ld}5 z{{pm)ek85}d;ax)D~#=MlLWIKi(BUe_Sm|gpnk3{;GJ3IoU6*=jzkOUD9I@*^=DpJi{>!f{Qs zOa+=dW{M^Mi=a-6e=KBsM5*l4)Kt3xCEyLV=r&0xf#)Tdbd3;=N(k8?!~@;^dx%Ix zg(5)I@@Eq-Lu@_*zO%I@{)5u_&G$-etb13TpL#^PDYihXJuJuZ(#oe@v|l}@wL1#g zjjiNX*jn%^4CITz;8Qon9gF;=vCssrNf3sOXuk`3bmOi(GqX8(rggt#$ePq%hoE%Yt>@^S04nABNd9C3vGKx~W-+pL( ziFg<~(#o6^p&tHvuPWVLYnVy>2lvWy&b%`(SR#Tq@e_|=Jy@|+%89<(__ihX!Ps-L zW*wBhn*}HemoFzq&o8$mkRiD2l-?hwnfe~|JWB4;5~@P%pqOZhn4RroKUiBEYHL%W zWv=H$VU$DOHxuRiTUH;I!yqD#u++e{CeR>`?rehUGvUVBp7#qG6Lm!zLePWvER3gS z3>}jr=jZ6jaUxs=Y&JW=|7zYF#C|YEb}W3ZiwgURFP|*7txjgz)%DL$PyAeP z!f-Iv1irkb%NP4lauoKGvkkoci>*2v#sEJ-2Q^VXn77+KnwmVv+YFW`x09LZ1g;6R z!THljtt4)A%!J>XqT+jSz8cHAxX9k5Z#jjCeZ$wI)PqirBmd2*9HRQRE9Myic{c0$ zrT4@|2-zb>Jur89p|7t?%}1JEOe#-@H7`#=Jv+8mQpt3RvF)4^w5`>K?{mYCE=EFc z^!NYN>+jk@bH22~+6Bxmsw3mUwIPR5=9rKRhj(S%s%f*r5q}!=n3?hyWuTAxi7XwbAdA6tFKrE+dtr;Uk{7ed-rOV#pa5oLOPpQ7Glq*0cv`t& zsI5NO)Tb=HcVj1FIjTH)vPs&|s1u>8GBRQ1+6hj=FLUoDRH`VaD&g-n<*?|FSU-*} z_%8f3ZjRBX89J zZw-d54F&w4!G0%oYIq5uM8MULI>#^{%D((6iww)KR3%|e^bk4 z5Go`tavw-}^ITL*(9??E^7m@2o&ouKv<-lf{<}%0apf^l6k#le=>5v~p7@o}m@Se% zS?SnH_%*oE?z^%V1lmX(t$Ao5;+!zuMfTj(IW}SE}hd ziJCnoHJBz;b_M(4LJ!2u@fC+TC9}>l%Nxk?DdH5kti1j0qdrDXtK7vY=4z^9F^2ej znerkF{e|O#-jPu9nrNUd(@OUlIQAqA)?rprBKqSCmoF+C-sZ=golnYh(orHF-taJU z-t|>pWd?=v%Cnn}LRiW{lU`^W!|K<3J>>X~fY~KhTKf!h2nR$;L%)0Q+D&rA!?21B zZ?a*3njh1=^L-rEWMGJ|j4ej$DmuY2PHyKSm4$LD8<6hj9!pedU!GE*Hz0-Z5+fVe zp!5fESLmkj&TVDQ5u)X$dsbQDGl;eSrRBjAcMG|TO0p)%N`e91Q@-K!&8;oU%&_2-NF}&itx-T5>(O z2yZLa$j`^iXaOF^IE}g>D9lQN9rLj3{Vf|tDE?~>*=vzPLrhVN=TdINzV9^|pT<&4 z3}-$5+!&Vfkact8RWjqb=83|5n%YMka_LTL@tk}AhML+}yHx|foh|`s?70Y&)&zrQiEtn!Cw~~?bXz7Q($#pP_FMV zgCOwj(6s_E0XfYvC4WW@|E5c7k3z2&zYHOV!%B%dJ=r&P<63@lF6B)g{}f?A1gOjB zYu~xxjSg}>BKPY$R-ygym-(2*ir2&&`b7~_6leyC{EX@n z>)T@2>=ZF*jpZJ4IL-#&6hK+|?-f`fcFnQSx)=3P}&0V#6n_EDqdsTp^cig=+B6F%D#{Sq)dMizeaG2M*Z)ol0sXLl2bbc$@4v9W@y%)3T=~AB24=+E9oF-3Lz7D8 zTO@uP=8;1sWi7prR{xLBhR3XvqGwSqNkZi2m=$}NF|8ODQ8WV&U|{TXkqClERR@rT zN(I|-^nWM@KqqGzYQlIC5%X=A^U6J?eXf75S~7`tH&f>bbWHU8Yx|troD9QjO|jF( zOm&#mLnNwn6ZQxJ*Ji{iVDG1zD(TA!1t1|TpiXtqU z3iYo&C-Xz0|M)$44>E^CA5LvX&vh-mm%TGd0^+0dpWppGdG-P3T7w`BtvBkH694?G ziu%t-K6Q%joBYe=Xh9L1lp(^1s4v7iaaT`x&&GWg?!r#wuK=ay#xFP2YUj2NC=79* zy8{b(*{>?HvU+R64g5N+B&%8_Hw$ZIp|TmO5~b0YyDaeR2(2IDVwQ?k)NMR2j61Ar zv^$UJs^TgOxXb~iO(j)*@7=}O#%=1`gcj(q28vg`emW>xE!1I!lo z4AuQhzUEqT+DsP_=hN9UYL8wr)Qvpz0_>62tDB%vLamp7QXwL?XFrIg@Y$T1p?69j zaWUsv(&ORO{5RY^41CVNWjSBRa0bpkF2gd@OMV85u{=PQfhiB{RFtu0u(#teVH^XtUibz1Gp`O-^7 zh>Z%?UgB)sZk&&sL_|FepO4IIT<6$maA`EkFhr4dI(2Ql*hen5{rHnTy%F}o5WY5Q z&ST&5juFHwOC#+QDBm(4ko~L+ZL}Us%cN4?Fn3#9`s^=>6(@HM5SeVQn*PcU<&xu} z0vLtk+NmZoA1N7$q=J5pi>Z(dz6Nbv2@nNuVuxZ63?ZB9w;tog{mJ+oCDx+x`li`v zZn0i7%_nN+zO@FFe{PB#h7m8xOmrBA*C%vUu;@>alLiQFvpOS4LYafcUpT6lS$gXg zk1qKWj6hJ@MPE;}ZQPX^Ei;R$qyE*p0i2Zr-G&Il^$&3X;RS(rH|d;@!=Wr_kU;!E zgF|%H#VDr*PBz+p#&|e5c$N_!foV)m^l6RhErt$s6gwC8`YG5?d6`k+!?-jBJ~R}I zkQ^NFcl2?;r1Lgr4o6-uGxL{h7^kF;gOFL;{K2bU+Jkv+`x9LjlHDA1u zv|urY-sMge1^z6Un1l-);G*83jwHLT+E=VR^MNj%jfX~rN7&u)nAQW$4|gA}N33xM z0H&>~)`l|6S{9A;0Au%rTKIg(6wX;qEw9Fc&#$(U-oOZQE@pLkW0KC6v9!LS?@*{e zt7+roXbe_<3n6OcJF11DJgAfFcU&Rn7^ErgO~P zrBq7936o`ssiJ;ccWa6ZT+Tn*h_|EdQ92v=J^1cme3VFC;9K|b$WUnbt z9d9PCx>bn7ufk>;U;!2DMW+G~W={2O_KeN4K~7Aezzm*OLa^{b%w?a0OyYNZcjp{( zZoMO$Z%3<>JyZCqpc&xo`q__a_U&F${$8HDit~wT%28(#wWH&JblMT}_}yvf-rneG zEq@RNZJQ+@gUH6581EOPlIg$r#zy8q`uZ9`B1Px3jL-9c zpKTw-*Wc%8^9uo3p*54Li-^;Cj2+1fhy1RNKEpB5<5miHJRHc|aKWC^;yfkQSa#F( zTP>&nS|u2k4E2%u;j>_2F)9rk+WeaQcV+>*?F>B8E7EH{wr@ig^VbjX{hZ&|tgbwJ zwKt}?*aX%gpLZQ1v6|0RQ}(qG1cG8AIh<6sk2^QiWAHE6l2DF1@GiB0hZT1j5S%wyQG zc9%6;3Eo^AJ%~k5Fl$hI{XJoU$U~&K7`J3WQBl;obML$pV}eF*O-pwi=iTK)ySUvZ zQlqc?tUSN>Fq7Y)dAxV+{ACY(&U3isWFT$C{gkfnL4vpu$F!`knMM5_<@WhHFzzh^6Oe9Gst^ZN@hTP0&G=%`*_5c~CPoJX?B~%qzr-63)>+q+@W=MAS+D+FOqNH0 z_fLj=Q8E9}!LMaUJ3KLl$Uz)V7@g#bU?GHUBQan!WFO12F#ADRZ%c|KuB z*$R`}m=@SaPMqREiV4EU{XfiQr!!{U%@`tjuffW|Ya;F7WV?@5SqlB*oadbanr!b5t%yyrg_x3=6+5-M9+ zr^gve!wIT43S|``sc!#}TQA{`H_0H&c4E3}uor!ZC$)5ABt5m%DH0Yr5+0u6h1P-h zFa+%ZCONXqEX(>bI?Rc8EK;|72=3Vf<4X~X$2@yi3Ev~WAn(#jqggKqb~qIGmi7bU zr`>ul6cazqARROHEufRu4aYSSfNci?;yxe?Vfa79S^U>b=k%EKMG+|!KmI8)^l*~z z`ss)!N&5WTlW9L3kGjD=qcPzx5GmT`6mJ|n@7w$8O}nM~UQN{Q(jJX*W!BOIJgGZ@bIin2ym)`xD%Yb0 zB4pss(~U+5gyUqHef93y6eCLPW_B8UJ;QCH{!;BS*t+JpYG29E3{Xc7&dYSC&l;n< z$pe$n87wr@76{;zE~(R zDQdV_Zx0zEL%q8Pf8vKRk`d1E1h=&`EwI0t{FS8BA{=p-1}5PGaJ`UwVJ;n=h2V?{ zE7=TYrbVow6m~%e$tIS1ED+!Dx#{h+&8j2WX=X`F6m5e4Brk zP5+dcF0>0 zG;e>?3DJEhBW}B)9!mLArFL@z_O1(&rG+rY1GG?$>wlJ;)J_zPl`7YXb$w?&cLfTR z;HEMR7N5qN1MxQ=#ajhC%Ogn&-_BTiVy>pb^d(ypXHOX9Ebg z)_Zt?s~1f3Nex`>smOBIPXTDSg7uF_IbTqyJzz}e=6>16u5Oer*?jNmN4;K315hi( z6n>AaDl7+xPqTpI&!mW0U`$t70zsh}U@Os2FgJ6}!geEZG6d%|I=k6IgbNF~Mo(C*$}<|C(eP%^VKT+`d+}fc0(8(kb#3A zLi&?A&IInc?lnm}9_Yk`*-Y&BNI29x$hzDoVhZ!=2JI|AO|Rm2VgUW|>3mV?%IRz! z;2@0!pznqRKF$Dvf9|hn{C578jb`P+O67+jvM1Q4ku-5qgWW|;5<>M@dr%Flf zC4!4vs9HsM#`*VT)i=CnZy`Ni*)>))yh7P*C@G`D!)%eZIkj2ew%AXqs2takVXgHpqs; zwuk%Txnnvw`(z+3B3VSV&g$2vUo2c4C=NKM>6L*%c4%fQz;5xMh9mlc}t zu3^!zotKc@Rz32=`T3UZi~|R|q>wP{T`l!IN^ckGh5BmkTMM~m*@e#SvfKSOe3aJk zzW*M+E=uj>eeS>JtgFj``24g(duH6%A643~+v?~a(?0)1Hvq`PyfN{uMgKYv zZvw;)z?~s4=U;jkERUT%k&dW)h1<>)TdIdTF2mHg+|zt_^b-v^`j~jYX?Lf|pmAkaj++Tf7pBG9AP1DJvcy)LWAr(t%+03J^qIOgdPIn45+n;j&bjB4s zj#U7o3d6;vo1UZsf347&XcDeHOx+v^ttFLvLu5tth6(i>&E8p;bndI#!MoY7j@Ls* z={%|K^*H>IcblGvS;T(xC8K*c+C_d(Mt0^AHSVMqb~?M>(C<{00p7_Yljo0S0RZ5A+cGqp?Ln3_iXB~AQ`;IUQqi*WcdJ#r!rMwIM^H+>%wk?lz zx+eDNvawR*4}0g%EY`X)VtWPosd$i;6hlRnPz~V{6r>X0%2*T1ZhCAtKPq9SWYbj6&Z=^=xTP$5wKGou{^9RK5-G>M5d>F<@&b{WQ-6IFtYtP66QBnl<(T zS`Yn>HvewAtI9B{mK$x(orTnoe<-c&;^Zu+47I<5ER$~4_xz)9@`>DSb;VlYutzxN zrFP#sN2+Bo&j+`I>@>NOQ}OutBOm5`$4^wE4%u6mUW1TF*zx6ImuDMSTxKf z6U_2@8Ktq^Tp(6LnGBpCB1oU;E9&pJ_bB8C70rZ$t*A>J$#!?M!!0VYRe68_Jwh*6|4>-Ne7-(raEcbJ3NLS@HYW8S916wjyYP0or`fcq;GV zG`lH$Y;zziACyD{-|BX({R`8>=cayULkNMOn- z#@ndH#bHOg5(a&rP4uIYh->G*uVN@$*fmU$S^&guNurAs!R<&;0)%Ou)98AY&J*Td zAN?NSV8I#hGnQzM&wH#r>>SdyXSUq^5tQ{e22ADbAa3|)44zPDc9Ong-p zXJf%-@koj(X0&%+1gd-#J{UAt6jP(5K|LtKI;=Syo!N8~q)QWOKw4lUq;_$_A^Uk!3XK6-@iA*SdL!@Y#(C^Hqc25qfT2uAm zjvc`QN9}4D2+~b@x+66w(M_=dq6g@hCb3aiHua0a{Lx2d%ls#HOh~tQq1?$0UOVt0 zEZX=0|Kkg&D!q{N6|vlZWa6(2j6Hwxln3Tz#cDb1`Y2FZe#Vt)|dL*6;kQEE9%KPJ|2o zWZ&kiMW5BYB48$BjVcl&J`*oHkn3e%o zJ3I;K>o-Wvk$4+?P$iwz5KB;)W;eT2I@#@Lwru>z?rFH0?q+#mlqM9e@H|_jDhtqQ zW~bJ{WfGF6u_t(4Wnui9oI%D?8ly6~0E{i=d)eS@}-Vh_eO8Xnj zis;;}l{yRk7^cB8Yr)judaTV|1sz8BL|#d%rtbtmC#GiS^&7>?%8xPqZumsy>t;gG0;-r$~Quv6qSYLIGwPA#Gh5 z8*_LKs5KQ04L7p6|t8Rr^+`d~`=@E3@5rQ;Z!QAYWfkntkV8bo#Fk z4hjI4GRPyVvEfPuQU(6jH(`%F0*GJ9EAgRh>K(9gArLGLY5?Y(*Hr=tKiA6K${e7< z2IJgd6=_fF!n#e&1@kG6a{=jah~ZQug*I?x%Gcx-EK&ohK$od+NLbwnycd#F@PvCS zHof?|hPPS56LReIdnr!kt=|LDjoSJ(4+6p{X)8}yYZGNp3a)>r#F|kDLzmxE@irqR z!3hSdUVk&FvaHL zys`txnQ{4>4Vtg8!nq_bKoBo$50P3^Li5|8h;`GcNIz?6&IU_3=7-%4?%8L}{-8|} zK*>H->pBWBBohiJK3PY^NVMetIapR;)u7gE6l?i9-dt_^lZNH`gboBjspYVn)<*7L z`xINj9N;#$wQ{bCc1{UUUoj}WmJZX`puYc)Ivs-bZfj>{5|}W+ zPz`IA!G-?utUW?tv1Tccr%DuJZr_tY5Bg}=qvrvz;Go4SxEMyk^FHYIL7>5kXn;n8 zSn*GL$Ga99=`F1WOiVg)_t--`ofaITya#plB(DH4ogK$NmvlL@b!y3JvsGT`_snbO zSfpPIFz|sZ-)mre7h;+xU&(IQ0JiK0#U$a{qb6h&;Ar$^K3hLSAH$??eTNGP3}(eO zXo|_7*YcXBPc$XGhrb9m>;(G*CS~y<9)u-kWS zS|1Qy1PH$eQSn!l5=a-7YM#wjFXW$hhRye?n+T3N17V{-1POWlr63Z>9U3!U?9wY}XUTVzY zibRBkBjz_T^dp|b-fFfu7GtNAZLl=wM+tqMt{s`y5g&y?R+XV zdkSO$Qmls*w^|z~*Pa0-S?{&^w_LX5Llydci)Z&)*%@b7ea2;{;x(?PQeM-5UI%@QVYif z7G7%&>J70DVZdg7$o5ARauQ*NnrYoE0|Ypr2br+Ob?}@tXmFh=>w{LvdBaF zkg7rGg@{+>vuN90fj+f|5+_mfx7z{|wh4mAYGXjR0Uu4&FQ&2JTB`2y_`YfXuXtqC z((36U-l4on7sd~%fH~_HgD9H0CQz2h*PgpbIbUtB|0;rlI$f@MI+iJ;Hh`Vtf9W5o zP#f*P2XCBdp74M8FHarH2^5d%P9@;+ZMQt~=KUBHfFt4ckhu=?cq4HI&oUqX&Gp1- zEj!Rxz(XMb>v38V84u{w0BOFBIJ|HDMB=aA3`hU~D-;yC?T$q<`V+@HT-^c^(UufA z|5am@dGTa{`-*byp(Q|rv35e4MEPU{j#uG;3Muf075)VCrhT=`B1j7kMA!e{qb)mi z#iqSBIL==KVAbFRrcXGS1RKc0Ie#*Cex`UR>BU36!qFaF-LvsSkSHg!+%b1{+7h!o<`cKLB}H5 zo({G0EQ6`J$G$qhyLHS4G-H8RzJn|Muad;M1tY+ zf1LCTCL4*}0sXp%Li~)EkbX+6hMB*@H`nY2$QJ{zDzEF!CruLiIl11y;EZ^94TW8J zDCdv08MPL@b)rjcY5U)MRedEObLL&G|I$C`@%m@#9X_^bh@9|}enrxKdFCCqwGTmP}jf6o|Edb z)dffuAIiZ_qdz^&Vf^1@0`5t00S?6a)<|A;_T`B9DvF0z08_(}O#V90ofcpII4$0O z_y~ehta@6#6$uDpJXD2v-*y+-5%2Rdcsu)lLj-tq=N(Y@*7AS3z!l_|VqX_=RUiOc}Ndy3IHq=nl{_~wEI+%Z03Y1Un=5Vwv-KP{YG9GSL{{OI5hlLXr@{;)J z&94*>X_`J1Yd#V%g%mehtu%ct{r7*!R~Il?Qa*Mw9}kWe+;x(S4Y;xGV1@OeyONS|$!#?Ph-rm^euQ0}b&?>pT*`v$-xiO^l zEyF$F+++QwTW(4EVTr$f|C-A=;mMHKp0o#KS;}sHBIWFiibs3Nthjk$XnVxdc*MSY}pq2qms zIk|5T|L`p(xm%TQ^i}j`4{-Hnp8O+2r^{Be2W?a%$NIU_R^TOL9viceyy?@59tV0U zTq1Zz1`fN%gH>>GoQNFypgy4fd1sd9iL<;OpZTY4?C5!P7P={1t;syKnrB>|$~}Ef zPgL^%t-T@(U?u~|F9Hk^7CXJAUx0h{O(LDFDuXns>Wo^0@62S&p+r`$0OFy~k%7+r z_8tEa9o(~4UKAH+YYV=Oi;Fc{LRkN-SPec>5XfeV=G_tMsv2o^foyV4RG2>a3%MWw z^PY83n{XSlyAA$|`JGBFsRfeZu6sYP?6>)roe}_Ge_mfGZQj9-dSgKxyfXwiSxZ>u z5M5O3ty;y&pSxij{qlRbrb6*^gC##7bqd}fCk#d3rAQ>t+;4PnNc-f0f%#XFQp41x z)UBkP8zqh{%p4G3<*k6A|vI*YPad}TF_-vPBJ4gFVz!)^6#YL|PUM8@u-&IZ4Fl~&(cNn{?#!d|Qt zB?)Ivc4?kw4B~*J&vK~qlv|a1JJ7w0Pn5Gg_L)`MO#>Rg49?jUPj?0Ob||x6F@W)w z^?mNIxll7}kj%pFzs4AU|C(gN4f8QQsvsM=M*+f(E<}ZY%j`A0St8sjvmTPQKZaEX|zMZon?pv21?^M0-;IH0@ z##5&(5ZR%jDpAfh9BD)10kdIfCYdosR*Q3x)K>vsj(ZVFerXfR;jk2uU7col%&*C& zOy_W3UD0RZW;GGLXUC?g7stFER)_=TCi7TwU%Dxh3L3TmA&?C}@la~W9jv`OJFz6?3UR?jK+@UM6>+&*_34G$ zf>rB3m+02WF`$$E#<8C;)Ptu*ii^CQys(EeF=xb;nE8`EqXo~i@yBd3=z6}rV%#mM zep6A;yp9=bv|F|}VW|B6!EzcYnwf8w?U5#s#-1X8}c&1|bY z-I30_*^(JG4q6q@=%fP6gXdT-T((T)jQt?giN!L_MP72kK*)?-<=eW}i_LAQYPP52B*i?OuZ4F#?S2B z7MgiSk(Hlj60%d+nt>ZP9#bWwxoGB!AYv)NW3R^FcT?`L4_^1<8@Vb`C!`)Nlhw$& ze$h!~f|_fln$~B{E{}mfyP(=f_TWoN$0)b0Z=F)9!P0aOQiYoV{JpV>v<2WIz72i> zpeuCoJ76&?o0aLKYw7c{$Z~4s{Swj}#Fyc(&YuH)&`OrTR-EI00J3BQZTBf%LX8Fm zt(xnXoU68sJ43E4gM_>kSfS(;NK)tNaHs7PHAeW%&V+-_=PZNS;{BBrJ}O?O2x~fo z@1s(|3}$X#zpl-Ta|8*ZUIRN=?3XWx`&Vk3F!urZUh9RySs;yknXObyN2#~ z7ys|~zQ2z%F!!Ew?z!ijwf5R;TY-bnuFvsmP%4wYOuDEjK>nD^dH$M!N27{3###)m zZ?pjxK|m)K)LUSBH542ek8gINUHlgmE#_JKILe;qsmUlO+~1`@vF_gq=t~2=?={V9 z?|H8*xj+l`j5hv19rwqT^(&ee95qX9-?t13v1 zYRWA@B@IZpS$<$yOn#L7FO~}eIW!@BFO7bo9eM^Zu}eq8O;Oo*Q$~&A!Ye@18-Dce zrA84ePsJnG42X7UB2tT6XISFB0G5zSI-{a$ONQ)8UP`!ic987^Qbn;pfXgYB5Q~JK zwP$CM=>@gcKc&tI$#LgjlhiY6@V`tZ|sukKBrD!Qu zMU-Zrr^>L<%eOH04#mskcCWS1QPs7zd3KDOF>R>x&OKM?+HvU`##VXK<=Cu*NeKwV zlbQ_D%mM19iw^vf=af4+cX(3FKh-VTzkbI!`N;nO5?ZGO)hf4_!>Pia6|oOp*tN*2 z7o>o{*D?cj>sQ%jxY1y7yzykTEKaj5yBgwclh!>O5rJKeymGDp+xr+%Ctthd zKt(_^Ke<75!U?v(SU%{8-bArNbCW%Tt1r1eoUBOh&T(WKofd_C>g`C|F(bu$)ZKiv z=s+CroA+F<69UrivCLuYrjiQl*Omd=Up=JGaI8Q<^R0UmN=1#EXIPdgTq@JpcOu~V zZW_}x6hdNSfe1Zj9}nw^46&0c6h1GY_B-iqsx?qbvth2L+44sWX68Yo%4&LY3iEyq zvjWF(F1l)#b+j!JOOyTmtXb~kz1n4fPYk^T*Uro#E!C%Y%WkT767z!#;^HEz-dvc| z@AXW6M_cc+BLVQYp()R%UT4Tn8#%~7I-WE6p(}OouO4b5Bv+P{=-sNB0k;m@cR1@~ zS97yk6YZN_-M2VJ*+BLx=ihht@~f>7_mwR|gk{gf&8)liH8 zzzxImmx(et$EyJ6hnXXTG<_vm^4`z&q-B*=^x`DOu^3Z4q}y^WI%(-cu(K|h`x~sBmX$uHft-fa^2Jhp#-Am{@ja>ZxF`M1 zQ0b-`P=iTR{1#vtzS3mL%~I(auK>2u7S%-Nd%t*-!4~YXHXLYFX%A5hnHGYoYhdzs z#c#Vk&#BhUVBgS_P9zuq5QSr<@Y$$0#p1GY`*GCdwayY4H9nxh`0nSohTvFKZcMSi zM5J)zn>!II?JK(FHHM)O#sT|DV}V=5DqK+e4&C}WWzcrU>Pyx-Y)GhRwrcYJb?Q4= z=R}Nb45$&1mw;2ZjoQgu3S~O1ag?E)7q{8#*IWh;;fo_bMvIw2y*>8DL`cMexfc#L zF`w?v0f~w`jp2zGaKcT(MT0l;wzF_Dl995Er7x5F+;-LjfV)D^i6ERP0CxWdV0S6a zO1wTzbgSCCR(@Ti99>&C6{$xDZ}brCh$N5RZi9ou-wLF`+pXTGzs#LB8CR}@b`Z~6 zSqC(AfPUzY$3@RY9FJc%DsZ!zZjK_)n5FS+4&d*M#8}($==!cKktDEqpAotrCzpwy z83Vwy?tcEoqAAy@V?Ad$y@bC`j{Off+egaSy4cEmH(PmcnfT9r(aJc^z_lb|C|17n zU{e{F?M6hh*e1U)SPiW1JcULgeE;+TZkBa2I2u##;|x=tG<`d_DB|hw!bU(_+SjXc z68b3n54CQI)oKd_{~x~3qhcEG20|+@5k&yrXoVcLHIFA@WjrmE@Z#Zkb#nYetA`>8 zH}V0W>D!P2Z?=Chi78u%fJpT}%0^3EE_`rwu2_cHcDF_T1vLHS&k8$nS2vY@`Jf^x zuA90dap4=dZZHW?1r(46Fd-%YZy`N{z*?JQ+4he%pqL+D|EaA1USYl#i}K@P%1e9l z6l$r*-Ly;D^v#q;Raf5}ld&00=hSeJ3DLg*F9lRGo#|uq%f*y#4S)?%C|&EyMY}sm zVC)Yd{db?Qxjnd&Y6y37(JD^LgGTE>%0Umv*|x(^F2X5n-v5Aby)u9K=jIGn zss!O9J?-5tO)zjsu7HeM^a91(*q=GX23#^<8KlHi152Bb7u`#81vc09W!tK&X7R1-Ovr3?qnD<(v~QjySf2L3gn>IEpD} z<~-{5y4>oTUHpbwMuq+5*02)AyZY76;hRB|gFNf82T0a8j0mo>K-(I8o#AQifIiYA z?+z*8LBvd0=6_2#bS)FL^SCNJNANaU zi+RKn2&`#|t(5BV(4dswK{W2j7n0#UUFFqKn~zg-28)-8V6$UuC#Z`yaASoLM0D;x zKx*K@TvRZAWRTJkYYohcH?P?pl~p$3imW--aKk$zB_@sV#fqcmo%D=nQE!8TQvoj2WR`9@iJ0 zU+=iev?X z(_gUULKssz2&ZrAl$pvXSw!2n{)luO0^VJlzi>u&UI|Nilan=m&~2*~kwQ3_IiBsT zGV%m!k|WZCl;Sjj7gFM6_$gp@5C}-*3klwYPm4YjKyuMA7Pthky!Zka zC+giv`81^4zeAj2DO8&~DtBWqt5rgIBAR8k{f=SRS+4lyF9C{627^X$_bVsvzf(S=AmI(Mb;CFl6b?#jM!(E`p6_E~cU<$Ru5U4wp(zwCGJC}~ zRul~HL7TBDjK7m#F+sY0CNznT$aHdi>lz+ILMTeYfyK+(9dSP<#^T|tbCcqxCD z1;vvpr%|$)eNN+frP^>&2>qlnT=NZ?|HqW<7ouqm9?b*O>0stC5g1LUV!SWWl%qld zGoH&5H;NfniZ}CsWCO<=&p%FQrJq&pGte|G84iYYsSyF|5*`nnIu9FS*L62`{(oev zr~~X>|9}i}rjKq8i6tNI^Hbs7Z;yWz?|avlUrOmnZ6Gu$ljpXLQ)tS&8=b;`WH1n8 zoXK6x&uURpO-B-P+LYAQSzjTy`f})IHiID?N-c$Ok^bO*3I~284MGNKZ})2 z082K`N{F&x9@MY=Gy|=;Xd>F=(-NsFr9Jf6xVolIW~Qx8^B0Rv3=j))DzH1Z#K>g? zIxQ;w=M%Pb#Xeov=q^2W0cuSDBtm~Ch5AH^EB@m-Gl)-G!t~%q8?{`i^EemTi*(6X zk0_o-r`@cb5mXIQ%&^6EFKbt&17hYm4i7h$ygsGcVCRFR(}oWps8rM;GQyJS^QvY; zB$VWBTO{*9n7rk5pG^Do%a4|uXwrqn&$Dm-Jrpf@P29gFq>Gw>Otn!yS(z%w%2Q@% zg!D@%Gg<;E!!%TVU%8-5@+!s>f2PlwTtL^dc=8TPaTP<#6yFygD}4SwHViGz8Df#_ zzV|WDkiUpqDXS}K?)BYxU5?YC+W5k73XwR|=d`cC1R1uP9rhFfPd_|&n=M;jw^bhR z$Ctga(_|+sinhVzIikzR288R+H6%8r?|`OeT9i7f7RSf9M!jt7VJcGf&Y9T z_H|`}E^sw@6~=8N4czT8>E@&oR;N3QJ^|V)^}IUFJ(~rYR3cl8UZRuFs|IrO%R$>f zd2+Lx$OQZwbFq`v+jW9xJHoaxi3W4@{H`3b?1BHN{xDb$lz?T4#HbkU*$is)XlSC^ zV5ZEa^o9(tpVLtk&AgVYQoW5JqeAfKT^bF)Rf36DG0BSK zG6Mq@ADSL}tt>uwy01uNgzB5hXqC|$epcy-+`sv3xGuu~&q2!ki= z9({QX z^Q}QK$30J*j?S7_N)x6_Tn5Lf3d*M5Um*!0(0K&7pEs8asg}1~G4dKaRRrW?9FB48 zFMbey?qG0VnOJ3^LPH-P9_+)C#jAJc!bm-QpNX}9xUxzEbaG~L`TdH4~-DQ z-htoxnxoiq-#-a?Y{sL zz;^AnY=BRcS2Y6cYHb7BIBBO{amY%4TXZ+h1hJK zzVv?OVF0E2Yd<=#*RF|0en6n;3E|i>s&AX=D0GZUItUd?A?V>U5!*I^jztJah4&y8 zCC4Emr|(~eK)OEDqEvMU-CYPRMxzM%NJfo(>1 z>*=R+%L|mlSaL{{=>0mWAd#XCmTU(C=FwvHX-uixw*pj>3DD@7L@q`rMjKD-G(z1M zZ5XMVmq_k=Dp0da42I9w7O%saoxSmjSFx?;8S@M)&ohJ74)cnjFL)ZFA8t^C(Me{> z-=LnQid*Wk`{)^z5T|I18{(`_&(HAs`P+-0Aa?+#dR_Im4WvJ#B5h|zj%*SrX z)80G{p6yRFFevtfm;H`RkM-{G_!gR2drNV4ly=%GAn#D`N@j5$g*pzZ*PRvm#$W@~w>_BjV@=;ztjmn+f6+^xy9;CPO4Vph6 zc@c8t7DJSb|7|?9W3Z}bs6R&^4%Bex!$Sq99-ogsr))0UF~$A3m!qmSr=#x(7U?G5 zNAF|tJu5z(cjkE7IK@WjyBFfn;BzVkBIv;O#T{~p2FM$h?zSvF{9r6BqxKosqMW|)sZpu76?&g1-H#+>f9It3bk-Yrc7dI;UIaoFdK#l03H{*y@9yMje46{E zE5fagfV0TUS`B)xlLufC%RJ5KPaLmT3M9ghPYmUkFH1l? zao-upejL+%^uAZRcjlXAZ&dm(sP{RwyXozSTTCGiy>YM!3+ zkv5yX68FEU?#^17FKc@@CB6q~sCgp0JC2T?>IX8_#yP$6H%+XEed$#v{4qF4h3KQ1 z-Pp;t4sx@-pufHIndjcWyk2`S?%b9OhILQTVTsO0D)_%ST%ZD!Tc7$-gibowZO#S; zo7Y#2kB=9ZSyM@yUw%P2RtAm(<~w$t=Rw3$9IftV=t?^^i?Bfj6J+3fHKrF`-vi{i zOxd@Gq-H$pJpDQ{YIN}50%55#pCwujq$Q^EyBj{3muMdU4ECv$R7|sqb;x3bC3kbT z{P9)G_ubRuJoa5bZyfx~N+l|b{r)Tnz2eukuSqJGEP?vqk{Xt%yiyX^D!3i2x^}Es$mgy;zWX zuW$V(bkXE*I2yH0$Il3K6`I;wanr!CGtNVcpGH)kyBP{;tXdw|$CUS1WG`Zec_Ubm zIrTPhFnQN{=M>xa*t|Etr7p-Pqn_ZQ=Bo0g;s-}VZQq(0tqJrvr`l%HXukfo@^Hmh zPch>wbK(TO%6t20R#|?>h%f|K^h18;c3;CX5&ZLQ#(*;!PrF2#Jp*2BEtd3t@SA9-uZ#AQR-5s{_&r zd`bD#_Ww>3j(1(+Dk33Vk;kFgkpXJrqhF@`;AS8(!cuJ>e<=ogos$%xYyKui$54nF zTMI>XnLpLa%=}!goXRph98{{NfiI>#kApTMV_jih(J>@fPjm!;x@h zv;1!^>E)--U3piB%L|QomJ50`cp?u*#T~CM_1yIAPnB+c$ur&&AD|DcWGpcH-cOp% zYx};p&5#JeU)_fFuc)4Oz0L%$x!q{mprvj}Y9k3DdL%I(LmbuM(W8c^1YIXy?TzQu z94_|O0;2F&*>b=-J4XN43fFx)yi1(WBX}PX=lB4FTp-KboNJ1^|EaZCZQwLF zRY3W!r$jqzrso*KzaQ1(IzmRR%1lsNk%;Rak;@?xZ*u7gQD3-D?T0b(2g9$pox{3c z?UhyUj$iVjh^+x0-m~AsS;(2GBrijr5BF%f`e%lN2e@)HHT*HApcX$B4lsJ)$dP%i zgERqd=&cH0VIP+5LQvuP&7tF6F`XJYs6myzG#C*2Y4f>!;wXM>XSb9@YAkfMH-uQc0VnQP~y%B7btQaG;IaP`w0ODei8vU zy`#~MYPrz8*5+tw)k%8L0k>$LkFt;|e|<$5fs34*euxOcn!$BP%@$-fl|K5xtW4l( zjBmazFSbbkCpR6Z+s?H4eh`H{kT>&iy2fWI1ZwM5n@4KfkUn@a4hHH`iW^wi_xhUI z*tu^^3$`?3e%{N(8yhK$%};LyO9Lm)DgOnD&=_XEH`7&dU`z=rhkd7-tFWb)ET4I2 zalxqKsjhD?r}p0|gnRa?MOT0wlp>pxI7YJl@+(45MPb5%0J3bileun=G-*7hESlkv z6k!1~eLnd-!qIVq5-D(HzA5VI+kHvnEA3wD|%dH5?GR5T7YW1A%!RIiHdsR7a zP-s7I`vCS12BROOupYj{^llZtbp>-s(u+JWmlx=8lD}02M@b6nAm(zMDe3I%y zz0xh1c?`ia!dz`uyCAYW`>|j1T~2~GfoUyCQgypeS@80j2MiJrkx!f@fhz&opQW3^7@L`SHF@5BJvs)Znf zcz(@Y6n63OqVHk#A$TsdYO<#xIviDn$8!!^_;?$VCXWl=d|O&0mdxIcGp%vU6`1aY z^Z>r0r8%qpGx$I<5(27Tk$V3sgY@t>u=`2l3D;@A>}z1uTs3?-k~mC#@|#^A>fiT! z93|L?HIld;i;cGJEf-#`El&ev^J=c2B+e9fclFtAf3nkm5m%XpuHBTaEEi_`DxCR; z@kAKuDRuJ!P(Wy)86fVoP^=o##ab zWAt$4iaL3Zu)1(J)fs7OP>+?&c4lshKhp`?!tl9dcJ2r*dQLR3h+$c|W~{ z_(!E3&hw0*!6_8@l6XT++~gAZJG*Q?aDdu|C2ujFz|eqr*tck%i!n40l{_nop=Np` zcBRl}iY`xSsL(F+QK7*gQuZ5X*{{O&hG`F`68b;9`#BhNo*4_eE;4%WJyzhwIPJAgL$BemwDC z9}{nXV?@NBCyf1&2-M|pgX<<|9*ZsxgeKE+_b)?wWfwGFt>-kzK0i)2OAbuW&JJkr zzd_fHQ8Rpg2h^JZ&8_H_kySt^neRe=r3?7zC>91DT@-CM8j5kix<0Ej3LQsZ8|A>~h&QrP|!c;Qb8bN!YroPE5JUK0O3C zY+|&ROoD1@VG7Ly5Xm`moAvHTjW?gY*Hhg*-lp;_1N+FJ+3oQX{^gGLz^7N&{*M7j~RE;gq6yDRxEJ8 z6^~z<6#aqQ?heJ{EzG9&ye65fbLUxBq{H&pA?~hv_f}ahY-;$GbCr}J?gVFl_76-h zVs+UgZeiUr@jf#f7A33MkGX#-+Js8+d=OjFWrz??(#IJq^&z<(lV~n-y4<8H_nJro z)Q1jea7G5M>dI||?7_Q*vnB~_F5HZVb2D_pt*!}Ir^u$a2v(Ok~3dOo~fg~I}>G2lr^({{t2w!E6*cC=bw$#qZi zAFQ4ZsteYnEmR^JM!VId;IFXY+gw&S4_ei(6Ze}XQG zdFT8X*;?DzYTq-U**6~Y27N!#Z*a*FIPa#>E-$CAEc(u4-Jh@A^SYdx&VWE~5@0#V z88zG6HAXaMS+DC%>fTNYgB_bnb=p)FGmv+jVWE3n4XIQaVDDm~5#^|F*S<`XoS9B* zO1*jt6(u_|gm1$AT-$es+%y+#>+G{Xwj~E;h;BKzTsTP;sBd^d$AC-dCFVMJG(#_+y9w5GoxuMlFgDNgwDg)yN215R zq1{?awUAG?D&l%?QewH{3aXItyO6k8K0pj*;g0GoIC!St3)lPRKBHk*dk(O{zh94> zm8|L2!BziW2M4Ayw!E72Aukj{Ai&O1#B|}~!fQ8X={$q2Gt9Veu;c?9cavR_Q%bJf zLroVV@J!*k@?@%*k{ZH2R)nbK0><{ntTbuWz)aN1%Idlo|9pahf(^<7#DGf4V z%WBN9pysWzMJ!69OInkL=&XG5=Z_JU9vQbwSzn`LVJ(wkBBTt12NOue6HX$=ezFZtJ_+GAB8YuF!LWCGhSo{Pm;z z=+#@P^t9>uVQbBxVmzFd5BV_!bAwm;x#27ibhdv6@>nD0$~GVB{rttXuJI2AT2Pdf z_$NbtllvXyQ&u;v1b|A|1NfupScYI~L@Sc#D!1T=Rb7_B?3MOBe(`Xu;f~J6m)z3d zaI?saKY2#&BQk587Z!tdM-fnp6tXeE=!>pLXy$`2^pmg6r{UQ+hV1LKCKf9ZQ#rK? zQmY!Jk|1= zuEB9lN6~h8>tQ3cv8DSXNj&WXqmGh;KMtD!-Ebu8P?&O}7Z5LqD$aqWmPb`TSe6oY zwrvq|1~}5QJ{W7ce4#3(fsx=*dp#yP1ky>);$nU)?3s_*HZ<{lVo79>>>Wj-!sg~N zSig8@32P>`+G)(oo2p5VklUHa$g};hw6lkm`u=T&U>+UWFJGWb^e``uR+}wFFdIUO z@QC!excE=yis616uk|spqFL zM%~RL);F0+*LmHh*lD5+Wd?Y(QdyBdpGj5hTcU(y;(0Rl@}2{9!e)wryS~tQ#pLFM zYxI=Z?d-L$#n;YZWK=i6wk1d)mn>Lx>@>_f zwDx?|_asdAyT)!1k@)iK?(3arNAMxUT}`8s=SzNr8yI>A?wp0k|h#mzfUe23BD*1Wvc{2f9mk8L`)VQ(oyg7}&_us|Mw zNTSLE)48|N+d8Lw^aDKRb_gBQ?SY2iFihZ)na*n=^AHT2@6iO)a<0E96R_(nSi4z~ z3|cFEJoCAfY{TtCu3GOip1t%XGM81>7s{I*7)e+jjhp#|v%&CyZkUgkE3W0tx4&Kb%N8&?r(H4Q>;dbu?8> zg}8i-i7QruP;?PtR5TWK|;F(RDmGDjb(J8t?x4u7SS?e%@e6yxc~37XoGt_bs2U%eT%ZJq^ZZ$mZ1s@aAF?%K_EVn*Vu=F!Zg)K}Qp#M$XL zA+@)2NRLi9q}^XRi?@Cb1|8@KAKHm4`{TUB9GT1KKW@{?Z*Qdmaw_YB9NSM)8I{K$ zCMjC8x=__PBuQ1d-!$5$q>#)-MQF~JajWlZ636Mf%y%jf$hYk*yT{7=E@DbW7Vk2j z+db}}oZTa=OwIoQJhsr319XfIHHR|bd3<^bH;}l)rC%>Dzf%QFNSDvQvwAQfeFBqT zdKOkuvkvH-L>3=W%fNlu!rKA7cyp>> zU(z>nSBKyyuGCYSVej|?vM*+NUgi_F0 zTChhZJgzsxOdv7Jh3P)}L(Man!ir(i2A<`P@RM!pgLLS=O$zZ}7X!p4*sl;Lt6ja=|G{JMz6?WsdrhwgG~#6g`}Lj+foVJwMIc z3dUmW+Djl%k<5=zsc6r;>_kd0KMH%OLk9&ZD)~EBJ-pKG%9krv@R{fGX{K|ZXiKK> zg{+rOJN>Ep=!gO?w=|ceeD5@?7iYES35yTyWW}nY;K2D<3Cdo(Oy>BE!J1b->eD688W;* z!o8k>ownx^q0EY>gSFKNBI4cU{}%sH(*#8cyUoDVo2$*VV(-$T&MYe;OIMvy?8nVWI>f+O-(5m!H1+xUY}+29+il~9i7`TLGNo@B>e38SJ-^Gh+S|8S5GIAMK;u7( zWIc6C%?$pYy|%!2$t^O%2}cp0;JLvb$C>lYR3J4jTqV99kZZn>z|Q`ood~PUtB@C@ z#9gB;aW9)!kC6z9IJ&#QFW8S_W*m|9+YLWu*WGM(WlR7dkC6lshwjPkJBeB~8`rKV z$)a(`FU>u0ufzrAU1^I#$d_lyaEH;?kMUK-S04jy$F-yk4|gowLU%6wcbTkDiKtB1#Nqii@>*N6lKIa^53@Np@;r~9_)9;~ z3JXgtKd)8s2_Apt>*9Ud>E-T&tZ3zD=LgG`W0TLaY6WN3qhjM$jygXUztx(IqsmVfFk!kfVLuPJPt;WevqfUBfs5j@*qMK(rx)wQw+oHDct56 zC~#524U}?5;%2hegigl_9y(IpRemlgwBXvN&p~3^MI@TRPSwqLyguIw)6RKY&RQ6F zf82s!hU2Mdzk!%iBr^%WAAxc8A^%m@ruprJ$H8ynD(}MRZYRn^U$5vYUKjR6L&!qwgIDXrK5fMw zIzz=!w)3~sRfgN$cKP@Z6};?5;8y{g26zB86kmD_{Pu*7rz|dQcYo%@D;M~jW@yyy z=?R4VL~*AFVe_5ke+y|X4rNmGf}o*O%&8AX-~GckLa_r2NKfBFz^*@0n2ECad)G3y zy+AEAwkk>unpPU0Ff9R{!3S~`sAtbm)+dcg^q)YM0x$XyGqN1jFP06 z@hh9h)p2q7#OVXQWT{nFv>Jsh78m@|k+%Fhaa$GoBVs$UjIl@LnssuY9aDEJtOxZU z{feKwa!{@f)UN&rPQ%s(8#G-)t4+Jsly2a^80dR$5ZoTNr&r`mzgm3kvs<3x#tE@q zd;_i*z9!#!(bvtc828-RkbBB%Fhb~aBhR8vF2f1qL{BIZu3rNGxS*M3Yh}Jnd}`(Ig9Y zzT7p~jL5TvQv>+zF5lZQiR~ev#{t{h8BK$+qF*29FgE?mkJMZbLSAJE5l++hjFh<^ zzB1V8*#SX$i5cK1*6x;m~m9!<8Vv}~kFb1G_lu@mjwMD;TZh87_**p|wU zKOs<}?a*17uNA<*_H)kj$`KaX;bi6DVOzS-87CqB!X{}y zc@pzJzJ9u=c0a+l)0!{Zr{ytc#X}|C|M;6bQnS&egMj$Ut9g_p_j@>@l-L}PeKYWj z&z!R4jvBW3)%NmJ=~th@wx3yQt3j`O{w5u=8-4L@_5H>iU3^rQa%;$CCx<7VDA;<< z2kR)3#=Q+sVfJVUVz(H-hq%JUR4Q#t4iUAhfZI`S<*xsh)Xs~CA4Kj zqBZGezB4+cD<3$H%@R9nu#jHHN$bL5!nIo10%~B3GVh?*o^~-h0>Y0Ks#{=;^fH!i z_^Fu3y{ZO46+ttQM}j2+dtaB(yqU1oT-*35?mPQ*0LMC@VA>Q-c-wS1pv<;$B<93~ zGZEFe>iSiI#bsBih+l=jSeODYwmJ~H!QpJ|@QBd6FTJh~B`qUnPc<8uYbeB*FtOYF zc{ir>!vtlSWxwwu^itco&9-onr8hc#2J3AIP>B5+^ZqbHcXLc6Vrh{oI%jQ*wqk&s ztauXca(H-aFDo=9cy>B+vC4Ru%}mcAjSPXOhgOj^vtTPTpYY4vU?E$1XdzrL-&sG4 z{J1j6yg=ACGvjvB3?vttl2-XW>Iuw!WgSjylKLtNbZ9IdyC!ATH4I0TU+!a2RxkNx zv7TcfuHB%5)*_Z`fG-cFYXNXs&tXAs{4`slMxEN^d-te*7xmG?9{>4!bVMS?aB|El zUew=H78LGcwc!ud5+DwLw(&@bOOHWwHED9nQSHP4$=D2^XIyHb1}#q&Bcniz4iL9h z1_J~3WLSIpGx(~V&+Ej*LXsU<77k2!@1oIZn{=$y%Yo%|Ndw~wmA31GVmP}0tX2TI>%bT9 zl4iRBF_KB)E^|LRI9SenH?`W4$iGcKcTP2UhY0G(HU;2*f0oT4=X>W1xET>lcSiYW z<>{Qb7RRgPv+>XAR6l}gB+sr71+tlx#&Dy&gX2x)()rOd6r%OhE^gU@!iGmodjioH z2S-Ab(GM#+?hk8xM@aZHqlh~k<FCkvrGVP!Jys zoW2K8r~Is`{ou}ILQ)$=h@_?c@w|@D!RQm|&@&)GX@V{%ynWy3=5=Dcv%5fEP$~Kz zIu2(y!18phZpqj~m#aZu6z#n&kn9Yy@yf;d19u(`Fx|h1l144UEjmHmLaMoVtUjo4 zQ;Ms~H*w7xeE`W;w5ifK?|*?RKuQa6(D=_elT`>`3C<$;nnW0GPqH@7&d$-!nhh#q zrz?)9bJnCkV2xvqDUuow6Mk&^+cYgArTF2JGgHMIuRv*~K%5)a;P9J{RL#H^JTva$-L$|Qxs5F;hRX1sy;#yl<;*)&YyE7+A8x{}?^6L;M#{HhLG|kvtTSiPqXR}g4;zcH!7|q<%Spw0 zlGZkj5)ia28W6uK&#Gt#>$Z6;ezBaJQLEK&`@Vnfw@U18_I04g;Hgph=|K1wjyI$> z5?!Tdb%byuI@N#lMi1__K1%pOK|6;!GuX*ZbfC&eDvoR03ojBDZ;C%l`g-==ag^iTSZP7|I9FhR4;dSm88wf3@9LF>vgOLJaX|9dlO==D28L$l~!&t=V$ksp(MaC2@axlt49 zYT5bVoQwTQ?fWraem{sI7wZEH*0fl04bH)LikN3;o95+H(&h3vAJ2ErgC!Z5I`Yld z=W~_u-|zVtPSdp5huDHm0LGwe)q*E2C#c7-87%Un#0hcn^C)jB<0K0SWkVLPSg26J zGXr1X^N#Ry7NwbIX|ZdkT2vrIVEFN>@BLliH*4%8n}X%8S!kP9x=y1qKwiu`Pf96? z;%3)8XWE`UVMNAV``DMNsZ;A1W$I(34SyE6`lYV%rv5u3+(;qt@W#mp)MWEMZphSqs@qxlW((*l^iHhrMYyJ!#4*JIAc$_wSa z@6q0O0!>@zai(K2#f@`ar2XgN4gId$t#rUCwT6w<&!$`G2gW-|=)3CK4%SW-O3a>W z9wg-tKl9ojwb=TiO6G3e1+!6fE82Ty%i-lvYqrc~rqI>mDmqK;DQPD=&%eo@ z3DNKR2|G-1-rk_{l=&0@k)>ZirG}YRhNUv>{F?gygvZgTVr~fHN0rLXOjOM86kL)i zre4y-Z-t!r;7nYD$_%U;uR{_6F=fe*yhQXPn1Eyc!jq3Gs`@jp{*1h#sXd`fafa*$ zsGV5~4!VXfoew8EIsM(YcjB0-e65SPG;9P*O!>*|0^3S|bq}7UBde>}xDLd?7xLyp zG<^87jN(0)HsTgrV|`8> zwy*87z0&Mr7EYcFXw=XzQb$cb?vJzW=&><)#_o0^4TyDc_d$JXB*}Cu6`wsz$?5Rv z8!jls$-nw3v737-P-K4Vimtu+g%`e1PH0S9yQK5CKF>*MFvtj~9%iWVdR1mP}49wQhfFxcZ2Aymb| z$BQdZXK1&OirJw2NRmagAM*yI223UT%hb;gvERVIMx9F6HigANsFJDUs>|L-+I(m& zXL;~~$B2K&rD1;W8pt`yBWBmFG-Xi5YJuy2$dbDpEGX-0O+`TqXn71daJ_K&8<7jX ziAd$VvQmf{;Qf}GmK6}gWgpoQDX>kxQFX(j>umPQQ~=cMtTtOIn^yM+nze@b6e>MU zDOgH1U#dHH4_^~uWEAw<0Q4)@PnqWdu_`0o-65{RCq+xty7w{x!^^GZ=`ht=s&uAN zRGQKhl6R16UNLeuZ8tiVJ(@%+CQzzZuS(`^U&d?^yfeMW$b@x*ip!8aOU(4ZZnX)4 z5>ijD2))m;AfWx5QgS`upV3Y+3gq=@^~xK$W}%=*(#{rN>=RHA@Hs2`RIdr<^!ZlE zVvq^B>4on-%5IV=WfNaggb;MPqKcyH2f$c^i^8Q7jywIovxOC;4Ku+bN(~iwt&j8F zE@p69D{Dvj*a7A)I3JDDudax0??CvpPNLAcnOvy{!P_L?4QvYL_S+wFwMAV142{bv zh%1xfT>ae7=j00x!L=eCv&iCuH=&PP?NIOFaui2@-b8@rDUhOO@~sm2yup(jFmP&I z@V0Zt4PEfQx;PG%U{0Mzo+xuN(rvk%xq=45c~`*1_I&^0@;t$xr{lhtpy);T^x|+~ zgSv#(DBoSn@syZGD$O|ICa&uzaQ8>YMjkQ*25fbZU`>F6jqd(l4>dc~NuM{i9}!kO zWS%a9(bBmc3_C~5o_*T%9-kK6{LG%0jrl}T+MbURH!(2EP`(B^Xl1TC`ZdFdueI^G z1|9P$zz57{!Sp(lhMd}nE?_Ft-Xv$4l1jD{ocin3m^_m?lMA;w20lC%4O8!72b^OF z*}g>Bmz^)^c%_gGhP28`FM6i%SKs(s!pJ?ffgr;+@j*wCrtFM>ch}c9lf^WaUgO7$iU&{+*ke*PLS zETl)9GDH4z`^#v~DdCd4^PUR*qdEf~sh;uZUcvRzt4nW|gmMXPjzg@mA(bqCp#@=t zD`J5vCAHSiN5Z)_;}rFG37~~doW0fU$qPNofS4~6b)E>xm&-c00bv)H-;&OAR9z18 z#m;7FxvlY$-CVf1(&M*P$K!L3Dsle2MLq|6UhU@&28<+68H}WGNe7`HWWjvEjiPDA zpE~!sw`P$RdyJhM)f$PzL2i5h$rIRPB}UrqL-gEEF?n}dUhCv$Qc(OfjzLD??};kY zo5}QE)nHnrmr`eFToPb>_oOr%9MhcK5f(~X*#BcR#odsc>TO8*0+rO~y{0nh3@V1O zLWbWuQKYz{#u6-F}>nfne5Epp5n+Zd4 z}b1qiq(=}rIO!MjJaa`$i(GRX zmG>ZFl8jO_2A0rV@w=}T!9B*lTn)R}NzD;}gVpQ(de*$1{Lc#Ud+fooy;1!+?;Gp6 zGpu5<_s1i67x%%@G?-3v`)3)_cYL-}Gc4Za`aXA$2@Chp2jXUQH`Q=xgb7teFoK@0 zGe34%VH#Z9=Z40UW|!zeJYdzpgzF>T;%3F@B05|QaX=or^~M&cOZBC?zj?*+SGjfX z?x5%&qVP9dkznmLYQIy`!VdBiPpktNqlCj z20$XO`I0^f zNUG_^nL0xPiirPxw?>NxNjaB0_trbfa?cUX=KhyffQZD) zg!D*=J7PChU-IOp_wQEH(xDF%gb*0qV*|@y11U)hFBVUTNaSPo!w%JH_p2v=w`kg2xwsQhb72xs?1BNIa;KkZS{ z5_12miRM0pn%EyNBiqe@_aTytK5h<%kjhIjKk8wxrBHku`DL(xMAs@D+l#2J6ya~5 z>z`?8I}k>QZ#QBSCXCYW3dsKrG3MKMu?C$k)as6s1HRPmUjj11Za_nK|7I(uuSMi8 z#8XG{nN2gxyifOpSGj0eZmP#iO%Nh}dGt?p59BGnc6J|?e1GS5@V?gnMEs;l#JnQx z;nFHLEcU-=_CGUPbVT+|sM-8UeX|WYoNb=`XU=#0ldJZv-jV?bJYD@<);T3K0RZTw B6qEn} literal 0 HcmV?d00001 From 8a001f4e3b52687efa40c04dc6558b656e6c78f4 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Thu, 6 Oct 2022 03:31:08 -0400 Subject: [PATCH 058/102] Update podfile and package lock json specs --- ios/Podfile.lock | 28 +++++++++++++------------- package-lock.json | 50 ++++++++++++++++++++++++++++++----------------- 2 files changed, 46 insertions(+), 32 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 632a4063..821d2f95 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -561,7 +561,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f + FBReactNativeSpec: f1c419fe650abad7add5d3dd7b5c2399aacf99d2 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -572,7 +572,7 @@ SPEC CHECKSUMS: GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Permission-Camera: 597646618d1edcc055a3f660844c2ee6de8e0596 + Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 @@ -585,12 +585,12 @@ SPEC CHECKSUMS: React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 - react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 - react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f - react-native-nfc-manager: 449c2c400a4f0ab3b8c084a713f41762a26b3307 - react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 - react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 - react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 + react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 + react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa + react-native-nfc-manager: c2c638bd5dfeec95d4750a2baf9307ff4633e711 + react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 + react-native-user-agent: 594b689d097a85c24128d2458803586d5e5cb1f7 + react-native-webview: a192040320142d8f10d652a745c46e4f43e37f8c React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 @@ -604,15 +604,15 @@ SPEC CHECKSUMS: React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 - RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 - RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 - RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45 + RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 + RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 + RNCPushNotificationIOS: 089da3b657e1e3d464f38195fd2e3069608ef5af RNFBApp: 9c90f9d576861947ba75fe0830567c570bcbcf6d RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 - RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f + RNInAppBrowser: 9066f16e763951ea2a70c191934274b955cb6ec8 + RNPermissions: b4522b438784c979764461e1beba55250654bada RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f @@ -621,4 +621,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: e1f418a9f57dd614e87ed172b615b101271eb2d5 -COCOAPODS: 1.11.2 +COCOAPODS: 1.11.3 diff --git a/package-lock.json b/package-lock.json index 695102f0..0a20e86f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6195,15 +6195,6 @@ "node-int64": "^0.4.0" } }, - "node_modules/buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, "node_modules/Buffer": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/Buffer/-/Buffer-0.0.0.tgz", @@ -14559,6 +14550,29 @@ "node": ">=4" } }, + "node_modules/qrcode/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/qrcode/node_modules/cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -22941,15 +22955,6 @@ "node-int64": "^0.4.0" } }, - "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, "Buffer": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/Buffer/-/Buffer-0.0.0.tgz", @@ -29699,6 +29704,15 @@ "color-convert": "^1.9.0" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", From f973bacdcfad2cfe273e81434167215060f777f9 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Tue, 11 Oct 2022 03:38:21 -0400 Subject: [PATCH 059/102] Fix registration url not working for checkin --- app/api/registration.js | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/api/registration.js b/app/api/registration.js index 88fd9c1a..46db8eeb 100644 --- a/app/api/registration.js +++ b/app/api/registration.js @@ -1,12 +1,15 @@ -const REGISTRATION_URL = 'registration.api.hexlabs.org' +const REGISTRATION_URL = "https://registration.api.hexlabs.org"; export async function getApplication(token, hexathonId, userId) { - const response = await fetch(`${REGISTRATION_URL}/applications?hexathon=${hexathonId}&userId=${userId}`, { - method: "GET", - headers: { - Authorization: "Bearer " + token, - }, - }); - const json = await response.json(); - return { json, status: response.status }; -} \ No newline at end of file + const response = await fetch( + `${REGISTRATION_URL}/applications?hexathon=${hexathonId}&userId=${userId}`, + { + method: "GET", + headers: { + Authorization: "Bearer " + token, + }, + } + ); + const json = await response.json(); + return { data: json, status: response.status }; +} From 5f2f018e41c6cb2e74c038f95c3635777536ccdb Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Tue, 11 Oct 2022 03:39:06 -0400 Subject: [PATCH 060/102] Add error handling and fix bugs for checkin qr/nfc --- app/features/checkin/CheckInNFC.js | 168 ++++++++++++++++------------ app/features/checkin/CheckInQR.js | 171 ++++++++++++++++++----------- 2 files changed, 207 insertions(+), 132 deletions(-) diff --git a/app/features/checkin/CheckInNFC.js b/app/features/checkin/CheckInNFC.js index 541506d9..de5ff03d 100644 --- a/app/features/checkin/CheckInNFC.js +++ b/app/features/checkin/CheckInNFC.js @@ -1,114 +1,146 @@ -import React, { useContext } from 'react' -import { View, Text, Image, TouchableOpacity } from 'react-native' +import React, { useContext, useEffect } from "react"; +import { + View, + Text, + Image, + TouchableOpacity, + Alert, + Dimensions, +} from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; -import { initNfc, writeNFC } from '../../NFCScanning/nfc'; -import BadgeJudge from '../../../assets/images/BadgeJudge.png'; -import BadgeMentor from '../../../assets/images/BadgeMentor.png'; -import BadgeOrganizer from '../../../assets/images/BadgeOrganizer.png'; -import BadgeParticipant from '../../../assets/images/BadgeParticipant.png'; -import BadgeSponsor from '../../../assets/images/BadgeSponsor.png'; -import BadgeVolunteer from '../../../assets/images/BadgeVolunteer.png'; - +import { initNfc, writeNFC } from "../../NFCScanning/nfc"; +import BadgeJudge from "../../../assets/images/BadgeJudge.png"; +import BadgeMentor from "../../../assets/images/BadgeMentor.png"; +import BadgeOrganizer from "../../../assets/images/BadgeOrganizer.png"; +import BadgeParticipant from "../../../assets/images/BadgeParticipant.png"; +import BadgeSponsor from "../../../assets/images/BadgeSponsor.png"; +import BadgeVolunteer from "../../../assets/images/BadgeVolunteer.png"; export function CheckInNFC(props) { - const { application } = props.route.params + const { application } = props.route.params; const { dynamicStyles } = useContext(ThemeContext); useEffect(async () => { + const cleanUp = await initNfc((scannedText) => { + onScan(scannedText); + }); - const cleanUp = await initNfc((scannedText) => { onScan(scannedText) }) - - return () => cleanUp() - }, []) + return () => cleanUp(); + }, []); - const tagImage = (branch) => { - const source = null - switch(branch) { - case 'PARTICIPANT': + const TagImage = (props) => { + let source = null; + switch (props.branch) { + case "PARTICIPANT": source = BadgeParticipant; break; - case 'MENTOR': + case "MENTOR": source = BadgeMentor; break; - case 'JUDGE': + case "JUDGE": source = BadgeJudge; break; - case 'ORGANIZER': + case "ORGANIZER": source = BadgeOrganizer; break; - case 'SPONSOR': + case "SPONSOR": source = BadgeSponsor; break; - case 'VOLUNTEER': + case "VOLUNTEER": source = BadgeVolunteer; break; default: return null; } if (source === null) return null; - return - - } + return ( + + ); + }; const createAlert = (message) => Alert.alert("Error", message, [ { text: "OK", - onPress: () => { - onPressScan() - }, }, ]); const onPressScan = async () => { - const success = await writeNFC(JSON.stringify({uid: application.userId})) + const success = await writeNFC(JSON.stringify({ uid: application.userId })); if (!success) { - createAlert("There was an issue writing to the badge. Try again.") + createAlert("There was an issue writing to the badge. Try again."); } - } + }; return ( - - - - {'Name: ' + application.name} - - + - {'Email: ' + application.email} - - + {"Name: " + application.name} + + - {'User ID: ' + application.userId} - - + {"Email: " + application.email} + + - {'Application Group: ' + application.confirmationBranch.applicationGroup} - - - + {"User ID: " + application.userId} + + + {"Application Group: " + + application.confirmationBranch.applicationGroup} + + + - {'Scan Badge'} - - - {tagImage(application.confirmationBranch.applicationGroups)} - + fontSize: 20, + marginTop: 30, + alignSelf: "center", + }} + > + {"Scan Badge"} + + + - ) -} \ No newline at end of file + ); +} diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index c54f439a..8a073a43 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -1,74 +1,117 @@ -import React, { useContext, useRef, useEffect } from 'react' -import { View, Text, Alert, Dimensions } from 'react-native' +import React, { useContext, useRef, useEffect } from "react"; +import { View, Text, Alert, Dimensions } from "react-native"; import QRCodeScanner from "react-native-qrcode-scanner"; import { request, PERMISSIONS } from "react-native-permissions"; import { ThemeContext } from "../../contexts/ThemeContext"; -import { AuthContext } from '../../contexts/AuthContext'; -import { HackathonContext } from '../../state/hackathon'; -import { getApplication } from '../../api/registration'; +import { AuthContext } from "../../contexts/AuthContext"; +import { HackathonContext } from "../../state/hackathon"; +import { getApplication } from "../../api/registration"; +import { useIsFocused } from "@react-navigation/native"; export function CheckInQR(props) { - const { dynamicStyles } = useContext(ThemeContext); - const { firebaseUser } = useContext(AuthContext); - const { state } = useContext(HackathonContext); - const hackathon = state.hackathon; - const scanner = useRef(null); + const { dynamicStyles } = useContext(ThemeContext); + const { firebaseUser } = useContext(AuthContext); + const { state } = useContext(HackathonContext); + const hackathon = state.hackathon; + const scanner = useRef(null); + const isFocused = useIsFocused(); - useEffect(() => { - request(PERMISSIONS.IOS.CAMERA).then((result) => { - console.log(result); - }); - }, []); + useEffect(() => { + const requestCameraPermission = async () => { + await request(PERMISSIONS.IOS.CAMERA); + }; + + requestCameraPermission(); + }, []); + + // Activate scanner whenever we navigate back to the screen + useEffect(() => { + if (scanner != null) { + scanner.current.reactivate(); + } + }, [scanner, isFocused]); + + const createAlert = (message) => + Alert.alert("Error", message, [ + { + text: "OK", + onPress: () => { + if (scanner && scanner.current) { + scanner.current.reactivate(); + } + }, + }, + ]); - const createAlert = (message) => - Alert.alert("Error", message, [ - { - text: "OK", - onPress: () => { - if (scanner && scanner.current) { - scanner.current.reactivate(); - } - }, - }, - ]); + const onSuccess = async (e) => { + let json = {}; - const onSuccess = async (e) => { - const json = JSON.parse(e.data); - if (json.uid) { - const token = await firebaseUser.getIdToken(); - const res = await getApplication(token, hackathon.id, json.uid) - if (res.status !== 200) { - createAlert(res.message); - } else if (res.json.applications.length === 0) { - createAlert("This person never submitted an application to ", hackathon.name); - } else if (res.json.applications[0].status !== 'CONFIRMED') { - createAlert("This person's application is not confirmed yet. Current status: ", res.json.applications[0].status); - } else { - props.navigation.navigate("CheckInQR", {application: res.json}) - } - } else { - createAlert("Invalid QR Code"); - } + try { + json = JSON.parse(e.data); + } finally { + if (!json.uid) { + createAlert("Invalid QR Code"); + } + } + + try { + const token = await firebaseUser.getIdToken(); + const { data, status } = await getApplication( + token, + hackathon.id, + json.uid + ); + + if (status !== 200) { + createAlert(`Error contacting server: Status ${status}`); + } else if (data?.applications.length === 0) { + createAlert( + "This person never submitted an application to ", + hackathon.name + ); + } else if (data?.applications[0].status !== "CONFIRMED") { + createAlert( + "This person's application is not confirmed yet. Current status: ", + data?.applications[0].status + ); + } else if (!data?.applications[0].confirmationBranch) { + createAlert("This person does not have a valid confirmation branch"); + } else { + props.navigation.navigate("CheckInNFC", { + application: data.applications[0], + }); + } + } catch (e) { + createAlert(e.message); } + }; - return ( - - - {'Scan Participant QR Code'} - - - - ) -} \ No newline at end of file + return ( + + + + {"Scan Participant QR Code"} + + + + + ); +} From 91451bde747e5193c63cec9b21669e25df6f05b2 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 12 Oct 2022 13:39:48 -0400 Subject: [PATCH 061/102] Hardcode hackgt 9 registration data --- app/features/checkin/CheckInQR.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index 8a073a43..461ef5d9 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -4,15 +4,17 @@ import QRCodeScanner from "react-native-qrcode-scanner"; import { request, PERMISSIONS } from "react-native-permissions"; import { ThemeContext } from "../../contexts/ThemeContext"; import { AuthContext } from "../../contexts/AuthContext"; -import { HackathonContext } from "../../state/hackathon"; import { getApplication } from "../../api/registration"; import { useIsFocused } from "@react-navigation/native"; +const HEXATHON = { + id: "62d9ed68d0a69b88c06bdfb2", + name: "HackGT 9", +}; + export function CheckInQR(props) { const { dynamicStyles } = useContext(ThemeContext); const { firebaseUser } = useContext(AuthContext); - const { state } = useContext(HackathonContext); - const hackathon = state.hackathon; const scanner = useRef(null); const isFocused = useIsFocused(); @@ -58,7 +60,7 @@ export function CheckInQR(props) { const token = await firebaseUser.getIdToken(); const { data, status } = await getApplication( token, - hackathon.id, + HEXATHON.id, json.uid ); @@ -67,7 +69,7 @@ export function CheckInQR(props) { } else if (data?.applications.length === 0) { createAlert( "This person never submitted an application to ", - hackathon.name + HEXATHON.name ); } else if (data?.applications[0].status !== "CONFIRMED") { createAlert( From 99b1bc30bfa19b1c811722b83f51363126d617af Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 12 Oct 2022 13:40:16 -0400 Subject: [PATCH 062/102] Fix up NFC read/write and functions --- app/NFCScanning/nfc.js | 66 ++++++++++--------------- app/features/checkin/CheckInNFC.js | 12 +---- app/features/interactions/ScanScreen.js | 40 +++++++-------- 3 files changed, 47 insertions(+), 71 deletions(-) diff --git a/app/NFCScanning/nfc.js b/app/NFCScanning/nfc.js index 70752502..342ee39b 100644 --- a/app/NFCScanning/nfc.js +++ b/app/NFCScanning/nfc.js @@ -1,38 +1,30 @@ -import NfcManager, {NfcEvents, NfcTech} from 'react-native-nfc-manager'; -// Pre-step, call this before any NFC operations -import ndef from 'ndef/lib/ndef'; -export async function initNfc(onDiscover) { +import NfcManager, { NfcTech, Ndef } from "react-native-nfc-manager"; + +export async function initNfc() { const isSupported = await NfcManager.isSupported(); if (isSupported) { await NfcManager.start(); - NfcManager.setEventListener(NfcEvents.DiscoverTag, tag => { - if (!tag) { - onDiscover(null); - return; - } - console.log('tag: ', tag) - // const text = tag.ndefMessage[0].payload.reduce( - // (acc, byte) => acc + String.fromCharCode(byte), '' - // ) - - const text = ndef.text.decodePayload(tag.ndefMessage[0].payload); - onDiscover(text) - }); - - const cleanUp = () => { - NfcManager.setEventListener(NfcEvents.DiscoverTag, null); - NfcManager.setEventListener(NfcEvents.SessionClosed, null); - } - - return cleanUp } else { - console.log('Device not supported') - return null + console.warn("Device not supported for NFC"); } } export async function readNFC() { - await NfcManager.registerTagEvent(); + let data = ""; + + try { + await NfcManager.requestTechnology(NfcTech.Ndef); + const tag = await NfcManager.getTag(); + console.log("Tag found", tag); + + data = Ndef.text.decodePayload(tag.ndefMessage[0].payload); + } catch (ex) { + console.warn("NFC Reading Failed:", ex.message); + } finally { + NfcManager.cancelTechnologyRequest(); + } + + return data; } export async function writeNFC(text) { @@ -41,25 +33,19 @@ export async function writeNFC(text) { try { await NfcManager.requestTechnology(NfcTech.Ndef); - console.log('encoding: ', text) - // const encoder = new TextEncoder(); - // const bytes = encoder.encode(text); - // const bytes = [ndef.encodeMessage(text)] - const byteArray = [...text].map(t => t.charCodeAt()) - const message = [ndef.textRecord(text)] - console.log('message: ',message) - const bytes = ndef.encodeMessage(message) - console.log('bytes: ', bytes) + console.log("Writing data to NFC:", text); + + const bytes = Ndef.encodeMessage([Ndef.textRecord(text)]); + if (bytes) { - await NfcManager.ndefHandler - .writeNdefMessage(bytes); + await NfcManager.ndefHandler.writeNdefMessage(bytes); result = true; } } catch (ex) { - console.warn(ex); + console.warn("NFC Writing Failed:", ex.message); } finally { NfcManager.cancelTechnologyRequest(); } return result; -} \ No newline at end of file +} diff --git a/app/features/checkin/CheckInNFC.js b/app/features/checkin/CheckInNFC.js index de5ff03d..9ce9fe43 100644 --- a/app/features/checkin/CheckInNFC.js +++ b/app/features/checkin/CheckInNFC.js @@ -1,4 +1,4 @@ -import React, { useContext, useEffect } from "react"; +import React, { useContext } from "react"; import { View, Text, @@ -8,7 +8,7 @@ import { Dimensions, } from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; -import { initNfc, writeNFC } from "../../NFCScanning/nfc"; +import { writeNFC } from "../../NFCScanning/nfc"; import BadgeJudge from "../../../assets/images/BadgeJudge.png"; import BadgeMentor from "../../../assets/images/BadgeMentor.png"; import BadgeOrganizer from "../../../assets/images/BadgeOrganizer.png"; @@ -20,14 +20,6 @@ export function CheckInNFC(props) { const { application } = props.route.params; const { dynamicStyles } = useContext(ThemeContext); - useEffect(async () => { - const cleanUp = await initNfc((scannedText) => { - onScan(scannedText); - }); - - return () => cleanUp(); - }, []); - const TagImage = (props) => { let source = null; switch (props.branch) { diff --git a/app/features/interactions/ScanScreen.js b/app/features/interactions/ScanScreen.js index fdf442de..93d06d07 100644 --- a/app/features/interactions/ScanScreen.js +++ b/app/features/interactions/ScanScreen.js @@ -9,14 +9,14 @@ import { request, PERMISSIONS } from "react-native-permissions"; import { logInteraction } from "../../yac"; import { HackathonContext } from "../../state/hackathon"; import { ThemeContext } from "../../contexts/ThemeContext"; -import { initNfc, readNFC, writeNFC } from '../../NFCScanning/nfc'; +import { initNfc, readNFC, writeNFC } from "../../NFCScanning/nfc"; import { AuthContext } from "../../contexts/AuthContext"; export function ScanScreen(props) { const { state } = useContext(HackathonContext); - const hackathon = state.hackathon + const hackathon = state.hackathon; const { dynamicStyles } = useContext(ThemeContext); - const { fetchProfile, firebaseUser } = useContext(AuthContext) + const { fetchProfile, firebaseUser } = useContext(AuthContext); const [toggleValue, setToggleValue] = useState(false); const [uid, setUid] = useState(""); const [fName, setfName] = useState(""); @@ -27,7 +27,7 @@ export function ScanScreen(props) { const styles = StyleSheet.create({ container: { - paddingBottom: 10 + paddingBottom: 10, }, centerText: { flex: 1, @@ -49,8 +49,8 @@ export function ScanScreen(props) { padding: 16, }, button: { - alignSelf: 'center' - } + alignSelf: "center", + }, }); useEffect(() => { request(PERMISSIONS.IOS.CAMERA).then((result) => { @@ -59,17 +59,14 @@ export function ScanScreen(props) { }, []); useEffect(async () => { - - const cleanUp = await initNfc((scannedText) => {onScan(scannedText)}) - - return () => cleanUp() - }, []) + await initNfc(); + }, []); // NFC const onScan = async (text) => { const json = JSON.parse(text); if (json.uid) { - const res = await interact(json.uid) + const res = await interact(json.uid); setStatus(res.status); if (res.status !== 200) { createAlert(res.json.message); @@ -78,16 +75,16 @@ export function ScanScreen(props) { scanNFC(); } } else { - createAlert("Invalid Badge") + createAlert("Invalid Badge"); } - } + }; //QR const onSuccess = async (e) => { console.log("QR code scanned!", e); const json = JSON.parse(e.data); if (json.uid) { - const res = await interact(json.uid) + const res = await interact(json.uid); setStatus(res.status); console.log("RES: ", res); if (res.status !== 200) { @@ -112,17 +109,18 @@ export function ScanScreen(props) { uid, props.eventID ); - const { json, status } = await fetchProfile(uid, firebaseUser) - if (status !== 200) console.log('fetchProfile: ', status); + const { json, status } = await fetchProfile(uid, firebaseUser); + if (status !== 200) console.log("fetchProfile: ", status); setfName(json.name.first); setlName(json.name.last); setEmail(json.email); return res; - } + }; const scanNFC = async () => { - await readNFC() - } + const data = await readNFC(); + console.log("data:", data); + }; const createAlert = (message) => Alert.alert("Error", message, [ @@ -208,7 +206,7 @@ export function ScanScreen(props) { {toggleValue ? ( <> - {'Scan'} + {"Scan"} ) : ( From 2f9ac7d02b00798a5fc1d9744f38381c45b8b0a9 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 14 Oct 2022 02:22:23 -0400 Subject: [PATCH 063/102] Update android permissions and get login deeplinking working --- android/app/src/main/AndroidManifest.xml | 14 ++++++++++++ android/build.gradle | 6 +++--- app/features/onboarding/LoginOnboarding.js | 25 ++++++++++------------ 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 68f11d54..3a7bb648 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -2,6 +2,12 @@ package="com.appgt"> + + + + + + + + + + + + + diff --git a/android/build.gradle b/android/build.gradle index f76865ba..cd494219 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,9 +2,8 @@ buildscript { ext { - buildToolsVersion = "29.0.2" - minSdkVersion = 16 - compileSdkVersion = 30 + minSdkVersion = 21 + compileSdkVersion = 31 targetSdkVersion = 30 } repositories { @@ -31,6 +30,7 @@ allprojects { // Android JSC is installed from npm url("$rootDir/../node_modules/jsc-android/dist") } + mavenCentral() google() jcenter() diff --git a/app/features/onboarding/LoginOnboarding.js b/app/features/onboarding/LoginOnboarding.js index 63738a28..68d5383d 100644 --- a/app/features/onboarding/LoginOnboarding.js +++ b/app/features/onboarding/LoginOnboarding.js @@ -25,14 +25,18 @@ export function LoginOnboarding(props) { const login = async () => { try { + const scheme = "hexlabs"; const path = ""; - const deepLink = getDeepLink(path); - const redirect = "/?redirect=hexlabs://" + path; - const result = await InAppBrowser.openAuth( - LOGIN_URL + redirect, - deepLink, - { ephemeralWebSession: true } - ); + const deepLink = + Platform.OS == "android" + ? `${scheme}://my-host/${path}` + : `${scheme}://${path}`; + + const browserUrl = `${LOGIN_URL}/?redirect=${deepLink}`; + + const result = await InAppBrowser.openAuth(browserUrl, deepLink, { + ephemeralWebSession: true, + }); if (result.type === "success") { const splitUrl = result.url.split("?"); if (splitUrl[1]) { @@ -51,13 +55,6 @@ export function LoginOnboarding(props) { } }; - const getDeepLink = (path = "") => { - const scheme = "hexlabs"; - const prefix = - Platform.OS == "android" ? `${scheme}://my-host/` : `${scheme}://`; - return prefix + path; - }; - const fetchAccessToken = async (idToken) => { console.log("token: ", idToken); fetch(`${AUTH_URL + "/auth/status"}/`, { From 32bd46374e12d9b1fe701be73b9db6d490fe600e Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 14 Oct 2022 02:59:03 -0400 Subject: [PATCH 064/102] Adjust log out button styling --- app/features/information/InformationTab.js | 36 ++++++++++++---------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/app/features/information/InformationTab.js b/app/features/information/InformationTab.js index 1d8ad512..a8573639 100644 --- a/app/features/information/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -14,7 +14,7 @@ import { Linking } from "react-native"; import FontMarkdown from "../../components/FontMarkdown"; import { ThemeContext } from "../../contexts/ThemeContext"; import { getAuth } from "firebase/auth"; -import { app } from '../../../firebase' +import { app } from "../../../firebase"; export function InformationTab(props) { const auth = getAuth(app); @@ -40,7 +40,7 @@ export function InformationTab(props) { return ( {headerButtons} - { - auth.signOut() - }}> - {"Log Out"} - {infoBlocks.map((block, i) => ( @@ -129,6 +118,20 @@ export function InformationTab(props) { ))} + { + auth.signOut(); + }} + > + {"Log Out"} + ); } @@ -147,20 +150,19 @@ const styles = StyleSheet.create({ marginRight: 15, }, - joinEvent: { + button: { margin: 5, borderRadius: 10, borderWidth: 1, flex: 0.5, + marginHorizontal: 15, }, - buttonText: { - padding: 5, + padding: 8, textAlign: "center", fontFamily: "SpaceMono-Regular", letterSpacing: 0.005, }, - welcomeHeader: { fontFamily: "SpaceMono-Bold", fontSize: 18, From 32f2ffd2b66bb93cc2f903abcdb5f284b6523616 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 14 Oct 2022 03:14:06 -0400 Subject: [PATCH 065/102] Fix big QR scan screen bug on android --- app/features/checkin/CheckInQR.js | 1 + app/features/interactions/ScanScreen.js | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index 461ef5d9..80e20ea8 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -111,6 +111,7 @@ export function CheckInQR(props) { cameraStyle={{ width: Dimensions.get("window").width - 30, alignSelf: "center", + overflow: "hidden", }} /> diff --git a/app/features/interactions/ScanScreen.js b/app/features/interactions/ScanScreen.js index 93d06d07..757dd801 100644 --- a/app/features/interactions/ScanScreen.js +++ b/app/features/interactions/ScanScreen.js @@ -217,7 +217,10 @@ export function ScanScreen(props) { showMarker markerStyle={{ borderColor: "white", borderWidth: 2 }} onRead={onSuccess} - cameraStyle={{ width: Dimensions.get("window").width - 30 }} + cameraStyle={{ + width: Dimensions.get("window").width - 30, + overflow: "hidden", + }} /> )} From 45d76885c39b1cd259a881dadeccfc2f4899ffcd Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 14 Oct 2022 06:03:53 -0400 Subject: [PATCH 066/102] Switch over routes to central api and add better NFC handling with modal for android --- app/NFCScanning/nfc.js | 15 +- app/api/api.js | 80 ++++++ app/api/registration.js | 15 -- app/contexts/AuthContext.js | 26 +- app/features/checkin/CheckInNFC.js | 152 +++++++---- app/features/checkin/CheckInQR.js | 22 +- app/features/interactions/ScanScreen.js | 247 ++++++++++++------ app/features/scavengerHunt/ScavHuntItem.js | 59 +++-- .../scavengerHunt/ScavengerHuntStackScreen.js | 71 +++-- .../scavengerHunt/ScavengerHuntTab.js | 3 - app/yac/index.js | 54 ---- package-lock.json | 39 +++ package.json | 1 + 13 files changed, 474 insertions(+), 310 deletions(-) create mode 100644 app/api/api.js delete mode 100644 app/api/registration.js delete mode 100644 app/yac/index.js diff --git a/app/NFCScanning/nfc.js b/app/NFCScanning/nfc.js index 342ee39b..ce39a1d3 100644 --- a/app/NFCScanning/nfc.js +++ b/app/NFCScanning/nfc.js @@ -1,3 +1,4 @@ +import { BackHandler, NativeModules, Platform } from "react-native"; import NfcManager, { NfcTech, Ndef } from "react-native-nfc-manager"; export async function initNfc() { @@ -9,8 +10,19 @@ export async function initNfc() { } } +export async function cancelNFC() { + console.log("Cancelling NFC"); + try { + await NfcManager.unregisterTagEvent(); + await NfcManager.cancelTechnologyRequest(); + } catch (error) { + console.warn(error); + } +} + export async function readNFC() { let data = ""; + let success = true; try { await NfcManager.requestTechnology(NfcTech.Ndef); @@ -20,11 +32,12 @@ export async function readNFC() { data = Ndef.text.decodePayload(tag.ndefMessage[0].payload); } catch (ex) { console.warn("NFC Reading Failed:", ex.message); + success = false; } finally { NfcManager.cancelTechnologyRequest(); } - return data; + return { success, data }; } export async function writeNFC(text) { diff --git a/app/api/api.js b/app/api/api.js new file mode 100644 index 00000000..f579ffee --- /dev/null +++ b/app/api/api.js @@ -0,0 +1,80 @@ +export const CURRENT_HEXATHON = { + id: "62d9ed68d0a69b88c06bdfb2", + name: "HackGT 9", +}; + +export const API_SERVICE_URLS = { + registration: "https://registration.api.hexlabs.org", + users: "https://users.api.hexlabs.org", + hexathons: "https://hexathons.api.hexlabs.org", + auth: "https://auth.api.hexlabs.org", + files: "https://files.api.hexlabs.org", + notifications: "https://notifications.api.hexlabs.org", +}; + +export const logInteraction = async (token, type, userId, identifier) => { + const body = { + userId: userId, + identifier: identifier, + type: type, + hexathon: CURRENT_HEXATHON.id, + }; + try { + const response = await fetch(`${API_SERVICE_URLS.hexathons}/interactions`, { + method: "POST", + headers: { + "Content-Type": `application/json`, + Accept: `application/json`, + Authorization: "Bearer " + token, + }, + body: JSON.stringify(body), + }); + + const json = await response.json(); + return { status: response.status, json }; + } catch (err) { + return { + status: 500, + json: { message: "Network error when logging interaction" }, + }; + } +}; + +export const getUserProfile = async (token, uid) => { + try { + const response = await fetch(`${API_SERVICE_URLS.users}/users/${uid}`, { + method: "GET", + headers: { + Authorization: "Bearer " + token, + }, + }); + const json = await response.json(); + return { status: response.status, json }; + } catch (err) { + return { + status: 500, + json: { message: "Network error when getting user profile" }, + }; + } +}; + +export const getRegistrationApplication = async (token, hexathonId, userId) => { + try { + const response = await fetch( + `${API_SERVICE_URLS.registration}/applications?hexathon=${hexathonId}&userId=${userId}`, + { + method: "GET", + headers: { + Authorization: "Bearer " + token, + }, + } + ); + const json = await response.json(); + return { status: response.status, json }; + } catch (err) { + return { + status: 500, + json: { message: "Network error when getting application" }, + }; + } +}; diff --git a/app/api/registration.js b/app/api/registration.js deleted file mode 100644 index 46db8eeb..00000000 --- a/app/api/registration.js +++ /dev/null @@ -1,15 +0,0 @@ -const REGISTRATION_URL = "https://registration.api.hexlabs.org"; - -export async function getApplication(token, hexathonId, userId) { - const response = await fetch( - `${REGISTRATION_URL}/applications?hexathon=${hexathonId}&userId=${userId}`, - { - method: "GET", - headers: { - Authorization: "Bearer " + token, - }, - } - ); - const json = await response.json(); - return { data: json, status: response.status }; -} diff --git a/app/contexts/AuthContext.js b/app/contexts/AuthContext.js index a1675135..5b992442 100644 --- a/app/contexts/AuthContext.js +++ b/app/contexts/AuthContext.js @@ -1,12 +1,10 @@ import React, { useMemo, useState, useEffect } from "react"; import { onAuthStateChanged } from "firebase/auth"; import { getAuth } from "firebase/auth"; -import { firebase } from "@react-native-firebase/messaging"; +import { getUserProfile } from "../api/api"; const AuthContext = React.createContext(); -const USERS_URL = "https://users.api.hexlabs.org"; - const AuthProvider = ({ app, children }) => { const auth = useMemo(() => getAuth(app), [app]); @@ -15,30 +13,15 @@ const AuthProvider = ({ app, children }) => { const [showLogin, setShowLogin] = useState(true); const [user, setUser] = useState(null); - const fetchUserProfile = async (fUser) => { - const { json } = await fetchProfile(fUser.uid, fUser); - setUser(json); - }; - - const fetchProfile = async (uid, fUser) => { - const token = await fUser.getIdToken(); - const response = await fetch(`${USERS_URL + "/users/" + uid}/`, { - method: "GET", - headers: { - Authorization: "Bearer " + token, - }, - }); - const json = await response.json(); - return { json, status: response.status }; - } - useEffect(() => { const unsubscribe = onAuthStateChanged(auth, async (fUser) => { if (fUser) { setLoading(true); console.log("FIRUser:", fUser); setFirebaseUser(fUser); - await fetchUserProfile(fUser); + const token = await fUser.getIdToken(); + const { status, json } = await getUserProfile(token, fUser.uid); + setUser(json); setShowLogin(false); setLoading(false); } else { @@ -56,7 +39,6 @@ const AuthProvider = ({ app, children }) => { loading: loading, showLogin: showLogin, user: user, - fetchProfile: fetchProfile }), [firebaseUser, loading, showLogin, user] ); diff --git a/app/features/checkin/CheckInNFC.js b/app/features/checkin/CheckInNFC.js index 9ce9fe43..1f9d3dd3 100644 --- a/app/features/checkin/CheckInNFC.js +++ b/app/features/checkin/CheckInNFC.js @@ -1,4 +1,4 @@ -import React, { useContext } from "react"; +import React, { useContext, useState, useEffect } from "react"; import { View, Text, @@ -6,19 +6,28 @@ import { TouchableOpacity, Alert, Dimensions, + ActivityIndicator, + Platform, + StyleSheet, } from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; -import { writeNFC } from "../../NFCScanning/nfc"; +import { writeNFC, cancelNFC, initNfc } from "../../NFCScanning/nfc"; import BadgeJudge from "../../../assets/images/BadgeJudge.png"; import BadgeMentor from "../../../assets/images/BadgeMentor.png"; import BadgeOrganizer from "../../../assets/images/BadgeOrganizer.png"; import BadgeParticipant from "../../../assets/images/BadgeParticipant.png"; import BadgeSponsor from "../../../assets/images/BadgeSponsor.png"; import BadgeVolunteer from "../../../assets/images/BadgeVolunteer.png"; +import Modal from "react-native-modal"; export function CheckInNFC(props) { const { application } = props.route.params; const { dynamicStyles } = useContext(ThemeContext); + const [modalVisible, setModalVisible] = useState(false); + + useEffect(async () => { + await initNfc(); + }, []); const TagImage = (props) => { let source = null; @@ -65,74 +74,109 @@ export function CheckInNFC(props) { ]); const onPressScan = async () => { + if (Platform.OS === "android") { + setModalVisible(true); + } const success = await writeNFC(JSON.stringify({ uid: application.userId })); + if (Platform.OS === "android") { + setModalVisible(false); + } if (!success) { createAlert("There was an issue writing to the badge. Try again."); } }; return ( - - + { + if (Platform.OS === "android") { + await cancelNFC(); + } }} > - {"Name: " + application.name} - - - {"Email: " + application.email} - - + + Waiting for NFC Tag... + + + - {"User ID: " + application.userId} - - - {"Application Group: " + - application.confirmationBranch.applicationGroup} - - + {"Name: " + application.name} + + + {"Email: " + application.email} + + - {"Scan Badge"} + {"User ID: " + application.userId} - - - + + {"Application Group: " + + application.confirmationBranch.applicationGroup} + + + + {"Scan Badge"} + + + + + ); } + +const styles = StyleSheet.create({ + modalContent: { + backgroundColor: "white", + padding: 25, + justifyContent: "center", + alignItems: "center", + borderRadius: 4, + }, +}); diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index 80e20ea8..3e4c3d1d 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -4,14 +4,10 @@ import QRCodeScanner from "react-native-qrcode-scanner"; import { request, PERMISSIONS } from "react-native-permissions"; import { ThemeContext } from "../../contexts/ThemeContext"; import { AuthContext } from "../../contexts/AuthContext"; -import { getApplication } from "../../api/registration"; +import { getRegistrationApplication } from "../../api/api"; +import { CURRENT_HEXATHON } from "../../api/api"; import { useIsFocused } from "@react-navigation/native"; -const HEXATHON = { - id: "62d9ed68d0a69b88c06bdfb2", - name: "HackGT 9", -}; - export function CheckInQR(props) { const { dynamicStyles } = useContext(ThemeContext); const { firebaseUser } = useContext(AuthContext); @@ -29,7 +25,9 @@ export function CheckInQR(props) { // Activate scanner whenever we navigate back to the screen useEffect(() => { if (scanner != null) { - scanner.current.reactivate(); + setTimeout(() => { + scanner.current.reactivate(); + }, 2000); } }, [scanner, isFocused]); @@ -45,7 +43,7 @@ export function CheckInQR(props) { }, ]); - const onSuccess = async (e) => { + const onQRScan = async (e) => { let json = {}; try { @@ -58,9 +56,9 @@ export function CheckInQR(props) { try { const token = await firebaseUser.getIdToken(); - const { data, status } = await getApplication( + const { status, json: data } = await getRegistrationApplication( token, - HEXATHON.id, + CURRENT_HEXATHON.id, json.uid ); @@ -69,7 +67,7 @@ export function CheckInQR(props) { } else if (data?.applications.length === 0) { createAlert( "This person never submitted an application to ", - HEXATHON.name + CURRENT_HEXATHON.name ); } else if (data?.applications[0].status !== "CONFIRMED") { createAlert( @@ -107,7 +105,7 @@ export function CheckInQR(props) { fadeIn={false} showMarker markerStyle={{ borderColor: "white", borderWidth: 2 }} - onRead={onSuccess} + onRead={onQRScan} cameraStyle={{ width: Dimensions.get("window").width - 30, alignSelf: "center", diff --git a/app/features/interactions/ScanScreen.js b/app/features/interactions/ScanScreen.js index 757dd801..456aa490 100644 --- a/app/features/interactions/ScanScreen.js +++ b/app/features/interactions/ScanScreen.js @@ -1,57 +1,37 @@ import React, { useState, useEffect, useContext, useRef } from "react"; -import { Text, StyleSheet, View, Alert, Dimensions } from "react-native"; +import { + Text, + StyleSheet, + View, + Alert, + Dimensions, + Platform, + ActivityIndicator, +} from "react-native"; import Toggle from "react-native-toggle-element"; import QRCodeScanner from "react-native-qrcode-scanner"; -import { RNCamera } from "react-native-camera"; import { TouchableOpacity } from "react-native-gesture-handler"; import { request, PERMISSIONS } from "react-native-permissions"; +import Modal from "react-native-modal"; -import { logInteraction } from "../../yac"; -import { HackathonContext } from "../../state/hackathon"; +import { logInteraction, getUserProfile } from "../../api/api"; import { ThemeContext } from "../../contexts/ThemeContext"; -import { initNfc, readNFC, writeNFC } from "../../NFCScanning/nfc"; +import { cancelNFC, initNfc, readNFC } from "../../NFCScanning/nfc"; import { AuthContext } from "../../contexts/AuthContext"; export function ScanScreen(props) { - const { state } = useContext(HackathonContext); - const hackathon = state.hackathon; const { dynamicStyles } = useContext(ThemeContext); - const { fetchProfile, firebaseUser } = useContext(AuthContext); + const { firebaseUser } = useContext(AuthContext); const [toggleValue, setToggleValue] = useState(false); const [uid, setUid] = useState(""); const [fName, setfName] = useState(""); const [lName, setlName] = useState(""); const [email, setEmail] = useState(""); const [status, setStatus] = useState(-1); + const [isScanning, setIsScanning] = useState(false); + const [modalVisible, setModalVisible] = useState(false); const scanner = useRef(null); - const styles = StyleSheet.create({ - container: { - paddingBottom: 10, - }, - centerText: { - flex: 1, - fontSize: 14, - padding: 4, - color: "#777", - fontFamily: "SpaceMono-Bold", - }, - textBold: { - fontWeight: "500", - color: "#000", - }, - buttonText: { - fontSize: 21, - color: dynamicStyles.toggleText.color, - fontFamily: "SpaceMono-Bold", - }, - infoContainer: { - padding: 16, - }, - button: { - alignSelf: "center", - }, - }); useEffect(() => { request(PERMISSIONS.IOS.CAMERA).then((result) => { console.log(result); @@ -63,63 +43,93 @@ export function ScanScreen(props) { }, []); // NFC - const onScan = async (text) => { - const json = JSON.parse(text); - if (json.uid) { - const res = await interact(json.uid); - setStatus(res.status); - if (res.status !== 200) { - createAlert(res.json.message); - } else { - // reactivates reading on success to make the proccess of scanning many people faster - scanNFC(); + const onNFCTagScanned = async (text) => { + let json = {}; + try { + json = JSON.parse(text); + } finally { + if (!json.uid) { + createAlert("Invalid badge"); + return; } - } else { - createAlert("Invalid Badge"); + } + + setUid(json.uid); + const success = await getProfileAndLogInteraction(json.uid); + if (success) { + // Reactivates reading on success to make the proccess of scanning many people faster + setTimeout(() => { + scanNFC(); + }, 1000); } }; - //QR - const onSuccess = async (e) => { - console.log("QR code scanned!", e); - const json = JSON.parse(e.data); - if (json.uid) { - const res = await interact(json.uid); - setStatus(res.status); - console.log("RES: ", res); - if (res.status !== 200) { - createAlert(res.json.message); - } else { - setTimeout(() => { - if (scanner && scanner.current) { - scanner.current.reactivate(); - } - }, 2000); + // QR + const onQRCodeScanned = async (e) => { + console.log("QR code scanned:", e.data); + let json = {}; + try { + json = JSON.parse(e.data); + } finally { + if (!json.uid) { + createAlert("Invalid QR Code"); + return; } - } else { - createAlert("Invalid QR Code"); + } + + setUid(json.uid); + const success = await getProfileAndLogInteraction(json.uid); + if (success) { + // Reactivates reading on success to make the proccess of scanning many people faster + setTimeout(() => { + if (scanner && scanner.current) { + scanner.current.reactivate(); + } + }, 2000); } }; - const interact = async (uid) => { - setUid(uid); - const res = await logInteraction( - hackathon.name, + const getProfileAndLogInteraction = async (uid) => { + const token = await firebaseUser.getIdToken(); + const userProfileResponse = await getUserProfile(token, uid); + if (userProfileResponse.status !== 200) { + createAlert(userProfileResponse.json.message); + return false; + } + + setfName(userProfileResponse.json.name.first); + setlName(userProfileResponse.json.name.last); + setEmail(userProfileResponse.json.email); + setStatus(userProfileResponse.json.status); + + const interactionResponse = await logInteraction( + token, "event", uid, props.eventID ); - const { json, status } = await fetchProfile(uid, firebaseUser); - if (status !== 200) console.log("fetchProfile: ", status); - setfName(json.name.first); - setlName(json.name.last); - setEmail(json.email); - return res; + if (interactionResponse.status !== 200) { + createAlert(interactionResponse.json.message); + return false; + } + + return true; }; const scanNFC = async () => { - const data = await readNFC(); - console.log("data:", data); + setIsScanning(true); + if (Platform.OS === "android") { + setModalVisible(true); + } + const { success, data } = await readNFC(); + if (success) { + await onNFCTagScanned(data); + } + + if (Platform.OS === "android") { + setModalVisible(false); + } + setIsScanning(false); }; const createAlert = (message) => @@ -136,6 +146,23 @@ export function ScanScreen(props) { return ( + { + if (Platform.OS === "android") { + await cancelNFC(); + } + }} + > + + + Scanning for NFC Tag... + + - QR Code + NFC } rightComponent={ @@ -182,7 +209,7 @@ export function ScanScreen(props) { fontFamily: "SpaceMono-Bold", }} > - NFC + QR Code } trackBar={{ @@ -200,29 +227,75 @@ export function ScanScreen(props) { inActiveBackgroundColor: dynamicStyles.toggleThumbBackgroundColor.color, }} + animationDuration={200} /> {toggleValue ? ( - <> - - {"Scan"} - - - ) : ( + ) : ( + + + Press to Scan Badge + + )} ); } + +const styles = StyleSheet.create({ + container: { + paddingBottom: 10, + }, + centerText: { + flex: 1, + fontSize: 14, + padding: 4, + color: "#777", + fontFamily: "SpaceMono-Bold", + }, + textBold: { + fontWeight: "500", + color: "#000", + }, + scanButtonText: { + fontSize: 20, + fontFamily: "SpaceMono-Bold", + }, + infoContainer: { + padding: 16, + display: "flex", + }, + scanButton: { + alignSelf: "center", + marginTop: 20, + }, + modalContent: { + backgroundColor: "white", + padding: 25, + justifyContent: "center", + alignItems: "center", + borderRadius: 4, + }, +}); diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index dacb2a06..f2f71d96 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -1,5 +1,4 @@ -import React, { useRef, useState, useContext, useEffect } from "react"; - +import React, { useRef, useState, useContext } from "react"; import { View, StyleSheet, @@ -7,32 +6,63 @@ import { TouchableOpacity, TextInput, Dimensions, + Alert, } from "react-native"; -import { logInteraction } from "../../yac"; +import { logInteraction } from "../../api/api"; import AsyncStorage from "@react-native-community/async-storage"; import RBSheet from "react-native-raw-bottom-sheet"; import { ScavHuntContext } from "../../state/scavHunt"; +import { AuthContext } from "../../contexts/AuthContext"; import DismissModal from "../../../assets/images/DismissModal.svg"; import CorrectAnswer from "../../../assets/images/CorrectAnswer.svg"; import IncorrectAnswer from "../../../assets/images/IncorrectAnswer.svg"; export function ScavHuntItem(props) { const { state, completeHint } = useContext(ScavHuntContext); + const { firebaseUser } = useContext(AuthContext); const sheetRef = useRef(); const item = props.route.params.item; - const user = props.route.params.user; const isComplete = state.completedHints.includes(item.id); const [modalVisible, setModalVisible] = useState(false); const [answer, setAnswer] = useState(isComplete ? item.answer : ""); const [showAnswerStatus, setShowAnswerStatus] = useState(isComplete); const [isAnswerCorrect, setIsAnswerCorrect] = useState(isComplete); + const answerStatus = () => { console.log("answer status: ", showAnswerStatus, isAnswerCorrect); if (showAnswerStatus) { isAnswerCorrect ? : ; } }; - console.log("woahhhhhh", props); + + const handleSubmitAnswer = async () => { + setShowAnswerStatus(true); + if (answer === item.answer) { + setIsAnswerCorrect(true); + completeHint(item.id); + console.log("itemID ", item.id); + AsyncStorage.setItem( + "completedHints", + JSON.stringify(state.completedHints.concat([item.id])) + ); + + const token = await firebaseUser.getIdToken(); + const interactionResponse = await logInteraction( + token, + "scavengerHunt", + firebaseUser.uid, + item.id + ); + if (interactionResponse.status !== 200) { + Alert.alert("Error", "There was an error logging your answer", [ + { + text: "OK", + }, + ]); + } + } + }; + const sheetContent = () => ( { - setShowAnswerStatus(true); - if (answer === item.answer) { - setIsAnswerCorrect(true); - completeHint(item.id); - console.log("itemID ", item.id); - AsyncStorage.setItem( - "completedHints", - JSON.stringify(state.completedHints.concat([item.id])) - ); - logInteraction( - props.route.params.hackathonName, - "scavengerHunt", - user.userId, - item.id - ); - } - }} + onPress={handleSubmitAnswer} > {"Submit"} diff --git a/app/features/scavengerHunt/ScavengerHuntStackScreen.js b/app/features/scavengerHunt/ScavengerHuntStackScreen.js index 92d0689b..7ca0df2e 100644 --- a/app/features/scavengerHunt/ScavengerHuntStackScreen.js +++ b/app/features/scavengerHunt/ScavengerHuntStackScreen.js @@ -7,50 +7,43 @@ import { dynamicStyles } from "../../theme"; import { ScavHuntProvider } from "../../state/scavHunt"; import { ScavHuntItem } from "./ScavHuntItem"; import HackGTIcon from "../../../assets/images/HackGTIcon"; -import { AuthContext } from "../../contexts/AuthContext"; export default function ScavengerHuntStackScreen({ navigation }) { const dStyles = useDynamicStyleSheet(dynamicStyles); return ( - - {({ user }) => { - return ( - - , - headerStyle: dStyles.tabBarBackgroundColor, - }} - name="HackGT" - > - {(props) => } - - , - headerStyle: dStyles.tabBarBackgroundColor, - headerLeft: null, - }} - name="ScavHuntItem" - component={ScavHuntItem} - /> - , - headerStyle: dStyles.tabBarBackgroundColor, - headerLeft: null, - }} - name="ScavHuntCrossword" - component={ScavHuntCrossword} - /> - - ); - }} - + + , + headerStyle: dStyles.tabBarBackgroundColor, + }} + name="HackGT" + > + {(props) => } + + , + headerStyle: dStyles.tabBarBackgroundColor, + headerLeft: null, + }} + name="ScavHuntItem" + component={ScavHuntItem} + /> + , + headerStyle: dStyles.tabBarBackgroundColor, + headerLeft: null, + }} + name="ScavHuntCrossword" + component={ScavHuntCrossword} + /> + ); } diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index a872dd84..3e4f1f73 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -39,7 +39,6 @@ export function ScavengerHuntTab(props) { }, []); useEffect(() => { - console.log(props.user); const unsubscribe = props.navigation.addListener( "focus", () => { @@ -86,7 +85,6 @@ export function ScavengerHuntTab(props) { onPress={() => { props.navigation.navigate("ScavHuntCrossword", { challenges: crosswordPuzzleChallenges, - user: props.user, hackathonName: hackathon.name, }); }} @@ -148,7 +146,6 @@ export function ScavengerHuntTab(props) { onPress={() => { props.navigation.navigate("ScavHuntItem", { item: item, - user: props.user, hackathonName: hackathon.name, }); }} diff --git a/app/yac/index.js b/app/yac/index.js deleted file mode 100644 index bb9d9c65..00000000 --- a/app/yac/index.js +++ /dev/null @@ -1,54 +0,0 @@ -const _logInteraction = async (hackathonName, type, userId, identifier) => { - const dev = false; - - const prodUrl = "https://interactions.api.hexlabs.org/interactions"; - const devUrl = "https://log.dev.hack.gt/log/interaction"; - const keys = require("../../keys/keys.json"); - const prodToken = keys.scavHunt; - const devToken = "rangerover"; - - // const body = { - // 'uuid': uid, - // 'eventID': 'ScavengerHunt' + hintId, - // 'interactionType': 'inperson', - // 'eventType': 'scavengerhunt' - // } - const body = { - userId: userId, - identifier: identifier, - type: type, - hackathon: hackathonName, - }; - console.log( - "Notifying that interaction occured for ", - body, - "\nwith auth: ", - "Bearer " + (dev ? devToken : prodToken) - ); - try { - const response = await fetch(dev ? devUrl : prodUrl, { - method: "POST", - headers: { - "Content-Type": `application/json`, - Accept: `application/json`, - Authorization: "Bearer " + (dev ? devToken : prodToken), - }, - body: JSON.stringify(body), - }); - - const json = await response.json(); - - console.log("Hint complete notification response: ", json); - - return { json, status: response.status }; - } catch (err) { - console.error("Hint complete notification error: ", err); - - return false; - } -}; - -const _getPoints = () => {}; - -export const logInteraction = _logInteraction.bind(this); -// export const notifyHintComplete = _notifyHintComplete.bind(this) diff --git a/package-lock.json b/package-lock.json index 0a20e86f..36e3088f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,6 +37,7 @@ "react-native-gesture-handler": "^1.10.3", "react-native-inappbrowser-reborn": "^3.7.0", "react-native-markdown-renderer": "^3.2.8", + "react-native-modal": "^12.1.0", "react-native-nfc-manager": "^3.14.0", "react-native-permissions": "^3.3.0", "react-native-push-notification": "^7.4.0", @@ -14816,6 +14817,14 @@ "node": ">=12" } }, + "node_modules/react-native-animatable": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.3.3.tgz", + "integrity": "sha512-2ckIxZQAsvWn25Ho+DK3d1mXIgj7tITkrS4pYDvx96WyOttSvzzFeQnM2od0+FUMzILbdHDsDEqZvnz1DYNQ1w==", + "dependencies": { + "prop-types": "^15.7.2" + } + }, "node_modules/react-native-app-auth": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/react-native-app-auth/-/react-native-app-auth-6.4.0.tgz", @@ -14952,6 +14961,19 @@ "react-native-fit-image": "^1.5.2" } }, + "node_modules/react-native-modal": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-12.1.0.tgz", + "integrity": "sha512-9myTNZ75gz6MPg1Cngm01x59JbaVkTeWoZvmChmW//PbSAdfbP/dFPnzbidL9IDrRh6Ftuuq8WSuM0aoS5m2lg==", + "dependencies": { + "prop-types": "^15.6.2", + "react-native-animatable": "1.3.3" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-nfc-manager": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/react-native-nfc-manager/-/react-native-nfc-manager-3.14.0.tgz", @@ -29985,6 +30007,14 @@ } } }, + "react-native-animatable": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.3.3.tgz", + "integrity": "sha512-2ckIxZQAsvWn25Ho+DK3d1mXIgj7tITkrS4pYDvx96WyOttSvzzFeQnM2od0+FUMzILbdHDsDEqZvnz1DYNQ1w==", + "requires": { + "prop-types": "^15.7.2" + } + }, "react-native-app-auth": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/react-native-app-auth/-/react-native-app-auth-6.4.0.tgz", @@ -30122,6 +30152,15 @@ "react-native-fit-image": "^1.5.2" } }, + "react-native-modal": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-12.1.0.tgz", + "integrity": "sha512-9myTNZ75gz6MPg1Cngm01x59JbaVkTeWoZvmChmW//PbSAdfbP/dFPnzbidL9IDrRh6Ftuuq8WSuM0aoS5m2lg==", + "requires": { + "prop-types": "^15.6.2", + "react-native-animatable": "1.3.3" + } + }, "react-native-nfc-manager": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/react-native-nfc-manager/-/react-native-nfc-manager-3.14.0.tgz", diff --git a/package.json b/package.json index 46df2718..5d138e37 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "react-native-gesture-handler": "^1.10.3", "react-native-inappbrowser-reborn": "^3.7.0", "react-native-markdown-renderer": "^3.2.8", + "react-native-modal": "^12.1.0", "react-native-nfc-manager": "^3.14.0", "react-native-permissions": "^3.3.0", "react-native-push-notification": "^7.4.0", From d1f065446b2e13ed7ffbaaa127adf36fae8da6ac Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 14 Oct 2022 06:17:14 -0400 Subject: [PATCH 067/102] Fix badge image alignment --- app/features/checkin/CheckInNFC.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/features/checkin/CheckInNFC.js b/app/features/checkin/CheckInNFC.js index 1f9d3dd3..25e94d2a 100644 --- a/app/features/checkin/CheckInNFC.js +++ b/app/features/checkin/CheckInNFC.js @@ -58,8 +58,7 @@ export function CheckInNFC(props) { @@ -165,7 +164,15 @@ export function CheckInNFC(props) { {"Scan Badge"} - + + + ); From a92cb2ab6e4fe26c8ae31bfabc196495c221de46 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Tue, 18 Oct 2022 23:00:09 -0400 Subject: [PATCH 068/102] schedule and interactions use api instead of cms --- App.js | 297 ++++++++++--------- app/api/api.js | 21 ++ app/contexts/AuthContext.js | 2 +- app/features/checkin/CheckInNFC.js | 5 +- app/features/interactions/InteractionsTab.js | 108 +++---- app/features/scavengerHunt/ScavHuntItem.js | 2 +- app/features/schedule/EventBottomSheet.js | 12 +- app/features/schedule/ScheduleTab.js | 2 +- app/state/hackathon/HackathonActionTypes.ts | 3 +- app/state/hackathon/HackathonProvider.js | 48 ++- app/state/hackathon/HackathonReducer.js | 8 +- ios/Podfile.lock | 28 +- package-lock.json | 79 ++--- package.json | 2 +- 14 files changed, 362 insertions(+), 255 deletions(-) diff --git a/App.js b/App.js index 43d9e3e0..b4a1935a 100644 --- a/App.js +++ b/App.js @@ -40,6 +40,7 @@ import { HackathonProvider } from "./app/state/hackathon"; import { ThemeProvider } from "./app/contexts/ThemeContext"; import { AuthProvider, AuthContext } from "./app/contexts/AuthContext"; import { app } from "./firebase"; +import { HackathonContext } from "./app/state/hackathon"; // old groundtruth auth // const authUrl = "https://login.hack.gt"; @@ -148,40 +149,45 @@ function App(props) { } } }); - - AsyncStorage.getItem("localHackathonData", (error, result) => { - if (result) { - console.log("Hackathon found locally."); - const hackathon = JSON.parse(result); - if (hackathon != null) { - setHackathon(hackathon); - setIsFetchingData(false); - } - } - - fetchHackathonData().then((data) => { - // no response back, just return - if (data == null || data.data == null) { - return; - } - - const hackathons = data.data.allHackathons; - const eventTypes = data.data.allTypes; - if (hackathons != null && hackathons.length != 0) { - console.log("Hackathon found remotely."); - const hackathon = hackathons[0]; - - AsyncStorage.setItem("localHackathonData", JSON.stringify(hackathon)); - AsyncStorage.setItem("localTypeData", JSON.stringify(eventTypes)); - - setEventTypes(eventTypes); - setHackathon(hackathon); - setIsFetchingData(false); - } else { - // if still loading, present error asking for retry - } - }); - }); + setIsFetchingData(false) + console.log('SDLFKJL') + // AsyncStorage.getItem("localHackathonData", (error, result) => { + // if (result) { + // console.log("Hackathon found locally."); + // const hackathon = JSON.parse(result); + // if (hackathon != null) { + // console.log('async hackathon: ', hackathon) + // setHackathon(hackathon); + // setIsFetchingData(false); + // } + // } + + // fetchHackathonData().then((data) => { + // // no response back, just return + // if (data == null || data.data == null) { + // return; + // } + + // const hackathons = data.data.allHackathons; + // console.log('remote hackathons: ', hackathons) + // const eventTypes = data.data.allTypes; + // if (hackathons != null && hackathons.length != 0) { + // console.log("Hackathon found remotely."); + // var hackathon = hackathons[0]; + // hackathon.events = [] + + // AsyncStorage.setItem("localHackathonData", JSON.stringify(hackathon)); + // AsyncStorage.setItem("localTypeData", JSON.stringify(eventTypes)); + + // setEventTypes(eventTypes); + + // setHackathon(hackathon); + // setIsFetchingData(false); + // } else { + // // if still loading, present error asking for retry + // } + // }); + // }); }; useEffect(() => { @@ -276,13 +282,14 @@ function App(props) { setScheduleModal(true)} /> ); - + console.log('$%^&') return ( - {({ loading, showLogin, user }) => { + {({ loading, showLogin, user, firebaseUser }) => { // until app is done loading data, show the splash screen + console.log('asdf', loading, isFetchingData) if (loading || isFetchingData) { return ( ); } - - const showEventOnboard = pastEventOnboardID !== hackathon.id; - + // if (!hackathon) { + // getHackathon(firebaseUser) + // return ( + // setScheduleModal(true)} + // /> + // ); + // } + // const showEventOnboard = pastEventOnboardID !== hackathon.id; + const showEventOnboard = false // if logging in with a hexlabs email // const showCheckin = /@hexlabs.org\s*$/.test(user.email) const showCheckin = user && user.roles.member; @@ -316,101 +331,119 @@ function App(props) { starredIds: starredIds, isStarSchedule: isStarSchedule, }} + firebaseUser={firebaseUser} > - {!scheduleModal && splashGrowModal} - - + {({isLoading}) => { + if (!isLoading) { + return ( + <> + {!scheduleModal && splashGrowModal} + + + + ({ + tabBarIcon: ({ focused, color, size }) => { + let icon; + const selectedColor = focused + ? styles.tintColor.color + : styles.text.color; + + if (route.name === "Schedule") { + icon = faCalendar; + } else if (route.name === "Information") { + icon = faInfoCircle; + } else if (route.name === "ScavengerHunt") { + icon = faMapSigns; + } else if (route.name === "Interactions") { + icon = faClipboardCheck; + } else if (route.name === "CheckIn") { + icon = faClipboardCheck; + } + + return ( + + ); + }, + })} + > + {showEventOnboard ? ( + ( + { + setPastEventOnboardID(hackathon.id); + AsyncStorage.setItem( + "pastEventOnboardID", + hackathon.id + ); + }} + > + )} + > + ) : ( + + )} + + + + {!showCheckin ? null : ( + + )} + {!showCheckin ? null : ( + + )} + + + + ) + } else { + return ( + setScheduleModal(true)} + /> + ) } - /> - - ({ - tabBarIcon: ({ focused, color, size }) => { - let icon; - const selectedColor = focused - ? styles.tintColor.color - : styles.text.color; - - if (route.name === "Schedule") { - icon = faCalendar; - } else if (route.name === "Information") { - icon = faInfoCircle; - } else if (route.name === "ScavengerHunt") { - icon = faMapSigns; - } else if (route.name === "Interactions") { - icon = faClipboardCheck; - } else if (route.name === "CheckIn") { - icon = faClipboardCheck; - } - - return ( - - ); - }, - })} - > - {showEventOnboard ? ( - ( - { - setPastEventOnboardID(hackathon.id); - AsyncStorage.setItem( - "pastEventOnboardID", - hackathon.id - ); - }} - > - )} - > - ) : ( - - )} - - - - {!showCheckin ? null : ( - - )} - {!showCheckin ? null : ( - - )} - - + }} + ); }} diff --git a/app/api/api.js b/app/api/api.js index f579ffee..ba32c5b7 100644 --- a/app/api/api.js +++ b/app/api/api.js @@ -78,3 +78,24 @@ export const getRegistrationApplication = async (token, hexathonId, userId) => { }; } }; + +export const getEvents = async (token) => { + try { + const response = await fetch( + `${API_SERVICE_URLS.hexathons}/events`, + { + method: "GET", + headers: { + Authorization: "Bearer " + token, + }, + } + ); + const eventJson = await response.json(); + return { status: response.status, eventJson }; + } catch (err) { + return { + status: 500, + json: { message: "Network error when getting application" }, + }; + } +} diff --git a/app/contexts/AuthContext.js b/app/contexts/AuthContext.js index 5b992442..aa4bb58c 100644 --- a/app/contexts/AuthContext.js +++ b/app/contexts/AuthContext.js @@ -1,7 +1,7 @@ import React, { useMemo, useState, useEffect } from "react"; import { onAuthStateChanged } from "firebase/auth"; import { getAuth } from "firebase/auth"; -import { getUserProfile } from "../api/api"; +import { getUserProfile, getEvents } from "../api/api"; const AuthContext = React.createContext(); diff --git a/app/features/checkin/CheckInNFC.js b/app/features/checkin/CheckInNFC.js index 25e94d2a..7428b5a6 100644 --- a/app/features/checkin/CheckInNFC.js +++ b/app/features/checkin/CheckInNFC.js @@ -59,7 +59,7 @@ export function CheckInNFC(props) { source={source} style={{ width: Dimensions.get("window").width - 160, - resizeMode: "contain", + resizeMode: "contain" }} /> ); @@ -82,6 +82,8 @@ export function CheckInNFC(props) { } if (!success) { createAlert("There was an issue writing to the badge. Try again."); + } else { + props.navigation.goBack() } }; @@ -169,6 +171,7 @@ export function CheckInNFC(props) { justifyContent: "center", alignItems: "center", flex: 1, + zIndex: -10000 }} > diff --git a/app/features/interactions/InteractionsTab.js b/app/features/interactions/InteractionsTab.js index 1a977f66..605c66c8 100644 --- a/app/features/interactions/InteractionsTab.js +++ b/app/features/interactions/InteractionsTab.js @@ -12,9 +12,13 @@ import { EventSel } from "./EventSel"; import { ScanScreen } from "./ScanScreen"; import SearchIcon from "../../../assets/images/Search"; import { SearchBar } from "react-native-elements"; +import { DateTime } from "luxon" +import { getEvents } from "../../api/api"; +import { AuthContext } from "../../contexts/AuthContext"; export function InteractionsTab(props) { const { dynamicStyles } = useContext(ThemeContext); + const { firebaseUser } = useContext(AuthContext) const [events, setEvents] = useState(null); const [selectedEvent, setSelectedEvent] = useState(null); const [searchText, setSearchText] = useState(""); @@ -23,34 +27,37 @@ export function InteractionsTab(props) { useEffect(() => { async function refreshEventState() { // const response = await fetch("https://keystone.dev.hack.gt/admin/api", { - const response = await fetch("https://cms.hack.gt/admin/api", { - method: "POST", - headers: { - "Content-Type": `application/json`, - Accept: `application/json`, - }, - body: JSON.stringify({ - query: `query { - allEvents (orderBy: "name", where: { hackathon: { isUsedForMobileApp:true } }) { - name - endTime - startTime - startDate - url - tags { - name - } - description - location { - name - } - id - } - }`, - }), - }); - const data = await response.json(); - setEvents(data.data.allEvents); + // const response = await fetch("https://cms.hack.gt/admin/api", { + // method: "POST", + // headers: { + // "Content-Type": `application/json`, + // Accept: `application/json`, + // }, + // body: JSON.stringify({ + // query: `query { + // allEvents (orderBy: "name", where: { hackathon: { isUsedForMobileApp:true } }) { + // name + // endTime + // startTime + // startDate + // url + // tags { + // name + // } + // description + // location { + // name + // } + // id + // } + // }`, + // }), + // }); + // const data = await response.json(); + // setEvents(data.data.allEvents); + let token = await firebaseUser.getIdToken(); + let {eventJson} = await getEvents(token); + setEvents(eventJson); } refreshEventState(); @@ -89,6 +96,15 @@ export function InteractionsTab(props) { event.location[0].name != null ? event.location[0].name + " • " : ""; + + const startTime = DateTime.fromISO(event.startDate, { zone: "America/New_York" }).toLocaleString( + DateTime.TIME_SIMPLE + ); + + const endTime = DateTime.fromISO(event.endDate, { zone: "America/New_York" }).toLocaleString( + DateTime.TIME_SIMPLE + ); + console.log('APPLES: ', event.endDate, 'LSDKJFLDKSFJ', endTime) return { @@ -98,8 +114,8 @@ export function InteractionsTab(props) { }) - // shownEvents.forEach((event) => { - // const eventType = - // event != null && event.type != null - // ? event.type - // : { name: "none", color: "gray" }; - // const loc = - // event != null && - // event.location != null && - // event.location[0] != null && - // event.location[0].name != null - // ? event.location[0].name + " • " - // : ""; - // formattedEvents.push( - // { - // onPressEvent(event); - // }} - // > - // - // - // ); - // }); - return ( diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index f2f71d96..3a989a89 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -49,7 +49,7 @@ export function ScavHuntItem(props) { const token = await firebaseUser.getIdToken(); const interactionResponse = await logInteraction( token, - "scavengerHunt", + "scavenger-hunt", firebaseUser.uid, item.id ); diff --git a/app/features/schedule/EventBottomSheet.js b/app/features/schedule/EventBottomSheet.js index 068fb7ae..73d2e8c9 100644 --- a/app/features/schedule/EventBottomSheet.js +++ b/app/features/schedule/EventBottomSheet.js @@ -1,5 +1,6 @@ import React, { useEffect, useContext, useState } from "react"; import { View, StyleSheet, Text, TouchableOpacity } from "react-native"; +import { DateTime } from "luxon" import { EventTypeView } from "./EventTypeView"; import RBSheet from "react-native-raw-bottom-sheet"; import X from "../../../assets/images/X"; @@ -25,6 +26,13 @@ export function EventBottomSheet(props) { const event = props.event; const title = event.name; const description = event.description; + const startTime = DateTime.fromISO(event.startDate, { zone: "America/New_York" }).toLocaleString( + DateTime.TIME_SIMPLE + ); + + const endTime = DateTime.fromISO(event.endTime, { zone: "America/New_York" }).toLocaleString( + DateTime.TIME_SIMPLE + ); const location = event != null && event.location != null && @@ -32,8 +40,8 @@ export function EventBottomSheet(props) { event.location[0].name != null ? event.location[0].name + " • " : ""; - const start = event.startTime; - const end = event.endTime; + const start = startTime; + const end = endTime; const eventType = event != null && event.type != null ? event.type diff --git a/app/features/schedule/ScheduleTab.js b/app/features/schedule/ScheduleTab.js index 1cdb5bef..34692c90 100644 --- a/app/features/schedule/ScheduleTab.js +++ b/app/features/schedule/ScheduleTab.js @@ -27,7 +27,7 @@ export function ScheduleTab(props) { const sheetRef = useRef(null); const [selectedEvent, setSelectedEvent] = useState(null); const [eventsHappeningNow, setEventsHappeningNow] = useState([]); - + console.log('schedule state: ', state) useEffect(() => { console.log("REFRESHING"); refreshEventState(); diff --git a/app/state/hackathon/HackathonActionTypes.ts b/app/state/hackathon/HackathonActionTypes.ts index 397262d5..42ce3d0d 100644 --- a/app/state/hackathon/HackathonActionTypes.ts +++ b/app/state/hackathon/HackathonActionTypes.ts @@ -1,2 +1,3 @@ export const TOGGLE_STAR = "TOGGLE_STAR" -export const TOGGLE_STAR_SCHEDULE = "TOGGLE_STAR_SCHEDULE" \ No newline at end of file +export const TOGGLE_STAR_SCHEDULE = "TOGGLE_STAR_SCHEDULE" +export const SET_EVENTS = "SET_EVENTS" \ No newline at end of file diff --git a/app/state/hackathon/HackathonProvider.js b/app/state/hackathon/HackathonProvider.js index a747bda1..5d055c21 100644 --- a/app/state/hackathon/HackathonProvider.js +++ b/app/state/hackathon/HackathonProvider.js @@ -1,13 +1,16 @@ -import React from "react"; +import React, { useEffect, useState } from "react"; import { hackathonReducer } from "./HackathonReducer"; -import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE } from "./HackathonActionTypes"; +import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE, SET_EVENTS } from "./HackathonActionTypes"; import HackathonContext from "./HackathonContext"; +import { fetchHackathonData } from "../../cms"; +import { getEvents } from "../../api/api"; -export default function HackathonProvider({ initialValue, children }) { +export default function HackathonProvider({ initialValue, firebaseUser, children }) { const [state, dispatch] = React.useReducer(hackathonReducer, initialValue); + const [isLoading, setIsLoading] = useState(true) // could set state to state from useReducer, but for some reason it sets eventTypes to an emtpy array, so I'm just directly setting state to initialValues - const value = { + var value = { state: state, toggleStar: (event) => dispatch({ @@ -19,12 +22,47 @@ export default function HackathonProvider({ initialValue, children }) { type: TOGGLE_STAR_SCHEDULE, value: null, }), + setEvents: (events) => + dispatch({ + type: SET_EVENTS, + value: events + }) }; + useEffect(() => { + getHackathon(firebaseUser) + }, []) + + + const getHackathon = async (fUser) => { + console.log('getting hackathon for ', fUser) + const data = await fetchHackathonData() + // no response back, just return + if (data == null || data.data == null) { + return; + } + + const hackathons = data.data.allHackathons; + console.log('remote hackathons: ', hackathons) + const eventTypes = data.data.allTypes; + if (hackathons != null && hackathons.length != 0) { + console.log("Hackathon found remotely."); + var hackathon = hackathons[0]; + const token = await fUser.getIdToken() + const {eventJson} = await getEvents(token) + hackathon.events = eventJson + value.state.eventTypes = eventTypes + value.state.hackathon = hackathon + setIsLoading(false) + } else { + // if still loading, present error asking for retry + } + } + console.log("value", value, initialValue); return ( - + {children} ); diff --git a/app/state/hackathon/HackathonReducer.js b/app/state/hackathon/HackathonReducer.js index 90699951..4ff4f4d5 100644 --- a/app/state/hackathon/HackathonReducer.js +++ b/app/state/hackathon/HackathonReducer.js @@ -1,4 +1,4 @@ -import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE } from './HackathonActionTypes' +import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE, SET_EVENTS } from './HackathonActionTypes' import { turnToEst } from "../../cms/DataHandler"; import AsyncStorage from "@react-native-community/async-storage" @@ -14,11 +14,17 @@ export function hackathonReducer(state, action) { return { ...state, 'starredIds': toggleStarred(state.starredIds, action.value) } case TOGGLE_STAR_SCHEDULE : return { ...state, 'isStarSchedule': !state.isStarSchedule } + case SET_EVENTS: + return { ...state, 'events' : setEvents(action.value)} default: return state } } +function setEvents(events) { + return events +} + function toggleStarred(starredIds, event) { const toggleEventId = event.id; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 821d2f95..632a4063 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -561,7 +561,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: f1c419fe650abad7add5d3dd7b5c2399aacf99d2 + FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -572,7 +572,7 @@ SPEC CHECKSUMS: GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 + Permission-Camera: 597646618d1edcc055a3f660844c2ee6de8e0596 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 @@ -585,12 +585,12 @@ SPEC CHECKSUMS: React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 - react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 - react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa - react-native-nfc-manager: c2c638bd5dfeec95d4750a2baf9307ff4633e711 - react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 - react-native-user-agent: 594b689d097a85c24128d2458803586d5e5cb1f7 - react-native-webview: a192040320142d8f10d652a745c46e4f43e37f8c + react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 + react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f + react-native-nfc-manager: 449c2c400a4f0ab3b8c084a713f41762a26b3307 + react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 + react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 + react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 @@ -604,15 +604,15 @@ SPEC CHECKSUMS: React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 - RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 - RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 - RNCPushNotificationIOS: 089da3b657e1e3d464f38195fd2e3069608ef5af + RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 + RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 + RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45 RNFBApp: 9c90f9d576861947ba75fe0830567c570bcbcf6d RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNInAppBrowser: 9066f16e763951ea2a70c191934274b955cb6ec8 - RNPermissions: b4522b438784c979764461e1beba55250654bada + RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 + RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f @@ -621,4 +621,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: e1f418a9f57dd614e87ed172b615b101271eb2d5 -COCOAPODS: 1.11.3 +COCOAPODS: 1.11.2 diff --git a/package-lock.json b/package-lock.json index 36e3088f..a9f88379 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,9 +20,9 @@ "@react-navigation/bottom-tabs": "^5.11.15", "@react-navigation/native": "^5.9.8", "@react-navigation/stack": "^5.14.9", - "buffer": "^5.6.0", "Buffer": "^0.0.0", "firebase": "^9.9.4", + "luxon": "^3.0.4", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ndef": "^0.2.0", @@ -6196,6 +6196,29 @@ "node-int64": "^0.4.0" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/Buffer": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/Buffer/-/Buffer-0.0.0.tgz", @@ -12661,6 +12684,14 @@ "node": ">=10" } }, + "node_modules/luxon": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.0.4.tgz", + "integrity": "sha512-aV48rGUwP/Vydn8HT+5cdr26YYQiUZ42NM6ToMoaGKwYfWbfLeRkEu1wXWMHBZT6+KyLfcbbtVcoQFCbbPjKlw==", + "engines": { + "node": ">=12" + } + }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -14551,29 +14582,6 @@ "node": ">=4" } }, - "node_modules/qrcode/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/qrcode/node_modules/cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -22977,6 +22985,15 @@ "node-int64": "^0.4.0" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "Buffer": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/Buffer/-/Buffer-0.0.0.tgz", @@ -28143,6 +28160,11 @@ "yallist": "^4.0.0" } }, + "luxon": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.0.4.tgz", + "integrity": "sha512-aV48rGUwP/Vydn8HT+5cdr26YYQiUZ42NM6ToMoaGKwYfWbfLeRkEu1wXWMHBZT6+KyLfcbbtVcoQFCbbPjKlw==" + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -29726,15 +29748,6 @@ "color-convert": "^1.9.0" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", diff --git a/package.json b/package.json index 5d138e37..92c24eb4 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,9 @@ "@react-navigation/bottom-tabs": "^5.11.15", "@react-navigation/native": "^5.9.8", "@react-navigation/stack": "^5.14.9", - "buffer": "^5.6.0", "Buffer": "^0.0.0", "firebase": "^9.9.4", + "luxon": "^3.0.4", "moment": "^2.29.1", "moment-timezone": "^0.5.33", "ndef": "^0.2.0", From 168c22138824d6110a5bdfe192d0c5e0a7221151 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Tue, 18 Oct 2022 23:28:52 -0400 Subject: [PATCH 069/102] fixing problems that only exist because of ayush --- .../interactions/InteractionScreen.js | 6 ++++-- app/features/schedule/EventBottomSheet.js | 5 +---- app/features/schedule/EventTypeView.js | 20 ++++++++++++++++--- app/features/schedule/ScheduleEventCell.js | 11 +++++----- app/util.js | 13 ++++++++++++ 5 files changed, 40 insertions(+), 15 deletions(-) create mode 100644 app/util.js diff --git a/app/features/interactions/InteractionScreen.js b/app/features/interactions/InteractionScreen.js index 2706ebc3..a6e8a402 100644 --- a/app/features/interactions/InteractionScreen.js +++ b/app/features/interactions/InteractionScreen.js @@ -3,11 +3,13 @@ import { ScrollView, Text, Pressable, View, StyleSheet } from 'react-native'; import { createIconSetFromFontello } from 'react-native-vector-icons'; import { ThemeContext } from "../../contexts/ThemeContext"; import { ScanScreen } from "./ScanScreen"; +import { getStartEndTime } from "../../util" export function InteractionScreen(props) { const selectedEvent = props.route.params.selectedEvent; const { dynamicStyles } = useContext(ThemeContext); - console.log('nav: ', props.navigation) + console.log('selevent: ', selectedEvent) + const { startTime, endTime } = getStartEndTime(selectedEvent.startDate, selectedEvent.endDate) return ( @@ -44,7 +46,7 @@ export function InteractionScreen(props) { selectedEvent.location[0].name != null ? selectedEvent.location[0].name + " • " : ""} - {selectedEvent.startTime + " - " + selectedEvent.endTime} + {startTime + " - " + endTime} diff --git a/app/features/schedule/EventTypeView.js b/app/features/schedule/EventTypeView.js index b41631b2..5ea90048 100644 --- a/app/features/schedule/EventTypeView.js +++ b/app/features/schedule/EventTypeView.js @@ -3,10 +3,24 @@ import { View, StyleSheet, Text } from "react-native"; import Svg, { Circle } from "react-native-svg"; export function EventTypeView(props) { + + const eventTypeColorMap = { + 'ceremony': '#b52c22', + 'food': '#19458c', + 'important': '#2CDACF', + 'mini-challenge': '#C866F5', + 'mini-event': '#FF8D28', + 'speaker': '#FF586C', + 'submission-expo': 'white', + 'tech-talk': '#FFB6C1', + 'workshop': '#786CEB' + } + const radius = 6; const size = radius * 2; - const eventType = props.eventType ?? { name: "none", color: "gray" }; - const color = eventType.color ?? "white"; + // const eventType = props.eventType ?? { name: "none", color: "gray" }; + const eventType = props.eventType; + const color = eventTypeColorMap[eventType] ?? "white"; return ( @@ -20,7 +34,7 @@ export function EventTypeView(props) { fontFamily: "SpaceMono-Regular", }} > - {eventType.name} + {eventType} ); diff --git a/app/features/schedule/ScheduleEventCell.js b/app/features/schedule/ScheduleEventCell.js index 4cf150dc..1c521946 100644 --- a/app/features/schedule/ScheduleEventCell.js +++ b/app/features/schedule/ScheduleEventCell.js @@ -6,17 +6,16 @@ import { HackathonContext } from "../../state/hackathon"; import { EventTypeView } from "./EventTypeView"; import { Card } from "../../components/Card"; import { ThemeContext } from "../../contexts/ThemeContext"; +import { getStartEndTime } from "../../util"; export function ScheduleEventCell(props) { const { state, toggleStar } = useContext(HackathonContext); const { dynamicStyles } = useContext(ThemeContext); const event = props.event; - const eventType = - event != null && event.type != null - ? event.type - : { name: "none", color: "gray" }; + const eventType = event.type ?? 'none' const title = event.name; + const { startTime, endTime } = getStartEndTime(event.startDate, event.endDate) const location = event != null && event.location != null && @@ -24,8 +23,8 @@ export function ScheduleEventCell(props) { event.location[0].name != null ? event.location[0].name + " • " : ""; - const start = event.startTime; - const end = event.endTime; + const start = startTime; + const end = endTime; const isStarred = state.starredIds.indexOf(event.id) != -1; diff --git a/app/util.js b/app/util.js new file mode 100644 index 00000000..67d48758 --- /dev/null +++ b/app/util.js @@ -0,0 +1,13 @@ +import { DateTime } from "luxon" + +export function getStartEndTime(startDate, endDate) { + const startTime = DateTime.fromISO(event.startDate, { zone: "America/New_York" }).toLocaleString( + DateTime.TIME_SIMPLE + ); + + const endTime = DateTime.fromISO(event.endDate, { zone: "America/New_York" }).toLocaleString( + DateTime.TIME_SIMPLE + ); + + return { startTime, endTime } +} \ No newline at end of file From 42ec04869306614d2b2f1de47968f87e443b4661 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Tue, 18 Oct 2022 23:31:29 -0400 Subject: [PATCH 070/102] refactor --- app/features/interactions/InteractionsTab.js | 10 ++-------- app/features/schedule/EventBottomSheet.js | 10 ++-------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/app/features/interactions/InteractionsTab.js b/app/features/interactions/InteractionsTab.js index 605c66c8..a79314c9 100644 --- a/app/features/interactions/InteractionsTab.js +++ b/app/features/interactions/InteractionsTab.js @@ -12,7 +12,7 @@ import { EventSel } from "./EventSel"; import { ScanScreen } from "./ScanScreen"; import SearchIcon from "../../../assets/images/Search"; import { SearchBar } from "react-native-elements"; -import { DateTime } from "luxon" +import { getStartEndTime } from "../../util"; import { getEvents } from "../../api/api"; import { AuthContext } from "../../contexts/AuthContext"; @@ -97,13 +97,7 @@ export function InteractionsTab(props) { ? event.location[0].name + " • " : ""; - const startTime = DateTime.fromISO(event.startDate, { zone: "America/New_York" }).toLocaleString( - DateTime.TIME_SIMPLE - ); - - const endTime = DateTime.fromISO(event.endDate, { zone: "America/New_York" }).toLocaleString( - DateTime.TIME_SIMPLE - ); + const { startTime, endTime } = getStartEndTime(event.startDate, event.endDate) console.log('APPLES: ', event.endDate, 'LSDKJFLDKSFJ', endTime) return Date: Wed, 19 Oct 2022 00:06:49 -0400 Subject: [PATCH 071/102] fixed issue with starring, added parameter for current hackathon, and fixed bugs with types --- app/api/api.js | 2 +- app/cms/index.js | 4 +-- app/features/interactions/InteractionsTab.js | 34 +------------------- app/features/interactions/ScanScreen.js | 4 ++- app/features/schedule/EventBottomSheet.js | 4 +-- app/features/schedule/EventTypeView.js | 2 +- app/features/schedule/ScheduleSearch.js | 2 +- app/state/hackathon/HackathonReducer.js | 7 ++-- 8 files changed, 16 insertions(+), 43 deletions(-) diff --git a/app/api/api.js b/app/api/api.js index ba32c5b7..75b41962 100644 --- a/app/api/api.js +++ b/app/api/api.js @@ -82,7 +82,7 @@ export const getRegistrationApplication = async (token, hexathonId, userId) => { export const getEvents = async (token) => { try { const response = await fetch( - `${API_SERVICE_URLS.hexathons}/events`, + `${API_SERVICE_URLS.hexathons}/events?hexathon=${CURRENT_HEXATHON.id}`, { method: "GET", headers: { diff --git a/app/cms/index.js b/app/cms/index.js index 1ce0c0b1..1b955d60 100644 --- a/app/cms/index.js +++ b/app/cms/index.js @@ -63,8 +63,8 @@ const hackathonQuery = ` `; const getHackathonData = async (queryString) => { - return fetch("https://keystone.dev.hack.gt/admin/api", { - // return fetch("https://cms.hack.gt/admin/api", { + // return fetch("https://keystone.dev.hack.gt/admin/api", { + return fetch("https://cms.hack.gt/admin/api", { method: "POST", headers: { "Content-Type": `application/json`, diff --git a/app/features/interactions/InteractionsTab.js b/app/features/interactions/InteractionsTab.js index a79314c9..f4da7f51 100644 --- a/app/features/interactions/InteractionsTab.js +++ b/app/features/interactions/InteractionsTab.js @@ -26,35 +26,6 @@ export function InteractionsTab(props) { useEffect(() => { async function refreshEventState() { - // const response = await fetch("https://keystone.dev.hack.gt/admin/api", { - // const response = await fetch("https://cms.hack.gt/admin/api", { - // method: "POST", - // headers: { - // "Content-Type": `application/json`, - // Accept: `application/json`, - // }, - // body: JSON.stringify({ - // query: `query { - // allEvents (orderBy: "name", where: { hackathon: { isUsedForMobileApp:true } }) { - // name - // endTime - // startTime - // startDate - // url - // tags { - // name - // } - // description - // location { - // name - // } - // id - // } - // }`, - // }), - // }); - // const data = await response.json(); - // setEvents(data.data.allEvents); let token = await firebaseUser.getIdToken(); let {eventJson} = await getEvents(token); setEvents(eventJson); @@ -85,10 +56,7 @@ export function InteractionsTab(props) { // var shownEvents = searchText.length != 0 ? searchResults : events; const formattedEvents = !events ? [] : events.filter(e => e.name.includes(searchText)).map(event => { - const eventType = - event != null && event.type != null - ? event.type - : { name: "none", color: "gray" }; + const eventType = event.type ?? 'none'; const loc = event != null && event.location != null && diff --git a/app/features/interactions/ScanScreen.js b/app/features/interactions/ScanScreen.js index 456aa490..5f5522d9 100644 --- a/app/features/interactions/ScanScreen.js +++ b/app/features/interactions/ScanScreen.js @@ -93,6 +93,7 @@ export function ScanScreen(props) { const token = await firebaseUser.getIdToken(); const userProfileResponse = await getUserProfile(token, uid); if (userProfileResponse.status !== 200) { + setStatus(userProfileResponse.status); createAlert(userProfileResponse.json.message); return false; } @@ -100,7 +101,6 @@ export function ScanScreen(props) { setfName(userProfileResponse.json.name.first); setlName(userProfileResponse.json.name.last); setEmail(userProfileResponse.json.email); - setStatus(userProfileResponse.json.status); const interactionResponse = await logInteraction( token, @@ -108,6 +108,8 @@ export function ScanScreen(props) { uid, props.eventID ); + setStatus(interactionResponse.status); + if (interactionResponse.status !== 200) { createAlert(interactionResponse.json.message); return false; diff --git a/app/features/schedule/EventBottomSheet.js b/app/features/schedule/EventBottomSheet.js index fd7145d8..c25d8bfd 100644 --- a/app/features/schedule/EventBottomSheet.js +++ b/app/features/schedule/EventBottomSheet.js @@ -76,7 +76,7 @@ export function EventBottomSheet(props) { ))} - {event.url !== null ? ( + {!event.url ? null : ( - ) : null} + )} {description} diff --git a/app/features/schedule/EventTypeView.js b/app/features/schedule/EventTypeView.js index 5ea90048..36a9251a 100644 --- a/app/features/schedule/EventTypeView.js +++ b/app/features/schedule/EventTypeView.js @@ -11,7 +11,7 @@ export function EventTypeView(props) { 'mini-challenge': '#C866F5', 'mini-event': '#FF8D28', 'speaker': '#FF586C', - 'submission-expo': 'white', + 'submission-expo': '#77DD77', 'tech-talk': '#FFB6C1', 'workshop': '#786CEB' } diff --git a/app/features/schedule/ScheduleSearch.js b/app/features/schedule/ScheduleSearch.js index 2de28c68..36d34f6e 100644 --- a/app/features/schedule/ScheduleSearch.js +++ b/app/features/schedule/ScheduleSearch.js @@ -79,7 +79,7 @@ export function ScheduleSearch(props) { let eventNameLowerCase = event.name.toLowerCase(); let eventDescriptionLowerCase = ""; let eventTypeLowerCase = ""; - const name = event.type && event.type.name ? event.type.name : null; + const name = event.type; if (event.description != null) { eventDescriptionLowerCase = event.description.toLowerCase(); diff --git a/app/state/hackathon/HackathonReducer.js b/app/state/hackathon/HackathonReducer.js index 4ff4f4d5..7f2cfabf 100644 --- a/app/state/hackathon/HackathonReducer.js +++ b/app/state/hackathon/HackathonReducer.js @@ -44,7 +44,7 @@ function toggleStarred(starredIds, event) { // add to starred state, then update storage const newStarred = [...starredIds, toggleEventId] - AsyncStorage.setItem("starredIds", JSON.stringify(starredIds)); + AsyncStorage.setItem("starredIds", JSON.stringify(newStarred)); return newStarred; } else { // cancel notification if previously starred @@ -53,8 +53,11 @@ function toggleStarred(starredIds, event) { }); // remove from starred state, then update storage + console.log('starred toggle: ', toggleEventId) + console.log('starred before: ', starredIds) const newStarred = starredIds.filter((id) => id !== toggleEventId); - AsyncStorage.setItem("starredIds", JSON.stringify(starredIds)); + AsyncStorage.setItem("starredIds", JSON.stringify(newStarred)); + console.log('starred after: ', starredIds) return newStarred; } }; \ No newline at end of file From 349b1383677f41fae6d681a51e305f49da101591 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 00:09:23 -0400 Subject: [PATCH 072/102] removed events from cms query --- app/cms/index.js | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/app/cms/index.js b/app/cms/index.js index 1b955d60..a5d8ad62 100644 --- a/app/cms/index.js +++ b/app/cms/index.js @@ -5,32 +5,6 @@ const hackathonQuery = ` name slackUrl isActive - events(orderBy: "startDate") { - id - name - url - startDay - startTime - startDate - endDay - endTime - endDate - description - tags { - id - name - } - type { - id - name - color - } - location { - id - name - capacity - } - } blocks { id name From e561844cc127e0321dd5402dc59b9ab693945898 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 00:17:14 -0400 Subject: [PATCH 073/102] code cleanup, mostly removing console logs --- App.js | 116 +----------------- app/contexts/AuthContext.js | 1 - .../interactions/InteractionScreen.js | 1 - app/features/interactions/InteractionsTab.js | 1 - app/features/onboarding/LoginOnboarding.js | 6 +- .../scavengerHunt/ScavengerHuntTab.js | 1 - app/state/hackathon/HackathonReducer.js | 3 - 7 files changed, 3 insertions(+), 126 deletions(-) diff --git a/App.js b/App.js index b4a1935a..4467a853 100644 --- a/App.js +++ b/App.js @@ -150,44 +150,6 @@ function App(props) { } }); setIsFetchingData(false) - console.log('SDLFKJL') - // AsyncStorage.getItem("localHackathonData", (error, result) => { - // if (result) { - // console.log("Hackathon found locally."); - // const hackathon = JSON.parse(result); - // if (hackathon != null) { - // console.log('async hackathon: ', hackathon) - // setHackathon(hackathon); - // setIsFetchingData(false); - // } - // } - - // fetchHackathonData().then((data) => { - // // no response back, just return - // if (data == null || data.data == null) { - // return; - // } - - // const hackathons = data.data.allHackathons; - // console.log('remote hackathons: ', hackathons) - // const eventTypes = data.data.allTypes; - // if (hackathons != null && hackathons.length != 0) { - // console.log("Hackathon found remotely."); - // var hackathon = hackathons[0]; - // hackathon.events = [] - - // AsyncStorage.setItem("localHackathonData", JSON.stringify(hackathon)); - // AsyncStorage.setItem("localTypeData", JSON.stringify(eventTypes)); - - // setEventTypes(eventTypes); - - // setHackathon(hackathon); - // setIsFetchingData(false); - // } else { - // // if still loading, present error asking for retry - // } - // }); - // }); }; useEffect(() => { @@ -214,67 +176,6 @@ function App(props) { ); }, [isStarSchedule]); - // useEffect(() => { - // console.log('toggling starred ids', starredIds) - // updateStorage() - // }, [starredIds]) - - // const updateStorage = () => { - // AsyncStorage.setItem("starredIds", JSON.stringify(starredIds)); - // } - - // Not used anymore, but keeping just in case (look at HackathonReducer.js) - // const toggleIsStarSchedule = () => { - // setIsStarSchedule(!isStarSchedule) - // }; - - // Not used anymore, but keeping just in case (look at HackathonReducer.js) - // const toggleStarred = (event) => { - // const toggleEventId = event.id; - - // const isNowStarred = starredIds.indexOf(toggleEventId) == -1; - - // let eventIdNumber = toggleEventId.replace(/\D/g, "").substring(1, 5); - // eventIdNumber = Number.parseInt(eventIdNumber); - - // if (isNowStarred) { - // // schedule notification for 15 min before - // PushNotification.localNotificationSchedule({ - // channelId: "hackgt-channel", - // id: eventIdNumber + "", // map string into a unique id for cancellation - // message: event.name + " is starting in 15 minutes! ", - // date: new Date(turnToEst(event.startDate).toDate() - 15 * 60 * 1000), // schedule it for its time - 15 minutes - // }); - - // // add to starred state, then update storage - // setStarredIds([...starredIds, toggleEventId]); - - // return true; - // } else { - // // cancel notification if previously starred - // PushNotification.cancelLocalNotifications({ - // id: eventIdNumber + "", - // }); - - // // remove from starred state, then update storage - // setStarredIds(starredIds.filter((id) => id !== toggleEventId)); - // return false; - // } - // }; - - // groundtruth login - // const login = async () => { - // try { - // const result = await authorize(config); - // console.log('Login result: ', result, result['accessToken'], result.accessToken) - // setAccessToken(result.accessToken) - // fetchUserDetails(result.accessToken); - // AsyncStorage.setItem("accessToken", result.accessToken); - // } catch (error) { - // console.log(error); - // } - // }; - const Stack = createStackNavigator(); const splashGrowModal = ( @@ -282,14 +183,12 @@ function App(props) { setScheduleModal(true)} /> ); - console.log('$%^&') return ( {({ loading, showLogin, user, firebaseUser }) => { // until app is done loading data, show the splash screen - console.log('asdf', loading, isFetchingData) if (loading || isFetchingData) { return ( ); } - // if (!hackathon) { - // getHackathon(firebaseUser) - // return ( - // setScheduleModal(true)} - // /> - // ); - // } - // const showEventOnboard = pastEventOnboardID !== hackathon.id; - const showEventOnboard = false - // if logging in with a hexlabs email - // const showCheckin = /@hexlabs.org\s*$/.test(user.email) const showCheckin = user && user.roles.member; // once logged in and all data is loaded, present full app after grow animation return ( @@ -336,6 +222,8 @@ function App(props) { {({isLoading}) => { if (!isLoading) { + // const showEventOnboard = pastEventOnboardID !== hackathon.id; + const showEventOnboard = false; return ( <> {!scheduleModal && splashGrowModal} diff --git a/app/contexts/AuthContext.js b/app/contexts/AuthContext.js index aa4bb58c..0093a482 100644 --- a/app/contexts/AuthContext.js +++ b/app/contexts/AuthContext.js @@ -17,7 +17,6 @@ const AuthProvider = ({ app, children }) => { const unsubscribe = onAuthStateChanged(auth, async (fUser) => { if (fUser) { setLoading(true); - console.log("FIRUser:", fUser); setFirebaseUser(fUser); const token = await fUser.getIdToken(); const { status, json } = await getUserProfile(token, fUser.uid); diff --git a/app/features/interactions/InteractionScreen.js b/app/features/interactions/InteractionScreen.js index a6e8a402..389e0f80 100644 --- a/app/features/interactions/InteractionScreen.js +++ b/app/features/interactions/InteractionScreen.js @@ -8,7 +8,6 @@ import { getStartEndTime } from "../../util" export function InteractionScreen(props) { const selectedEvent = props.route.params.selectedEvent; const { dynamicStyles } = useContext(ThemeContext); - console.log('selevent: ', selectedEvent) const { startTime, endTime } = getStartEndTime(selectedEvent.startDate, selectedEvent.endDate) return ( diff --git a/app/features/interactions/InteractionsTab.js b/app/features/interactions/InteractionsTab.js index f4da7f51..600da050 100644 --- a/app/features/interactions/InteractionsTab.js +++ b/app/features/interactions/InteractionsTab.js @@ -66,7 +66,6 @@ export function InteractionsTab(props) { : ""; const { startTime, endTime } = getStartEndTime(event.startDate, event.endDate) - console.log('APPLES: ', event.endDate, 'LSDKJFLDKSFJ', endTime) return { diff --git a/app/features/onboarding/LoginOnboarding.js b/app/features/onboarding/LoginOnboarding.js index 68d5383d..af3f34bd 100644 --- a/app/features/onboarding/LoginOnboarding.js +++ b/app/features/onboarding/LoginOnboarding.js @@ -44,19 +44,16 @@ export function LoginOnboarding(props) { const codeParam = params.find((param) => param.startsWith("idToken")); if (codeParam) { const idToken = codeParam.split("=")[1]; - console.log("idToken: ", idToken); fetchAccessToken(idToken); } } } - console.log(JSON.stringify(result)); } catch (error) { - console.log(error); + console.log(error) } }; const fetchAccessToken = async (idToken) => { - console.log("token: ", idToken); fetch(`${AUTH_URL + "/auth/status"}/`, { method: "GET", headers: { @@ -67,7 +64,6 @@ export function LoginOnboarding(props) { return response.json(); }) .then((authJson) => { - console.log("auth: ", authJson); const customToken = authJson.customToken; signInWithCustomToken(auth, customToken); }); diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index 3e4f1f73..f84582a1 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -44,7 +44,6 @@ export function ScavengerHuntTab(props) { () => { // The screen is focused fetchServerTime().then((timeData) => { - console.log("Got time: ", timeData); setCurrentDate(Date.parse(timeData.datetime)); }); }, diff --git a/app/state/hackathon/HackathonReducer.js b/app/state/hackathon/HackathonReducer.js index 7f2cfabf..54051fc7 100644 --- a/app/state/hackathon/HackathonReducer.js +++ b/app/state/hackathon/HackathonReducer.js @@ -53,11 +53,8 @@ function toggleStarred(starredIds, event) { }); // remove from starred state, then update storage - console.log('starred toggle: ', toggleEventId) - console.log('starred before: ', starredIds) const newStarred = starredIds.filter((id) => id !== toggleEventId); AsyncStorage.setItem("starredIds", JSON.stringify(newStarred)); - console.log('starred after: ', starredIds) return newStarred; } }; \ No newline at end of file From 4a502500955249fc41b1e2fb5e6402beb3f7c55d Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 00:30:31 -0400 Subject: [PATCH 074/102] removed some console logs --- app/features/schedule/EventBottomSheet.js | 1 - app/state/hackathon/HackathonProvider.js | 4 ---- 2 files changed, 5 deletions(-) diff --git a/app/features/schedule/EventBottomSheet.js b/app/features/schedule/EventBottomSheet.js index c25d8bfd..48bd0153 100644 --- a/app/features/schedule/EventBottomSheet.js +++ b/app/features/schedule/EventBottomSheet.js @@ -16,7 +16,6 @@ export function EventBottomSheet(props) { const [addStarButton, setAddStarButton] = useState( props.event ? state.starredIds.indexOf(props.event.id) == -1 : true ); - console.log("SELECTED EVENT: ", props.event); useEffect(() => { setAddStarButton( props.event ? state.starredIds.indexOf(props.event.id) == -1 : false diff --git a/app/state/hackathon/HackathonProvider.js b/app/state/hackathon/HackathonProvider.js index 5d055c21..55bdf184 100644 --- a/app/state/hackathon/HackathonProvider.js +++ b/app/state/hackathon/HackathonProvider.js @@ -35,7 +35,6 @@ export default function HackathonProvider({ initialValue, firebaseUser, children const getHackathon = async (fUser) => { - console.log('getting hackathon for ', fUser) const data = await fetchHackathonData() // no response back, just return if (data == null || data.data == null) { @@ -43,10 +42,8 @@ export default function HackathonProvider({ initialValue, firebaseUser, children } const hackathons = data.data.allHackathons; - console.log('remote hackathons: ', hackathons) const eventTypes = data.data.allTypes; if (hackathons != null && hackathons.length != 0) { - console.log("Hackathon found remotely."); var hackathon = hackathons[0]; const token = await fUser.getIdToken() const {eventJson} = await getEvents(token) @@ -59,7 +56,6 @@ export default function HackathonProvider({ initialValue, firebaseUser, children } } - console.log("value", value, initialValue); return ( From fad27ba4c0475f5961a726eda3cbc1ddd8f7b84b Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 00:31:03 -0400 Subject: [PATCH 075/102] removed more console logs --- app/features/schedule/ScheduleEventCell.js | 1 - app/features/schedule/ScheduleTab.js | 4 ---- 2 files changed, 5 deletions(-) diff --git a/app/features/schedule/ScheduleEventCell.js b/app/features/schedule/ScheduleEventCell.js index 1c521946..24a9f65e 100644 --- a/app/features/schedule/ScheduleEventCell.js +++ b/app/features/schedule/ScheduleEventCell.js @@ -41,7 +41,6 @@ export function ScheduleEventCell(props) { { - console.log("toggling star pressed", event.id); toggleStar(event); }} > diff --git a/app/features/schedule/ScheduleTab.js b/app/features/schedule/ScheduleTab.js index 34692c90..f85fcbb5 100644 --- a/app/features/schedule/ScheduleTab.js +++ b/app/features/schedule/ScheduleTab.js @@ -27,9 +27,7 @@ export function ScheduleTab(props) { const sheetRef = useRef(null); const [selectedEvent, setSelectedEvent] = useState(null); const [eventsHappeningNow, setEventsHappeningNow] = useState([]); - console.log('schedule state: ', state) useEffect(() => { - console.log("REFRESHING"); refreshEventState(); // update time changes whenever app opens @@ -48,7 +46,6 @@ export function ScheduleTab(props) { const onPressEvent = (event) => { if (event) { setSelectedEvent(event); - console.log("REF", sheetRef); sheetRef.current.open(); } else { setSelectedEvent(null); @@ -68,7 +65,6 @@ export function ScheduleTab(props) { data={eventsHappeningNow} keyExtractor={(item, index) => (item && item.id ? item.id : index)} renderItem={({ item }) => { - console.log("ITEM: ", item); return ( Date: Wed, 19 Oct 2022 00:36:23 -0400 Subject: [PATCH 076/102] updated checkin tab icon --- App.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/App.js b/App.js index 4467a853..12ab92b4 100644 --- a/App.js +++ b/App.js @@ -16,6 +16,7 @@ import { faCalendar, faMapSigns, faClipboardCheck, + faIdBadge, } from "@fortawesome/free-solid-svg-icons"; import AsyncStorage from "@react-native-community/async-storage"; import { authorize } from "react-native-app-auth"; @@ -259,7 +260,7 @@ function App(props) { } else if (route.name === "Interactions") { icon = faClipboardCheck; } else if (route.name === "CheckIn") { - icon = faClipboardCheck; + icon = faIdBadge; } return ( From 3e5ba212c4b316f9304f0c6d84a670796d0be476 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 01:07:55 -0400 Subject: [PATCH 077/102] updated component to remove start and end dates and other adjustments --- .../scavengerHunt/ScavengerHuntTab.js | 70 +++---------------- 1 file changed, 11 insertions(+), 59 deletions(-) diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index f84582a1..66c97730 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -12,7 +12,6 @@ import { faLock } from "@fortawesome/free-solid-svg-icons"; import AsyncStorage from "@react-native-community/async-storage"; import { HackathonContext } from "../../state/hackathon"; import { ScavHuntContext } from "../../state/scavHunt"; -import { fetchServerTime } from "../../cms"; import moment from "moment-timezone"; import QRCode from "react-native-qrcode-svg"; import { ThemeContext } from "../../contexts/ThemeContext"; @@ -25,6 +24,7 @@ export function ScavengerHuntTab(props) { const [currentDate, setCurrentDate] = useState( Date.parse("2000-01-01T20:30:00.000000-04:00") ); + console.log('sdf', hackathon) useEffect(() => { AsyncStorage.getItem("completedHints", (error, result) => { if (result) { @@ -38,47 +38,21 @@ export function ScavengerHuntTab(props) { }); }, []); - useEffect(() => { - const unsubscribe = props.navigation.addListener( - "focus", - () => { - // The screen is focused - fetchServerTime().then((timeData) => { - setCurrentDate(Date.parse(timeData.datetime)); - }); - }, - [props.navigation] - ); - return unsubscribe; - }); - - var scavHunts = hackathon.scavengerHunts; + var scavHunts = hackathon.scavengerHunts.filter(challenge => challenge.isQR ); scavHunts.sort((item1, item2) => { - const d1 = Date.parse(item1.releaseDate); - const d2 = Date.parse(item2.releaseDate); - return d1 - d2; - }); - const crosswordPuzzleChallenges = scavHunts.filter((challenge) => { - !challenge.isQR; + return item1.index - item2.index; }); - console.log(scavHunts); - var crosswordPuzzleButton = null; - - if (crosswordPuzzleChallenges.length == 0) { - const available = true; - const isComplete = false; - crosswordPuzzleButton = () => ( + const crosswordPuzzleChallenges = hackathon.scavengerHunts.filter(challenge => !challenge.isQR ); + const crosswordPuzzleButton = () => { + return crosswordPuzzleChallenges.length === 0 ? null : { @@ -88,25 +62,16 @@ export function ScavengerHuntTab(props) { }); }} > - {available ? null : ( - - )} {"Crossword Puzzle"} - ); } const scavHuntButtons = scavHunts.map((challenge) => { if (!challenge.isQR) { @@ -116,18 +81,8 @@ export function ScavengerHuntTab(props) { ...challenge, releaseDate: Date.parse(challenge.releaseDate), }; - const available = new Date(item.releaseDate) < currentDate; + const available = true const isComplete = state.completedHints.includes(item.id); - console.log( - "Scav Hunt info: \nRelease date", - new Date(item.releaseDate), - "current date: ", - currentDate, - "available: ", - available, - "isComplete: ", - isComplete - ); return ( {item.title} - - {"Available " + moment(item.releaseDate).format("MMM D [at] h:mm A")} - ); }); @@ -238,7 +190,7 @@ const styles = StyleSheet.create({ }, buttonHeaderText: { - paddingTop: 5, + padding: 10, textAlign: "center", fontFamily: "SpaceMono-Bold", fontSize: 16, From 275793f10116d1ac6cea2083d76859aa76642efb Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 01:18:07 -0400 Subject: [PATCH 078/102] Update deps --- ios/Podfile.lock | 28 ++++++++++----------- package-lock.json | 64 +++++++++++++++++++++++------------------------ 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 632a4063..821d2f95 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -561,7 +561,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f + FBReactNativeSpec: f1c419fe650abad7add5d3dd7b5c2399aacf99d2 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -572,7 +572,7 @@ SPEC CHECKSUMS: GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Permission-Camera: 597646618d1edcc055a3f660844c2ee6de8e0596 + Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 @@ -585,12 +585,12 @@ SPEC CHECKSUMS: React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 - react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 - react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f - react-native-nfc-manager: 449c2c400a4f0ab3b8c084a713f41762a26b3307 - react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 - react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 - react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 + react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 + react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa + react-native-nfc-manager: c2c638bd5dfeec95d4750a2baf9307ff4633e711 + react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 + react-native-user-agent: 594b689d097a85c24128d2458803586d5e5cb1f7 + react-native-webview: a192040320142d8f10d652a745c46e4f43e37f8c React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 @@ -604,15 +604,15 @@ SPEC CHECKSUMS: React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 - RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 - RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 - RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45 + RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 + RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 + RNCPushNotificationIOS: 089da3b657e1e3d464f38195fd2e3069608ef5af RNFBApp: 9c90f9d576861947ba75fe0830567c570bcbcf6d RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 - RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f + RNInAppBrowser: 9066f16e763951ea2a70c191934274b955cb6ec8 + RNPermissions: b4522b438784c979764461e1beba55250654bada RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f @@ -621,4 +621,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: e1f418a9f57dd614e87ed172b615b101271eb2d5 -COCOAPODS: 1.11.2 +COCOAPODS: 1.11.3 diff --git a/package-lock.json b/package-lock.json index a9f88379..ae3fe91f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6196,29 +6196,6 @@ "node-int64": "^0.4.0" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/Buffer": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/Buffer/-/Buffer-0.0.0.tgz", @@ -14582,6 +14559,29 @@ "node": ">=4" } }, + "node_modules/qrcode/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/qrcode/node_modules/cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -22985,15 +22985,6 @@ "node-int64": "^0.4.0" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "Buffer": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/Buffer/-/Buffer-0.0.0.tgz", @@ -29748,6 +29739,15 @@ "color-convert": "^1.9.0" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", From 40ce9050802368a6ccc718818e7923b0a81a30b0 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 01:18:14 -0400 Subject: [PATCH 079/102] Remove event types from CMS and hardcode --- App.js | 26 +++------ app/api/api.js | 14 ++++- app/cms/index.js | 71 +++++++++++------------- app/components/FilterSelect.js | 11 +--- app/features/schedule/EventTypeView.js | 17 +----- app/state/hackathon/HackathonProvider.js | 42 +++++++------- 6 files changed, 83 insertions(+), 98 deletions(-) diff --git a/App.js b/App.js index 12ab92b4..a0d8f422 100644 --- a/App.js +++ b/App.js @@ -35,7 +35,7 @@ import { InformationStackScreen, ScavengerHuntStackScreen, InteractionsStackScreen, - CheckInStackScreen + CheckInStackScreen, } from "./app/navigation"; import { HackathonProvider } from "./app/state/hackathon"; import { ThemeProvider } from "./app/contexts/ThemeContext"; @@ -115,7 +115,6 @@ function App(props) { // event data const [hackathon, setHackathon] = useState(null); - const [eventTypes, setEventTypes] = useState([]); const [starredIds, setStarredIds] = useState([]); const [isStarSchedule, setIsStarSchedule] = useState(false); @@ -142,15 +141,7 @@ function App(props) { console.log(isStarSchedule); }); - AsyncStorage.getItem("localEventTypeData", (error, result) => { - if (result) { - const eventTypes = JSON.parse(result); - if (eventTypes != null) { - setEventTypes(eventTypes); - } - } - }); - setIsFetchingData(false) + setIsFetchingData(false); }; useEffect(() => { @@ -214,14 +205,13 @@ function App(props) { - {({isLoading}) => { + {({ isLoading }) => { if (!isLoading) { // const showEventOnboard = pastEventOnboardID !== hackathon.id; const showEventOnboard = false; @@ -234,7 +224,9 @@ function App(props) { styles.tabBarBackgroundColor.backgroundColor } barStyle={ - theme == "dark" ? "light-content" : "dark-content" + theme == "dark" + ? "light-content" + : "dark-content" } /> @@ -322,14 +314,14 @@ function App(props) { - ) + ); } else { return ( setScheduleModal(true)} /> - ) + ); } }} @@ -340,6 +332,6 @@ function App(props) { ); - } +} export default App; diff --git a/app/api/api.js b/app/api/api.js index 75b41962..77099e8e 100644 --- a/app/api/api.js +++ b/app/api/api.js @@ -12,6 +12,18 @@ export const API_SERVICE_URLS = { notifications: "https://notifications.api.hexlabs.org", }; +export const EVENT_TYPE_COLOR_MAP = { + ceremony: "#b52c22", + food: "#19458c", + important: "#2CDACF", + "mini-challenge": "#C866F5", + "mini-event": "#FF8D28", + speaker: "#FF586C", + "submission-expo": "#77DD77", + "tech-talk": "#FFB6C1", + workshop: "#786CEB", +}; + export const logInteraction = async (token, type, userId, identifier) => { const body = { userId: userId, @@ -98,4 +110,4 @@ export const getEvents = async (token) => { json: { message: "Network error when getting application" }, }; } -} +}; diff --git a/app/cms/index.js b/app/cms/index.js index a5d8ad62..4530b1de 100644 --- a/app/cms/index.js +++ b/app/cms/index.js @@ -1,38 +1,31 @@ const hackathonQuery = ` allHackathons(where: { isUsedForMobileApp: true }) { - isUsedForMobileApp + id + name + slackUrl + isActive + blocks { id name - slackUrl - isActive - blocks { - id - name - slug - content - usage - } - faqs { - id - question - answer - index - } - scavengerHunts { - id - title - hint - answer - points - releaseDate - isQR - } - } - - allTypes { + slug + content + usage + } + faqs { id - name - color + question + answer + index + } + scavengerHunts { + id + title + hint + answer + points + releaseDate + isQR + } } `; @@ -61,14 +54,16 @@ const getHackathonData = async (queryString) => { const getServerTime = async () => { return fetch("http://worldtimeapi.org/api/timezone/America/New_York", { - method: "GET" - }).then((r) => { - return r.json() - }).catch((err) => { - console.error(err); - return false + method: "GET", }) -} + .then((r) => { + return r.json(); + }) + .catch((err) => { + console.error(err); + return false; + }); +}; export const fetchHackathonData = getHackathonData.bind(this, hackathonQuery); -export const fetchServerTime = getServerTime.bind(this) \ No newline at end of file +export const fetchServerTime = getServerTime.bind(this); diff --git a/app/components/FilterSelect.js b/app/components/FilterSelect.js index eb5f4d17..d2187a2d 100644 --- a/app/components/FilterSelect.js +++ b/app/components/FilterSelect.js @@ -3,9 +3,9 @@ import React, { useState, useContext } from "react"; import { HackathonContext } from "../state/hackathon"; import { ThemeContext } from "../contexts/ThemeContext"; import { TouchableOpacity } from "react-native-gesture-handler"; +import { EVENT_TYPE_COLOR_MAP } from "../api/api"; export default function FilterSelect(props) { - const { state } = useContext(HackathonContext); const { dynamicStyles } = useContext(ThemeContext); const [showMenu, setShowMenu] = useState(false); @@ -23,8 +23,6 @@ export default function FilterSelect(props) { } }; - const filterList = [...state.eventTypes]; - if (showMenu) { return ( @@ -39,10 +37,7 @@ export default function FilterSelect(props) { x - {filterList.map(function (item, index) { - const name = item.name ?? "unknown"; - const color = item.color ?? "white"; - + {Object.entries(EVENT_TYPE_COLOR_MAP).map(([name, color], index) => { return ( diff --git a/app/state/hackathon/HackathonProvider.js b/app/state/hackathon/HackathonProvider.js index 55bdf184..4ea585b8 100644 --- a/app/state/hackathon/HackathonProvider.js +++ b/app/state/hackathon/HackathonProvider.js @@ -1,13 +1,21 @@ import React, { useEffect, useState } from "react"; import { hackathonReducer } from "./HackathonReducer"; -import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE, SET_EVENTS } from "./HackathonActionTypes"; +import { + TOGGLE_STAR, + TOGGLE_STAR_SCHEDULE, + SET_EVENTS, +} from "./HackathonActionTypes"; import HackathonContext from "./HackathonContext"; import { fetchHackathonData } from "../../cms"; import { getEvents } from "../../api/api"; -export default function HackathonProvider({ initialValue, firebaseUser, children }) { +export default function HackathonProvider({ + initialValue, + firebaseUser, + children, +}) { const [state, dispatch] = React.useReducer(hackathonReducer, initialValue); - const [isLoading, setIsLoading] = useState(true) + const [isLoading, setIsLoading] = useState(true); // could set state to state from useReducer, but for some reason it sets eventTypes to an emtpy array, so I'm just directly setting state to initialValues var value = { @@ -25,40 +33,36 @@ export default function HackathonProvider({ initialValue, firebaseUser, children setEvents: (events) => dispatch({ type: SET_EVENTS, - value: events - }) + value: events, + }), }; useEffect(() => { - getHackathon(firebaseUser) - }, []) - + getHackathon(firebaseUser); + }, []); const getHackathon = async (fUser) => { - const data = await fetchHackathonData() + const data = await fetchHackathonData(); // no response back, just return if (data == null || data.data == null) { return; } const hackathons = data.data.allHackathons; - const eventTypes = data.data.allTypes; if (hackathons != null && hackathons.length != 0) { var hackathon = hackathons[0]; - const token = await fUser.getIdToken() - const {eventJson} = await getEvents(token) - hackathon.events = eventJson - value.state.eventTypes = eventTypes - value.state.hackathon = hackathon - setIsLoading(false) + const token = await fUser.getIdToken(); + const { eventJson } = await getEvents(token); + hackathon.events = eventJson; + value.state.hackathon = hackathon; + setIsLoading(false); } else { // if still loading, present error asking for retry } - } - + }; return ( - + {children} ); From 1f7c668f96b5174c824cbfc80cfbca81e74a478d Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 01:27:52 -0400 Subject: [PATCH 080/102] updated styles and added components for new scav hunt flow --- app/features/scavengerHunt/ScavHuntItem.js | 72 +++++++++++++++++----- 1 file changed, 56 insertions(+), 16 deletions(-) diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index 3a989a89..7966680c 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -13,6 +13,7 @@ import AsyncStorage from "@react-native-community/async-storage"; import RBSheet from "react-native-raw-bottom-sheet"; import { ScavHuntContext } from "../../state/scavHunt"; import { AuthContext } from "../../contexts/AuthContext"; +import { ThemeContext } from "../../contexts/ThemeContext"; import DismissModal from "../../../assets/images/DismissModal.svg"; import CorrectAnswer from "../../../assets/images/CorrectAnswer.svg"; import IncorrectAnswer from "../../../assets/images/IncorrectAnswer.svg"; @@ -20,10 +21,14 @@ import IncorrectAnswer from "../../../assets/images/IncorrectAnswer.svg"; export function ScavHuntItem(props) { const { state, completeHint } = useContext(ScavHuntContext); const { firebaseUser } = useContext(AuthContext); - const sheetRef = useRef(); + const { dynamicStyles } = useContext(ThemeContext); + const answerSheetRef = useRef(); + const qrSheetRef = useRef(); const item = props.route.params.item; const isComplete = state.completedHints.includes(item.id); - const [modalVisible, setModalVisible] = useState(false); + + const [scannedCode, setScannedCode] = useState(null); + const [answer, setAnswer] = useState(isComplete ? item.answer : ""); const [showAnswerStatus, setShowAnswerStatus] = useState(isComplete); const [isAnswerCorrect, setIsAnswerCorrect] = useState(isComplete); @@ -63,13 +68,18 @@ export function ScavHuntItem(props) { } }; - const sheetContent = () => ( + const qrSheetContent = () => { + + TEST + + } + + const answerSheetContent = () => ( { - setModalVisible(false); - sheetRef.current.close(); + answerSheetRef.current.close(); }} > @@ -120,7 +130,7 @@ export function ScavHuntItem(props) { return ( <> - + - {item.title} + {item.title} {completed()} - {item.hint} + {item.hint} { - setModalVisible(true); - sheetRef.current.open(); - // sheetRef.current.snapTo(0) + qrSheetRef.current.open(); }} > - - {isComplete ? "Completed!" : "Input Answer"} + + {isComplete ? "Completed!" : "Scan Code"} + { scannedCode !== item.code ? null : + <> + {item.question} + { + answerSheetRef.current.open(); + }} + > + + {isComplete ? "Completed!" : "Input Answer"} + + + + } + {qrSheetContent()} + + - {sheetContent()} + {answerSheetContent()} ); @@ -180,7 +221,6 @@ const styles = StyleSheet.create({ answerButtonText: { padding: 17, fontFamily: "SpaceMono-Bold", - color: "white", }, hintText: { From 424c49fb14704de759f55951bdf3421011c8c866 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 01:30:09 -0400 Subject: [PATCH 081/102] Onboarding updates --- app/features/onboarding/EventOnboarding.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/features/onboarding/EventOnboarding.js b/app/features/onboarding/EventOnboarding.js index 5bef22ac..3dc038e7 100644 --- a/app/features/onboarding/EventOnboarding.js +++ b/app/features/onboarding/EventOnboarding.js @@ -155,7 +155,7 @@ export function EventOnboarding(props) { subtitles={[ // "In case of emergencies, contact the Georgia Tech police department.", // "GTPD: (404) 894-2500.", - "If you ever have any questions or concerns, please visit the help channel on slack or email hello@hack.gt.", + "If you ever have any questions or concerns, please visit the help channel on slack or email hello@hexlabs.org.", ]} // button={addGTPDToContacts} /> @@ -171,7 +171,7 @@ export function EventOnboarding(props) { } title="Happy Hacking" subtitles={[ - "We’re looking forward to seeing the amazing things you’ll build!", + "We're looking forward to seeing the amazing things you'll build!", ]} /> ); From 677599c22c71df0ed52780c51bac386772e65312 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 01:30:19 -0400 Subject: [PATCH 082/102] Fix event start/end time bug --- app/util.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/util.js b/app/util.js index 67d48758..64795875 100644 --- a/app/util.js +++ b/app/util.js @@ -1,13 +1,13 @@ -import { DateTime } from "luxon" +import { DateTime } from "luxon"; export function getStartEndTime(startDate, endDate) { - const startTime = DateTime.fromISO(event.startDate, { zone: "America/New_York" }).toLocaleString( - DateTime.TIME_SIMPLE - ); + const startTime = DateTime.fromISO(startDate, { + zone: "America/New_York", + }).toLocaleString(DateTime.TIME_SIMPLE); - const endTime = DateTime.fromISO(event.endDate, { zone: "America/New_York" }).toLocaleString( - DateTime.TIME_SIMPLE - ); + const endTime = DateTime.fromISO(endDate, { + zone: "America/New_York", + }).toLocaleString(DateTime.TIME_SIMPLE); - return { startTime, endTime } -} \ No newline at end of file + return { startTime, endTime }; +} From 4e906e8d04569c14f1a9387a23e6044157aa25e5 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 01:55:27 -0400 Subject: [PATCH 083/102] Refactor interactions tab and add help text --- .../{EventSel.js => EventCard.js} | 2 +- app/features/interactions/InteractionsTab.js | 121 +++++++++++------- app/features/interactions/SearchComponent.js | 67 ---------- 3 files changed, 74 insertions(+), 116 deletions(-) rename app/features/interactions/{EventSel.js => EventCard.js} (97%) delete mode 100644 app/features/interactions/SearchComponent.js diff --git a/app/features/interactions/EventSel.js b/app/features/interactions/EventCard.js similarity index 97% rename from app/features/interactions/EventSel.js rename to app/features/interactions/EventCard.js index 6f668115..ea78021b 100644 --- a/app/features/interactions/EventSel.js +++ b/app/features/interactions/EventCard.js @@ -3,7 +3,7 @@ import { Text, View, StyleSheet } from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; import { Card } from "../../components/Card"; -export function EventSel(props) { +export function EventCard(props) { const { dynamicStyles } = useContext(ThemeContext); return ( diff --git a/app/features/interactions/InteractionsTab.js b/app/features/interactions/InteractionsTab.js index 600da050..d2bad1d0 100644 --- a/app/features/interactions/InteractionsTab.js +++ b/app/features/interactions/InteractionsTab.js @@ -8,7 +8,7 @@ import { Pressable, } from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; -import { EventSel } from "./EventSel"; +import { EventCard } from "./EventCard"; import { ScanScreen } from "./ScanScreen"; import SearchIcon from "../../../assets/images/Search"; import { SearchBar } from "react-native-elements"; @@ -18,7 +18,7 @@ import { AuthContext } from "../../contexts/AuthContext"; export function InteractionsTab(props) { const { dynamicStyles } = useContext(ThemeContext); - const { firebaseUser } = useContext(AuthContext) + const { firebaseUser } = useContext(AuthContext); const [events, setEvents] = useState(null); const [selectedEvent, setSelectedEvent] = useState(null); const [searchText, setSearchText] = useState(""); @@ -27,7 +27,7 @@ export function InteractionsTab(props) { useEffect(() => { async function refreshEventState() { let token = await firebaseUser.getIdToken(); - let {eventJson} = await getEvents(token); + let { eventJson } = await getEvents(token); setEvents(eventJson); } @@ -42,7 +42,7 @@ export function InteractionsTab(props) { const onPressEvent = (event) => { props.navigation.navigate("InteractionScreen", { - selectedEvent: event + selectedEvent: event, }); // if (event) { // setSelectedEvent(event); @@ -51,42 +51,57 @@ export function InteractionsTab(props) { // } }; - // there are no events getting properly populated - // var formattedEvents = []; - // var shownEvents = searchText.length != 0 ? searchResults : events; - - const formattedEvents = !events ? [] : events.filter(e => e.name.includes(searchText)).map(event => { - const eventType = event.type ?? 'none'; - const loc = - event != null && - event.location != null && - event.location[0] != null && - event.location[0].name != null - ? event.location[0].name + " • " - : ""; - - const { startTime, endTime } = getStartEndTime(event.startDate, event.endDate) - return { - onPressEvent(event); - }} - > - - - }) - - return ( - - + // there are no events getting properly populated + // var formattedEvents = []; + // var shownEvents = searchText.length != 0 ? searchResults : events; + + const formattedEvents = !events + ? [] + : events + .filter((e) => e.name.includes(searchText)) + .map((event) => { + const eventType = event.type ?? "none"; + const loc = + event != null && + event.location != null && + event.location[0] != null && + event.location[0].name != null + ? event.location[0].name + " • " + : ""; + + const { startTime, endTime } = getStartEndTime( + event.startDate, + event.endDate + ); + return ( + { + onPressEvent(event); + }} + > + + + ); + }); + + return ( + + + + Use this page to scan each person's badge before every event. If + you're can't scan a badge, scan their QR code from registration + instead. + + - - - - {formattedEvents} - - - ); + + + + {formattedEvents} + + + + ); } const styles = StyleSheet.create({ @@ -134,10 +150,19 @@ const styles = StyleSheet.create({ }, header: { + marginVertical: 5, + }, + + headerHelpText: { + marginHorizontal: 15, + fontFamily: "SpaceMono-Bold", + marginTop: 5, + }, + + searchBarWrapper: { fontFamily: "SpaceMono-Bold", textAlign: "center", fontSize: 22, - marginBottom: 10, flexDirection: "row", alignItems: "center", }, diff --git a/app/features/interactions/SearchComponent.js b/app/features/interactions/SearchComponent.js deleted file mode 100644 index 57d55fc7..00000000 --- a/app/features/interactions/SearchComponent.js +++ /dev/null @@ -1,67 +0,0 @@ -import React, { useState, useContext } from "react"; -import { ThemeContext } from "../contexts/ThemeContext"; -import { SearchBar } from "react-native-elements"; -import { View, StyleSheet } from "react-native"; -import SearchIcon from "../../assets/images/Search"; - -export function SearchComponent(props) { - const { dynamicStyles } = useContext(ThemeContext); - const [searchText, setSearchText] = useState(""); - - const searchEvents = (value) => { - setSearchText(value); - }; - - return ( - - - } - containerStyle={[ - styles.searchContainer, - dynamicStyles.backgroundColor, - dynamicStyles.searchBorderTopColor, - dynamicStyles.searchBorderBottomColor, - ]} - inputContainerStyle={[ - styles.inputContainer, - dynamicStyles.searchBackgroundColor, - ]} - clearIcon={null} - lightTheme - round - placeholder="Search..." - onChangeText={(value) => searchEvents(value)} - value={searchText} - /> - - ); -} - -const styles = StyleSheet.create({ - header: { - fontFamily: "SpaceMono-Bold", - textAlign: "center", - fontSize: 22, - marginTop: 34, - marginBottom: 10, - backgroundColor: "#ADD8E6", - }, - searchHeader: { - marginTop: 34, - flexDirection: "row", - alignItems: "center", - }, - - searchContainer: { - width: Platform.OS === "ios" ? "80%" : "100%", - borderWidth: 0, - }, - - inputContainer: { - height: 41, - }, -}); From d6369ab9a14f16dadca759127ee543addb92a212 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 02:17:47 -0400 Subject: [PATCH 084/102] Improve scanning help text and button design with card --- app/features/checkin/CheckInNFC.js | 64 ++++++++++++-------- app/features/checkin/CheckInQR.js | 19 +++++- app/features/interactions/InteractionsTab.js | 7 +-- app/features/interactions/ScanScreen.js | 25 +++++--- 4 files changed, 75 insertions(+), 40 deletions(-) diff --git a/app/features/checkin/CheckInNFC.js b/app/features/checkin/CheckInNFC.js index 7428b5a6..f8cc7be7 100644 --- a/app/features/checkin/CheckInNFC.js +++ b/app/features/checkin/CheckInNFC.js @@ -19,6 +19,7 @@ import BadgeParticipant from "../../../assets/images/BadgeParticipant.png"; import BadgeSponsor from "../../../assets/images/BadgeSponsor.png"; import BadgeVolunteer from "../../../assets/images/BadgeVolunteer.png"; import Modal from "react-native-modal"; +import { Card } from "../../components/Card"; export function CheckInNFC(props) { const { application } = props.route.params; @@ -29,7 +30,7 @@ export function CheckInNFC(props) { await initNfc(); }, []); - const TagImage = (props) => { + const BadgeImage = (props) => { let source = null; switch (props.branch) { case "PARTICIPANT": @@ -59,7 +60,7 @@ export function CheckInNFC(props) { source={source} style={{ width: Dimensions.get("window").width - 160, - resizeMode: "contain" + resizeMode: "contain", }} /> ); @@ -83,7 +84,7 @@ export function CheckInNFC(props) { if (!success) { createAlert("There was an issue writing to the badge. Try again."); } else { - props.navigation.goBack() + props.navigation.goBack(); } }; @@ -153,28 +154,27 @@ export function CheckInNFC(props) { {"Application Group: " + application.confirmationBranch.applicationGroup} - - - {"Scan Badge"} - - - - + + + Write to Badge + + + + + @@ -189,4 +189,20 @@ const styles = StyleSheet.create({ alignItems: "center", borderRadius: 4, }, + writeToBadgeButton: { + marginTop: 30, + marginHorizontal: 15, + }, + writeToBadgeButtonText: { + fontFamily: "SpaceMono-Bold", + fontSize: 20, + alignSelf: "center", + padding: 10, + }, + badgeImageWrapper: { + justifyContent: "center", + alignItems: "center", + flex: 1, + zIndex: -10000, + }, }); diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index 3e4c3d1d..a3cd05a8 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -1,5 +1,5 @@ import React, { useContext, useRef, useEffect } from "react"; -import { View, Text, Alert, Dimensions } from "react-native"; +import { View, Text, Alert, Dimensions, StyleSheet } from "react-native"; import QRCodeScanner from "react-native-qrcode-scanner"; import { request, PERMISSIONS } from "react-native-permissions"; import { ThemeContext } from "../../contexts/ThemeContext"; @@ -88,7 +88,12 @@ export function CheckInQR(props) { return ( - + + Use this page to check-in people to {CURRENT_HEXATHON.name}. You'll scan + their QR code from registration and then tap the matching event badge to + write their data. + + - {"Scan Participant QR Code"} + Scan User QR Code ); } + +const styles = StyleSheet.create({ + headerHelpText: { + marginHorizontal: 15, + fontFamily: "SpaceMono-Bold", + marginTop: 10, + }, +}); diff --git a/app/features/interactions/InteractionsTab.js b/app/features/interactions/InteractionsTab.js index d2bad1d0..ec354b3b 100644 --- a/app/features/interactions/InteractionsTab.js +++ b/app/features/interactions/InteractionsTab.js @@ -130,9 +130,7 @@ export function InteractionsTab(props) { - - {formattedEvents} - + {formattedEvents} ); @@ -175,9 +173,10 @@ const styles = StyleSheet.create({ textAlign: "center", }, - eventContainer: { + eventCardContainer: { marginHorizontal: 15, flex: 1, + paddingTop: 5, }, inputContainer: { height: 41, diff --git a/app/features/interactions/ScanScreen.js b/app/features/interactions/ScanScreen.js index 5f5522d9..53c3fecd 100644 --- a/app/features/interactions/ScanScreen.js +++ b/app/features/interactions/ScanScreen.js @@ -14,6 +14,7 @@ import { TouchableOpacity } from "react-native-gesture-handler"; import { request, PERMISSIONS } from "react-native-permissions"; import Modal from "react-native-modal"; +import { Card } from "../../components/Card"; import { logInteraction, getUserProfile } from "../../api/api"; import { ThemeContext } from "../../contexts/ThemeContext"; import { cancelNFC, initNfc, readNFC } from "../../NFCScanning/nfc"; @@ -252,14 +253,18 @@ export function ScanScreen(props) { onPress={scanNFC} disabled={isScanning} > - - Press to Scan Badge - + + + Scan Badge + + )} @@ -282,8 +287,10 @@ const styles = StyleSheet.create({ color: "#000", }, scanButtonText: { - fontSize: 20, fontFamily: "SpaceMono-Bold", + fontSize: 20, + alignSelf: "center", + padding: 10, }, infoContainer: { padding: 16, From f910347f13effa0a8d1a0356730681967a6068e2 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 02:24:20 -0400 Subject: [PATCH 085/102] added qr scanning and some style fixes --- app/cms/index.js | 2 + app/features/scavengerHunt/ScavHuntItem.js | 54 +++++++++++++------ .../scavengerHunt/ScavengerHuntTab.js | 1 + 3 files changed, 42 insertions(+), 15 deletions(-) diff --git a/app/cms/index.js b/app/cms/index.js index a5d8ad62..76b05619 100644 --- a/app/cms/index.js +++ b/app/cms/index.js @@ -26,6 +26,8 @@ const hackathonQuery = ` points releaseDate isQR + code + question } } diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index 7966680c..81509157 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -11,6 +11,7 @@ import { import { logInteraction } from "../../api/api"; import AsyncStorage from "@react-native-community/async-storage"; import RBSheet from "react-native-raw-bottom-sheet"; +import QRCodeScanner from "react-native-qrcode-scanner"; import { ScavHuntContext } from "../../state/scavHunt"; import { AuthContext } from "../../contexts/AuthContext"; import { ThemeContext } from "../../contexts/ThemeContext"; @@ -24,6 +25,7 @@ export function ScavHuntItem(props) { const { dynamicStyles } = useContext(ThemeContext); const answerSheetRef = useRef(); const qrSheetRef = useRef(); + const scanner = useRef(null); const item = props.route.params.item; const isComplete = state.completedHints.includes(item.id); @@ -42,7 +44,7 @@ export function ScavHuntItem(props) { const handleSubmitAnswer = async () => { setShowAnswerStatus(true); - if (answer === item.answer) { + if (answer.toLowerCase() === item.answer.toLowerCase()) { setIsAnswerCorrect(true); completeHint(item.id); console.log("itemID ", item.id); @@ -68,10 +70,30 @@ export function ScavHuntItem(props) { } }; + const onQRCodeScanned = async (e) => { + console.log(e.data,item.code) + setScannedCode(e.data) + } + const qrSheetContent = () => { - - TEST - + return ( + + Scan QR Code + + + ) } const answerSheetContent = () => ( @@ -84,10 +106,10 @@ export function ScavHuntItem(props) { > - + {"What's the answer?"} - + {isAnswerCorrect ? ( - {"Complete"} + {"Complete"} ) : ( - {"Submit"} + {"Submit"} )} @@ -144,17 +166,18 @@ export function ScavHuntItem(props) { {item.hint} { qrSheetRef.current.open(); }} > - {isComplete ? "Completed!" : "Scan Code"} + {scannedCode === item.code ? "Completed!" : "Scan Code"} { scannedCode !== item.code ? null : - <> + {item.question} - + } @@ -198,9 +222,10 @@ export function ScavHuntItem(props) { container: { borderTopLeftRadius: 20, borderTopRightRadius: 20, + backgroundColor: dynamicStyles.backgroundColor.backgroundColor }, draggableIcon: { - backgroundColor: "white", + backgroundColor: dynamicStyles.text.color, }, }} > @@ -248,7 +273,6 @@ const styles = StyleSheet.create({ sheetStyle: { flexDirection: "column", - backgroundColor: "white", alignItems: "center", }, diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index 66c97730..6575c96e 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -81,6 +81,7 @@ export function ScavengerHuntTab(props) { ...challenge, releaseDate: Date.parse(challenge.releaseDate), }; + console.log('item', item) const available = true const isComplete = state.completedHints.includes(item.id); return ( From 7f028322bfceb96a61a7f475034cdee13c7c5f9d Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 02:34:31 -0400 Subject: [PATCH 086/102] added error popup and other small fixes --- app/features/scavengerHunt/ScavHuntItem.js | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index 81509157..0c810bb0 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -1,4 +1,4 @@ -import React, { useRef, useState, useContext } from "react"; +import React, { useRef, useState, useContext, useEffect } from "react"; import { View, StyleSheet, @@ -35,12 +35,23 @@ export function ScavHuntItem(props) { const [showAnswerStatus, setShowAnswerStatus] = useState(isComplete); const [isAnswerCorrect, setIsAnswerCorrect] = useState(isComplete); - const answerStatus = () => { - console.log("answer status: ", showAnswerStatus, isAnswerCorrect); - if (showAnswerStatus) { - isAnswerCorrect ? : ; + useEffect(() => { + if (scannedCode && scannedCode !== item.code) { + createAlert("Wrong QR code. Try again or visit the help desk for assistance!") } - }; + }, [scannedCode]) + + const createAlert = (message) => + Alert.alert("Error", message, [ + { + text: "OK", + onPress: () => { + if (scanner && scanner.current) { + scanner.current.reactivate(); + } + }, + }, + ]); const handleSubmitAnswer = async () => { setShowAnswerStatus(true); @@ -73,6 +84,7 @@ export function ScavHuntItem(props) { const onQRCodeScanned = async (e) => { console.log(e.data,item.code) setScannedCode(e.data) + qrSheetRef.current.close() } const qrSheetContent = () => { From 60e562744841e312d3e15abffcb92f111c748bba Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 02:39:49 -0400 Subject: [PATCH 087/102] refactored completedHints and completeHint to completedQuestions and completeQuestion --- app/features/scavengerHunt/ScavHuntItem.js | 10 +++++----- app/features/scavengerHunt/ScavengerHuntTab.js | 8 ++++---- app/state/scavHunt/ScavHuntActionTypes.ts | 2 +- app/state/scavHunt/ScavHuntProvider.js | 6 +++--- app/state/scavHunt/ScavHuntReducer.ts | 8 ++++---- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index 0c810bb0..83d2452f 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -20,14 +20,14 @@ import CorrectAnswer from "../../../assets/images/CorrectAnswer.svg"; import IncorrectAnswer from "../../../assets/images/IncorrectAnswer.svg"; export function ScavHuntItem(props) { - const { state, completeHint } = useContext(ScavHuntContext); + const { state, completeQuestion } = useContext(ScavHuntContext); const { firebaseUser } = useContext(AuthContext); const { dynamicStyles } = useContext(ThemeContext); const answerSheetRef = useRef(); const qrSheetRef = useRef(); const scanner = useRef(null); const item = props.route.params.item; - const isComplete = state.completedHints.includes(item.id); + const isComplete = state.completedQuestions.includes(item.id); const [scannedCode, setScannedCode] = useState(null); @@ -57,11 +57,11 @@ export function ScavHuntItem(props) { setShowAnswerStatus(true); if (answer.toLowerCase() === item.answer.toLowerCase()) { setIsAnswerCorrect(true); - completeHint(item.id); + completeQuestion(item.id); console.log("itemID ", item.id); AsyncStorage.setItem( - "completedHints", - JSON.stringify(state.completedHints.concat([item.id])) + "completedQuestions", + JSON.stringify(state.completedQuestions.concat([item.id])) ); const token = await firebaseUser.getIdToken(); diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index 6575c96e..ed54a2f4 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -26,11 +26,11 @@ export function ScavengerHuntTab(props) { ); console.log('sdf', hackathon) useEffect(() => { - AsyncStorage.getItem("completedHints", (error, result) => { + AsyncStorage.getItem("completedQuestions", (error, result) => { if (result) { const r = JSON.parse(result); r.forEach((id) => { - if (!state.completedHints.includes(id)) { + if (!state.completedQuestions.includes(id)) { completeHint(id); } }); @@ -83,7 +83,7 @@ export function ScavengerHuntTab(props) { }; console.log('item', item) const available = true - const isComplete = state.completedHints.includes(item.id); + const isComplete = state.completedQuestions.includes(item.id); return ( { + const currPoints = state.completedQuestions.reduce((acc, curr) => { return acc + (curr.points ? curr.points : 0); }, 0); const totalPoints = scavHunts.reduce((acc, curr) => { diff --git a/app/state/scavHunt/ScavHuntActionTypes.ts b/app/state/scavHunt/ScavHuntActionTypes.ts index 1f7a56fb..806e93ae 100644 --- a/app/state/scavHunt/ScavHuntActionTypes.ts +++ b/app/state/scavHunt/ScavHuntActionTypes.ts @@ -1 +1 @@ -export const COMPLETE_HINT = "COMPLETE_HINT" \ No newline at end of file +export const COMPLETE_QUESTION = "COMPLETE_QUESTION" diff --git a/app/state/scavHunt/ScavHuntProvider.js b/app/state/scavHunt/ScavHuntProvider.js index 3dfeefac..e6bf3b21 100644 --- a/app/state/scavHunt/ScavHuntProvider.js +++ b/app/state/scavHunt/ScavHuntProvider.js @@ -1,6 +1,6 @@ import React from "react"; import { initialValue, scavHuntReducer } from "./ScavHuntReducer"; -import { COMPLETE_HINT } from "./ScavHuntActionTypes"; +import { COMPLETE_QUESTION } from "./ScavHuntActionTypes"; import ScavHuntContext from "./ScavHuntContext"; export default function ScavHuntProvider({ children }) { @@ -8,9 +8,9 @@ export default function ScavHuntProvider({ children }) { const value = { state: state, - completeHint: (id) => + completeQuestion: (id) => dispatch({ - type: COMPLETE_HINT, + type: COMPLETE_QUESTION, value: id, }), }; diff --git a/app/state/scavHunt/ScavHuntReducer.ts b/app/state/scavHunt/ScavHuntReducer.ts index b3270c7c..27ca7f03 100644 --- a/app/state/scavHunt/ScavHuntReducer.ts +++ b/app/state/scavHunt/ScavHuntReducer.ts @@ -1,12 +1,12 @@ -import { COMPLETE_HINT } from './ScavHuntActionTypes' +import { COMPLETE_QUESTION } from './ScavHuntActionTypes' export const initialValue = { - completedHints: [] + completedQuestions: [] } export function scavHuntReducer(state, action) { switch (action.type) { - case COMPLETE_HINT: - return { ...state, completedHints: state.completedHints.concat([action.value])} + case COMPLETE_QUESTION: + return { ...state, completedQuestions: state.completedQuestions.concat([action.value])} } } From 4c7be10fcc7c91214c0eeff6c79ef14eb6ae301b Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 02:51:15 -0400 Subject: [PATCH 088/102] Update info tab with QR code and fixed layout/FAQ --- app/components/FontMarkdown.js | 4 +- app/features/information/InformationTab.js | 124 +++++++++++++-------- 2 files changed, 79 insertions(+), 49 deletions(-) diff --git a/app/components/FontMarkdown.js b/app/components/FontMarkdown.js index a501de38..3c2bbec7 100644 --- a/app/components/FontMarkdown.js +++ b/app/components/FontMarkdown.js @@ -79,8 +79,8 @@ export default function FontMarkdown(props) { fontFamily: `${props.fontFamily}-Bold`, }, paragraph: { - marginTop: 10, - marginBottom: 10, + marginTop: 5, + marginBottom: 5, flexWrap: "wrap", flexDirection: "row", alignItems: "flex-start", diff --git a/app/features/information/InformationTab.js b/app/features/information/InformationTab.js index a8573639..bc103538 100644 --- a/app/features/information/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -13,13 +13,17 @@ import { Card } from "../../components/Card"; import { Linking } from "react-native"; import FontMarkdown from "../../components/FontMarkdown"; import { ThemeContext } from "../../contexts/ThemeContext"; +import { AuthContext } from "../../contexts/AuthContext"; import { getAuth } from "firebase/auth"; import { app } from "../../../firebase"; +import QRCode from "react-native-qrcode-svg"; export function InformationTab(props) { const auth = getAuth(app); const { state } = useContext(HackathonContext); const { dynamicStyles } = useContext(ThemeContext); + const { firebaseUser } = useContext(AuthContext); + const hackathon = state.hackathon; // create button blocks for "Join Slack", "View Event site", etc @@ -27,11 +31,7 @@ export function InformationTab(props) { (e) => e.slug && e.slug === "info-button-links" ); - const faqBlock = hackathon.blocks.find( - (e) => e.slug && e.slug === "info-faq" - ); - - const headerButtons = []; + let headerButtons = []; if (buttonBlock && buttonBlock.content) { const buttonJSON = JSON.parse(buttonBlock.content); @@ -40,7 +40,7 @@ export function InformationTab(props) { return ( e.slug && e.slug === "info-faq" - ); - - // let faqCopy = [...hackathon.faqs]; - // let faqList = []; - // // sort faq based on priority so important questions come first - // faqCopy.sort(function (a, b) { - // return parseFloat(a.index) - parseFloat(b.index); - // }); + let faqs = [...hackathon.faqs]; + // sort faq based on priority so important questions come first + faqs.sort(function (a, b) { + return parseFloat(a.index) - parseFloat(b.index); + }); - // for (i in faqCopy) { + // for (i in faqs) { // faqList.push( // // **{faqCopy[i].question}** // , - // - // {faqCopy[i].answer} - // + // {faqCopy[i].answer} // ); // } return ( - + {"Welcome to " + hackathon.name} + {headerButtons} + + + You can use this QR code or the one from HexLabs Registration to + check-in! + + + + - {headerButtons} - {infoBlocks.map((block, i) => ( - - - {block.name} - + FAQs + + {faqs.map((faq) => ( + + + {faq.question} + - - - {block.content} - + {faq.answer} - - ))} + ))} + + Date: Wed, 19 Oct 2022 03:10:31 -0400 Subject: [PATCH 089/102] added async storage for hints, and did some refactoring --- app/features/scavengerHunt/ScavHuntItem.js | 29 +++++++++++++------ .../scavengerHunt/ScavengerHuntTab.js | 18 ++++++++---- app/state/scavHunt/ScavHuntActionTypes.ts | 1 + app/state/scavHunt/ScavHuntProvider.js | 8 ++++- app/state/scavHunt/ScavHuntReducer.ts | 17 +++++++++-- 5 files changed, 55 insertions(+), 18 deletions(-) diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index 83d2452f..d54f50bf 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -20,7 +20,7 @@ import CorrectAnswer from "../../../assets/images/CorrectAnswer.svg"; import IncorrectAnswer from "../../../assets/images/IncorrectAnswer.svg"; export function ScavHuntItem(props) { - const { state, completeQuestion } = useContext(ScavHuntContext); + const { state, completeQuestion, completeHint } = useContext(ScavHuntContext); const { firebaseUser } = useContext(AuthContext); const { dynamicStyles } = useContext(ThemeContext); const answerSheetRef = useRef(); @@ -28,19 +28,24 @@ export function ScavHuntItem(props) { const scanner = useRef(null); const item = props.route.params.item; const isComplete = state.completedQuestions.includes(item.id); - - const [scannedCode, setScannedCode] = useState(null); + + const initScannedCode = null + // completed hints are of format '{id}-{hint}' + state.completedHints.forEach(h => { + const split = h.split('-') + if (split.length === 2) { + if (split[0] === item.id) { + initScannedCode = split[1]; + return; + } + } + }) + const [scannedCode, setScannedCode] = useState(initScannedCode); const [answer, setAnswer] = useState(isComplete ? item.answer : ""); const [showAnswerStatus, setShowAnswerStatus] = useState(isComplete); const [isAnswerCorrect, setIsAnswerCorrect] = useState(isComplete); - useEffect(() => { - if (scannedCode && scannedCode !== item.code) { - createAlert("Wrong QR code. Try again or visit the help desk for assistance!") - } - }, [scannedCode]) - const createAlert = (message) => Alert.alert("Error", message, [ { @@ -85,6 +90,12 @@ export function ScavHuntItem(props) { console.log(e.data,item.code) setScannedCode(e.data) qrSheetRef.current.close() + if (e.data === item.code) { + completeHint(item) + } else { + console.log('Wrong code!', e.data, item.code) + createAlert("Wrong QR code. Try again or visit the help desk for assistance!") + } } const qrSheetContent = () => { diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index ed54a2f4..e1f303a4 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -12,21 +12,26 @@ import { faLock } from "@fortawesome/free-solid-svg-icons"; import AsyncStorage from "@react-native-community/async-storage"; import { HackathonContext } from "../../state/hackathon"; import { ScavHuntContext } from "../../state/scavHunt"; -import moment from "moment-timezone"; -import QRCode from "react-native-qrcode-svg"; import { ThemeContext } from "../../contexts/ThemeContext"; export function ScavengerHuntTab(props) { - const { state, completeHint } = useContext(ScavHuntContext); + const { state, completeQuestion, completeHint } = useContext(ScavHuntContext); const { dynamicStyles } = useContext(ThemeContext); const hackathonContext = useContext(HackathonContext); const hackathon = hackathonContext.state.hackathon; - const [currentDate, setCurrentDate] = useState( - Date.parse("2000-01-01T20:30:00.000000-04:00") - ); console.log('sdf', hackathon) useEffect(() => { AsyncStorage.getItem("completedQuestions", (error, result) => { + if (result) { + const r = JSON.parse(result); + r.forEach((id) => { + if (!state.completedQuestions.includes(id)) { + completeQuestion(id); + } + }); + } + }); + AsyncStorage.getItem("completedHints", (error, result) => { if (result) { const r = JSON.parse(result); r.forEach((id) => { @@ -36,6 +41,7 @@ export function ScavengerHuntTab(props) { }); } }); + }, []); var scavHunts = hackathon.scavengerHunts.filter(challenge => challenge.isQR ); diff --git a/app/state/scavHunt/ScavHuntActionTypes.ts b/app/state/scavHunt/ScavHuntActionTypes.ts index 806e93ae..4c136ed3 100644 --- a/app/state/scavHunt/ScavHuntActionTypes.ts +++ b/app/state/scavHunt/ScavHuntActionTypes.ts @@ -1 +1,2 @@ export const COMPLETE_QUESTION = "COMPLETE_QUESTION" +export const COMPLETE_HINT = "COMPLETE_HINT" \ No newline at end of file diff --git a/app/state/scavHunt/ScavHuntProvider.js b/app/state/scavHunt/ScavHuntProvider.js index e6bf3b21..70c2c41d 100644 --- a/app/state/scavHunt/ScavHuntProvider.js +++ b/app/state/scavHunt/ScavHuntProvider.js @@ -1,6 +1,6 @@ import React from "react"; import { initialValue, scavHuntReducer } from "./ScavHuntReducer"; -import { COMPLETE_QUESTION } from "./ScavHuntActionTypes"; +import { COMPLETE_HINT, COMPLETE_QUESTION } from "./ScavHuntActionTypes"; import ScavHuntContext from "./ScavHuntContext"; export default function ScavHuntProvider({ children }) { @@ -13,6 +13,12 @@ export default function ScavHuntProvider({ children }) { type: COMPLETE_QUESTION, value: id, }), + completeHint: (item) => { + dispatch({ + type: COMPLETE_HINT, + value: item + }) + } }; return ( diff --git a/app/state/scavHunt/ScavHuntReducer.ts b/app/state/scavHunt/ScavHuntReducer.ts index 27ca7f03..83fbd756 100644 --- a/app/state/scavHunt/ScavHuntReducer.ts +++ b/app/state/scavHunt/ScavHuntReducer.ts @@ -1,12 +1,25 @@ -import { COMPLETE_QUESTION } from './ScavHuntActionTypes' +import { COMPLETE_QUESTION, COMPLETE_HINT } from './ScavHuntActionTypes' +import AsyncStorage from "@react-native-community/async-storage" export const initialValue = { - completedQuestions: [] + completedQuestions: [], + completedHints: [] } export function scavHuntReducer(state, action) { switch (action.type) { case COMPLETE_QUESTION: return { ...state, completedQuestions: state.completedQuestions.concat([action.value])} + case COMPLETE_HINT: + return completeHint(state, action.value) } } + +function completeHint(state, item) { + const newState = { ...state, completedHints: state.completedHints.concat([item.id + '-' + item.hint])} + AsyncStorage.setItem( + "completedHints", + JSON.stringify(newState) + ); + return newState +} \ No newline at end of file From fbf25c686e196cb2c14765457ddf1c9877184e2c Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 03:23:39 -0400 Subject: [PATCH 090/102] Disable push notifications for starred events --- app/state/hackathon/HackathonReducer.js | 104 +++++++++++++----------- 1 file changed, 55 insertions(+), 49 deletions(-) diff --git a/app/state/hackathon/HackathonReducer.js b/app/state/hackathon/HackathonReducer.js index 54051fc7..491a30ec 100644 --- a/app/state/hackathon/HackathonReducer.js +++ b/app/state/hackathon/HackathonReducer.js @@ -1,60 +1,66 @@ -import { TOGGLE_STAR, TOGGLE_STAR_SCHEDULE, SET_EVENTS } from './HackathonActionTypes' +import { + TOGGLE_STAR, + TOGGLE_STAR_SCHEDULE, + SET_EVENTS, +} from "./HackathonActionTypes"; import { turnToEst } from "../../cms/DataHandler"; -import AsyncStorage from "@react-native-community/async-storage" -import PushNotification from "react-native-push-notification" +import AsyncStorage from "@react-native-community/async-storage"; +import PushNotification from "react-native-push-notification"; -export const initialValue = { - -} +export const initialValue = {}; export function hackathonReducer(state, action) { - switch (action.type) { - case TOGGLE_STAR: - return { ...state, 'starredIds': toggleStarred(state.starredIds, action.value) } - case TOGGLE_STAR_SCHEDULE : - return { ...state, 'isStarSchedule': !state.isStarSchedule } - case SET_EVENTS: - return { ...state, 'events' : setEvents(action.value)} - default: - return state - } + switch (action.type) { + case TOGGLE_STAR: + return { + ...state, + starredIds: toggleStarred(state.starredIds, action.value), + }; + case TOGGLE_STAR_SCHEDULE: + return { ...state, isStarSchedule: !state.isStarSchedule }; + case SET_EVENTS: + return { ...state, events: setEvents(action.value) }; + default: + return state; + } } function setEvents(events) { - return events + return events; } function toggleStarred(starredIds, event) { - const toggleEventId = event.id; - - const isNowStarred = starredIds.indexOf(toggleEventId) == -1; - - let eventIdNumber = toggleEventId.replace(/\D/g, "").substring(1, 5); - eventIdNumber = Number.parseInt(eventIdNumber); - - if (isNowStarred) { - // schedule notification for 15 min before - PushNotification.localNotificationSchedule({ - channelId: "hackgt-channel", - id: eventIdNumber + "", // map string into a unique id for cancellation - message: event.name + " is starting in 15 minutes! ", - date: new Date(turnToEst(event.startDate).toDate() - 15 * 60 * 1000), // schedule it for its time - 15 minutes - }); - - // add to starred state, then update storage - const newStarred = [...starredIds, toggleEventId] - AsyncStorage.setItem("starredIds", JSON.stringify(newStarred)); - return newStarred; - } else { - // cancel notification if previously starred - PushNotification.cancelLocalNotifications({ - id: eventIdNumber + "", - }); - - // remove from starred state, then update storage - const newStarred = starredIds.filter((id) => id !== toggleEventId); - AsyncStorage.setItem("starredIds", JSON.stringify(newStarred)); - return newStarred; - } -}; \ No newline at end of file + const toggleEventId = event.id; + + const isNowStarred = starredIds.indexOf(toggleEventId) == -1; + + let eventIdNumber = toggleEventId.replace(/\D/g, "").substring(1, 5); + eventIdNumber = Number.parseInt(eventIdNumber); + + if (isNowStarred) { + // TODO: Reenable push notifications + // schedule notification for 15 min before + // PushNotification.localNotificationSchedule({ + // channelId: "hackgt-channel", + // id: eventIdNumber + "", // map string into a unique id for cancellation + // message: event.name + " is starting in 15 minutes! ", + // date: new Date(turnToEst(event.startDate).toDate() - 15 * 60 * 1000), // schedule it for its time - 15 minutes + // }); + + // add to starred state, then update storage + const newStarred = [...starredIds, toggleEventId]; + AsyncStorage.setItem("starredIds", JSON.stringify(newStarred)); + return newStarred; + } else { + // cancel notification if previously starred + PushNotification.cancelLocalNotifications({ + id: eventIdNumber + "", + }); + + // remove from starred state, then update storage + const newStarred = starredIds.filter((id) => id !== toggleEventId); + AsyncStorage.setItem("starredIds", JSON.stringify(newStarred)); + return newStarred; + } +} From 425b55a3d0118406edd64475d1f6eee0779f7871 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 03:25:40 -0400 Subject: [PATCH 091/102] Update description --- app/features/checkin/CheckInQR.js | 4 ++-- app/features/interactions/InteractionsTab.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index a3cd05a8..f7c27eb2 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -90,8 +90,8 @@ export function CheckInQR(props) { Use this page to check-in people to {CURRENT_HEXATHON.name}. You'll scan - their QR code from registration and then tap the matching event badge to - write their data. + their QR code from registration/mobile app and then tap the matching + event badge to write their data. - Use this page to scan each person's badge before every event. If - you're can't scan a badge, scan their QR code from registration + Use this page to scan each person's badge before every event. If you + can't scan a badge, scan their QR code from registration/mobile app instead. From d4d4b2578b4fe4d819a23702d48ef0a432b46b2f Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Wed, 19 Oct 2022 03:28:48 -0400 Subject: [PATCH 092/102] Fix scheduling for new dates --- App.js | 1 - app/api/api.js | 3 ++ app/cms/DataHandler.js | 43 +++++++++++------------- app/features/schedule/ScheduleDayView.js | 3 +- 4 files changed, 24 insertions(+), 26 deletions(-) diff --git a/App.js b/App.js index a0d8f422..74f2e389 100644 --- a/App.js +++ b/App.js @@ -22,7 +22,6 @@ import AsyncStorage from "@react-native-community/async-storage"; import { authorize } from "react-native-app-auth"; import PushNotificationIOS from "@react-native-community/push-notification-ios"; import PushNotification from "react-native-push-notification"; -import { turnToEst } from "./app/cms/DataHandler"; import { useDarkModeContext, useDynamicStyleSheet, diff --git a/app/api/api.js b/app/api/api.js index 77099e8e..66b062e5 100644 --- a/app/api/api.js +++ b/app/api/api.js @@ -103,6 +103,9 @@ export const getEvents = async (token) => { } ); const eventJson = await response.json(); + eventJson.sort((a, b) => { + return Date.parse(a.startDate) - Date.parse(b.startDate); + }); return { status: response.status, eventJson }; } catch (err) { return { diff --git a/app/cms/DataHandler.js b/app/cms/DataHandler.js index 4ab7025a..5b6a6e24 100644 --- a/app/cms/DataHandler.js +++ b/app/cms/DataHandler.js @@ -1,17 +1,21 @@ -import moment from "moment-timezone"; +import { DateTime } from "luxon"; export const daysAvailable = ["friday", "saturday", "sunday"]; export function turnToEst(date) { - return moment(date); + return DateTime.fromISO(date).setZone("America/New_York"); } export function getDaysForEvent(events) { var days = []; - for (event of events) { + for (const event of events) { if (event && event.startDate) { - const day = turnToEst(event.startDate).format("dddd").toLowerCase(); + const day = DateTime.fromISO(event.startDate, { + zone: "America/New_York", + }) + .toFormat("EEEE") + .toLowerCase(); if (days.indexOf(day) == -1) { days.push(day); @@ -33,29 +37,26 @@ export function sortEventsByStartTime(events) { } return events.sort(function (a, b) { - return turnToEst(a.startDate) - turnToEst(b.startDate); + return Date.parse(a.startDate) - Date.parse(b.startDate); }); } export function getEventsForDay(events, day) { if (day == null) { - day = moment().tz("America/New_York").format("dddd").toLowerCase(); + day = DateTime.now().toFormat("EEEE").toLowerCase(); } // converts event's start time to a day (saturday, sunday, etc) and sees if it matches the string return events.filter((event) => { if (event && event.startDate) { - return turnToEst(event.startDate).format("dddd").toLowerCase() == day; + return turnToEst(event.startDate).toFormat("EEEE").toLowerCase() == day; } return false; }); } export function getCurrentDayIndex(events) { - const todayString = moment() - .tz("America/New_York") - .format("dddd") - .toLowerCase(); + const todayString = DateTime.now().toFormat("EEEE").toLowerCase(); return getDaysForEvent(events).indexOf(todayString); } @@ -66,9 +67,11 @@ export function getTimeblocksForDay(events, day) { var lastStartTime = null; // go through all events for the current day, if there is a difference between the current event and last event, add a new time in between them - for (event of getEventsForDay(events, day)) { + for (const event of getEventsForDay(events, day)) { if (event && event.startDate) { - const startTimeString = event.startTime; + const startTimeString = turnToEst(event.startDate).toLocaleString( + DateTime.TIME_SIMPLE + ); if (startTimeString != lastStartTime) { timeblocksEvents.push({ time: startTimeString, event: event }); @@ -94,22 +97,14 @@ export function getCurrentEventIndex(events, day) { } export function isEventHappeningNow(event) { - // time blocks put the event within {time: timeString, event: event} - if (event != null && event.event != null) { - event = event.event; - } - if (event == null || event.startDate == null || event.endDate == null) { return false; } - const estStart = turnToEst(event.startDate); - const estEnd = turnToEst(event.endDate); + const currentDate = new Date(); return ( - estStart.format("dddd").toLowerCase() == - moment().tz("America/New_York").format("dddd").toLowerCase() && - moment() > estStart && - moment() < estEnd + currentDate >= Date.parse(event.startDate) && + currentDate <= Date.parse(event.endDate) ); } diff --git a/app/features/schedule/ScheduleDayView.js b/app/features/schedule/ScheduleDayView.js index eb758d99..a9d8b028 100644 --- a/app/features/schedule/ScheduleDayView.js +++ b/app/features/schedule/ScheduleDayView.js @@ -353,7 +353,8 @@ const styles = StyleSheet.create({ }, daysParent: { - marginBottom: 7, + marginTop: 2, + marginBottom: 12, justifyContent: "center", alignSelf: "center", }, From c392c2ced8d1474d12734eec395a2c7332680c77 Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 04:15:13 -0400 Subject: [PATCH 093/102] async storage --- app/features/scavengerHunt/ScavHuntItem.js | 17 +++++++----- .../scavengerHunt/ScavengerHuntTab.js | 25 +----------------- app/state/scavHunt/ScavHuntActionTypes.ts | 3 ++- app/state/scavHunt/ScavHuntProvider.js | 26 ++++++++++++++++--- app/state/scavHunt/ScavHuntReducer.ts | 9 ++++--- 5 files changed, 42 insertions(+), 38 deletions(-) diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index d54f50bf..1c2abd58 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -29,17 +29,20 @@ export function ScavHuntItem(props) { const item = props.route.params.item; const isComplete = state.completedQuestions.includes(item.id); - const initScannedCode = null - // completed hints are of format '{id}-{hint}' + let initScannedCode = null + // completed hints are of format '{id}-{hint}'\ + console.log('init state: ', state) state.completedHints.forEach(h => { - const split = h.split('-') - if (split.length === 2) { - if (split[0] === item.id) { - initScannedCode = split[1]; + const splitLoc = h.indexOf('-') + if (splitLoc !== -1) { + if (h.slice(0, splitLoc) === item.id) { + initScannedCode = h.slice(splitLoc + 1); return; } } }) + + console.log('initscannedcode',initScannedCode) const [scannedCode, setScannedCode] = useState(initScannedCode); const [answer, setAnswer] = useState(isComplete ? item.answer : ""); @@ -134,7 +137,7 @@ export function ScavHuntItem(props) { { - AsyncStorage.getItem("completedQuestions", (error, result) => { - if (result) { - const r = JSON.parse(result); - r.forEach((id) => { - if (!state.completedQuestions.includes(id)) { - completeQuestion(id); - } - }); - } - }); - AsyncStorage.getItem("completedHints", (error, result) => { - if (result) { - const r = JSON.parse(result); - r.forEach((id) => { - if (!state.completedQuestions.includes(id)) { - completeHint(id); - } - }); - } - }); - - }, []); var scavHunts = hackathon.scavengerHunts.filter(challenge => challenge.isQR ); scavHunts.sort((item1, item2) => { @@ -89,6 +65,7 @@ export function ScavengerHuntTab(props) { }; console.log('item', item) const available = true + console.log(state) const isComplete = state.completedQuestions.includes(item.id); return ( @@ -18,9 +18,29 @@ export default function ScavHuntProvider({ children }) { type: COMPLETE_HINT, value: item }) + }, + setFromStorage: (value) => { + dispatch({ + type: SET_FROM_STORAGE, + value: value + }) } }; + useEffect(() => { + const getInitialData = async () => { + try { + const completedQuestions = await AsyncStorage.getItem("completedQuestions") + const completedHints = await AsyncStorage.getItem("completedHints") + value.setFromStorage({ completedHints: JSON.parse(completedHints) ?? [], completedQuestions: JSON.parse(completedQuestions) ?? []}) + } catch (e) { + + } + } + + getInitialData() + }, []) + return ( {children} diff --git a/app/state/scavHunt/ScavHuntReducer.ts b/app/state/scavHunt/ScavHuntReducer.ts index 83fbd756..69b00483 100644 --- a/app/state/scavHunt/ScavHuntReducer.ts +++ b/app/state/scavHunt/ScavHuntReducer.ts @@ -1,4 +1,4 @@ -import { COMPLETE_QUESTION, COMPLETE_HINT } from './ScavHuntActionTypes' +import { COMPLETE_QUESTION, COMPLETE_HINT, SET_FROM_STORAGE } from './ScavHuntActionTypes' import AsyncStorage from "@react-native-community/async-storage" export const initialValue = { @@ -12,14 +12,17 @@ export function scavHuntReducer(state, action) { return { ...state, completedQuestions: state.completedQuestions.concat([action.value])} case COMPLETE_HINT: return completeHint(state, action.value) + case SET_FROM_STORAGE: + return {...state, ...action.value} } } function completeHint(state, item) { - const newState = { ...state, completedHints: state.completedHints.concat([item.id + '-' + item.hint])} + const newState = { ...state, completedHints: state.completedHints.concat([item.id + '-' + item.code])} + console.log('in reducer: ', state, item, newState, JSON.stringify(newState.completedHints)) AsyncStorage.setItem( "completedHints", - JSON.stringify(newState) + JSON.stringify(newState.completedHints) ); return newState } \ No newline at end of file From 13814c772b9247a10ccb1d5fc91e7e8e3cfeff9b Mon Sep 17 00:00:00 2001 From: Rahil Patel Date: Wed, 19 Oct 2022 04:18:36 -0400 Subject: [PATCH 094/102] async clear on logout --- app/features/information/InformationTab.js | 2 ++ app/features/scavengerHunt/ScavHuntItem.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/features/information/InformationTab.js b/app/features/information/InformationTab.js index a8573639..2e2334e7 100644 --- a/app/features/information/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -8,6 +8,7 @@ import { ScrollView, Alert, } from "react-native"; +import AsyncStorage from "@react-native-community/async-storage"; import { HackathonContext } from "../../state/hackathon"; import { Card } from "../../components/Card"; import { Linking } from "react-native"; @@ -127,6 +128,7 @@ export function InformationTab(props) { }, ]} onPress={() => { + AsyncStorage.clear() auth.signOut(); }} > diff --git a/app/features/scavengerHunt/ScavHuntItem.js b/app/features/scavengerHunt/ScavHuntItem.js index 1c2abd58..d55c148b 100644 --- a/app/features/scavengerHunt/ScavHuntItem.js +++ b/app/features/scavengerHunt/ScavHuntItem.js @@ -137,7 +137,7 @@ export function ScavHuntItem(props) { Date: Wed, 19 Oct 2022 04:45:35 -0400 Subject: [PATCH 095/102] Add focusing for qr code scanning --- app/features/checkin/CheckInQR.js | 37 ++++++++++--------------- app/features/interactions/ScanScreen.js | 28 +++++++++++-------- 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index f7c27eb2..3750d59d 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -22,15 +22,6 @@ export function CheckInQR(props) { requestCameraPermission(); }, []); - // Activate scanner whenever we navigate back to the screen - useEffect(() => { - if (scanner != null) { - setTimeout(() => { - scanner.current.reactivate(); - }, 2000); - } - }, [scanner, isFocused]); - const createAlert = (message) => Alert.alert("Error", message, [ { @@ -104,19 +95,21 @@ export function CheckInQR(props) { > Scan User QR Code - + {isFocused && ( + + )} ); diff --git a/app/features/interactions/ScanScreen.js b/app/features/interactions/ScanScreen.js index 53c3fecd..88133135 100644 --- a/app/features/interactions/ScanScreen.js +++ b/app/features/interactions/ScanScreen.js @@ -19,6 +19,7 @@ import { logInteraction, getUserProfile } from "../../api/api"; import { ThemeContext } from "../../contexts/ThemeContext"; import { cancelNFC, initNfc, readNFC } from "../../NFCScanning/nfc"; import { AuthContext } from "../../contexts/AuthContext"; +import { useIsFocused } from "@react-navigation/native"; export function ScanScreen(props) { const { dynamicStyles } = useContext(ThemeContext); @@ -32,6 +33,7 @@ export function ScanScreen(props) { const [isScanning, setIsScanning] = useState(false); const [modalVisible, setModalVisible] = useState(false); const scanner = useRef(null); + const isFocused = useIsFocused(); useEffect(() => { request(PERMISSIONS.IOS.CAMERA).then((result) => { @@ -235,18 +237,20 @@ export function ScanScreen(props) { {toggleValue ? ( - + isFocused && ( + + ) ) : ( Date: Thu, 20 Oct 2022 21:32:29 -0400 Subject: [PATCH 096/102] added interaction to checkin, and fixed bug and styling with scroll-to-top button --- app/api/api.js | 8 +++++-- app/cms/DataHandler.js | 4 ++-- app/features/checkin/CheckInNFC.js | 13 ++++++++++- app/features/interactions/ScanScreen.js | 1 + app/features/schedule/ScheduleDayView.js | 5 ++--- app/state/hackathon/HackathonProvider.js | 7 ++++-- ios/Podfile.lock | 28 ++++++++++++------------ 7 files changed, 42 insertions(+), 24 deletions(-) diff --git a/app/api/api.js b/app/api/api.js index 66b062e5..bf4ea3a9 100644 --- a/app/api/api.js +++ b/app/api/api.js @@ -25,12 +25,15 @@ export const EVENT_TYPE_COLOR_MAP = { }; export const logInteraction = async (token, type, userId, identifier) => { - const body = { + + let body = { userId: userId, - identifier: identifier, type: type, hexathon: CURRENT_HEXATHON.id, }; + if (identifier) { + body.identifier = identifier; + } try { const response = await fetch(`${API_SERVICE_URLS.hexathons}/interactions`, { method: "POST", @@ -45,6 +48,7 @@ export const logInteraction = async (token, type, userId, identifier) => { const json = await response.json(); return { status: response.status, json }; } catch (err) { + console.log(err) return { status: 500, json: { message: "Network error when logging interaction" }, diff --git a/app/cms/DataHandler.js b/app/cms/DataHandler.js index 5b6a6e24..a3e50ae3 100644 --- a/app/cms/DataHandler.js +++ b/app/cms/DataHandler.js @@ -63,7 +63,7 @@ export function getCurrentDayIndex(events) { // adds timeblocks between new start times for events export function getTimeblocksForDay(events, day) { - timeblocksEvents = []; + let timeblocksEvents = []; var lastStartTime = null; // go through all events for the current day, if there is a difference between the current event and last event, add a new time in between them @@ -87,7 +87,7 @@ export function getTimeblocksForDay(events, day) { export function getCurrentEventIndex(events, day) { const timeblocks = getTimeblocksForDay(events, day); - for (i = 0; i < timeblocks.length; i++) { + for (let i = 0; i < timeblocks.length; i++) { if (isEventHappeningNow(timeblocks[i])) { return i; } diff --git a/app/features/checkin/CheckInNFC.js b/app/features/checkin/CheckInNFC.js index f8cc7be7..31427570 100644 --- a/app/features/checkin/CheckInNFC.js +++ b/app/features/checkin/CheckInNFC.js @@ -11,6 +11,8 @@ import { StyleSheet, } from "react-native"; import { ThemeContext } from "../../contexts/ThemeContext"; +import { AuthContext } from "../../contexts/AuthContext"; +import { logInteraction } from "../../api/api"; import { writeNFC, cancelNFC, initNfc } from "../../NFCScanning/nfc"; import BadgeJudge from "../../../assets/images/BadgeJudge.png"; import BadgeMentor from "../../../assets/images/BadgeMentor.png"; @@ -24,6 +26,7 @@ import { Card } from "../../components/Card"; export function CheckInNFC(props) { const { application } = props.route.params; const { dynamicStyles } = useContext(ThemeContext); + const { firebaseUser } = useContext(AuthContext) const [modalVisible, setModalVisible] = useState(false); useEffect(async () => { @@ -84,7 +87,15 @@ export function CheckInNFC(props) { if (!success) { createAlert("There was an issue writing to the badge. Try again."); } else { - props.navigation.goBack(); + + const token = await firebaseUser.getIdToken() + const interactionResponse = await logInteraction(token, 'check-in', application.userId) + if (interactionResponse.status !== 200) { + console.log(interactionResponse) + createAlert('There was an issue logging the checkin interaction. However, badge was successfully written to.') + } else { + props.navigation.goBack(); + } } }; diff --git a/app/features/interactions/ScanScreen.js b/app/features/interactions/ScanScreen.js index 88133135..defc1ed4 100644 --- a/app/features/interactions/ScanScreen.js +++ b/app/features/interactions/ScanScreen.js @@ -114,6 +114,7 @@ export function ScanScreen(props) { setStatus(interactionResponse.status); if (interactionResponse.status !== 200) { + console.log(interactionResponse) createAlert(interactionResponse.json.message); return false; } diff --git a/app/features/schedule/ScheduleDayView.js b/app/features/schedule/ScheduleDayView.js index a9d8b028..c512076c 100644 --- a/app/features/schedule/ScheduleDayView.js +++ b/app/features/schedule/ScheduleDayView.js @@ -246,12 +246,11 @@ export function ScheduleDayView(props) { style={{ position: "absolute", right: 0, - bottom: props.paddingHeight + 10, + bottom: props.paddingHeight + 30, }} onPress={() => { if ( - currentScheduleRef != null && - props.days[dayIndex] == currentDayString + currentScheduleRef != null ) { currentScheduleRef.current.scrollToIndex({ index: props.initialEventIndex, diff --git a/app/state/hackathon/HackathonProvider.js b/app/state/hackathon/HackathonProvider.js index 4ea585b8..96997373 100644 --- a/app/state/hackathon/HackathonProvider.js +++ b/app/state/hackathon/HackathonProvider.js @@ -50,10 +50,13 @@ export default function HackathonProvider({ const hackathons = data.data.allHackathons; if (hackathons != null && hackathons.length != 0) { - var hackathon = hackathons[0]; + let hackathon = hackathons[0]; const token = await fUser.getIdToken(); const { eventJson } = await getEvents(token); - hackathon.events = eventJson; + // const testEvent = { description: 'test desc', startDate: "2022-10-21T00:00:00.000Z", endDate: "2022-11-20T02:00:00.000Z", hexathon: "62d9ed68d0a69b88c06bdfb2", id: "63516bdad676a93b24d46010", name: "test name", type: "ceremony", location: [{ name: 'Ferst Center', id: "63516bdad676a93b24d46011" }], tags: [] }; + // hackathon.events = eventJson + // hackathon.events.push(testEvent) + hackathon.events = eventJson value.state.hackathon = hackathon; setIsLoading(false); } else { diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 821d2f95..632a4063 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -561,7 +561,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: f1c419fe650abad7add5d3dd7b5c2399aacf99d2 + FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -572,7 +572,7 @@ SPEC CHECKSUMS: GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 + Permission-Camera: 597646618d1edcc055a3f660844c2ee6de8e0596 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 @@ -585,12 +585,12 @@ SPEC CHECKSUMS: React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 - react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 - react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa - react-native-nfc-manager: c2c638bd5dfeec95d4750a2baf9307ff4633e711 - react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 - react-native-user-agent: 594b689d097a85c24128d2458803586d5e5cb1f7 - react-native-webview: a192040320142d8f10d652a745c46e4f43e37f8c + react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 + react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f + react-native-nfc-manager: 449c2c400a4f0ab3b8c084a713f41762a26b3307 + react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 + react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 + react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 @@ -604,15 +604,15 @@ SPEC CHECKSUMS: React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 - RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 - RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 - RNCPushNotificationIOS: 089da3b657e1e3d464f38195fd2e3069608ef5af + RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 + RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 + RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45 RNFBApp: 9c90f9d576861947ba75fe0830567c570bcbcf6d RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNInAppBrowser: 9066f16e763951ea2a70c191934274b955cb6ec8 - RNPermissions: b4522b438784c979764461e1beba55250654bada + RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 + RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f @@ -621,4 +621,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: e1f418a9f57dd614e87ed172b615b101271eb2d5 -COCOAPODS: 1.11.3 +COCOAPODS: 1.11.2 From d83358faa54899973566484b3339c50fdbbd75c2 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Thu, 20 Oct 2022 23:35:24 -0400 Subject: [PATCH 097/102] Update keys and only show QR code if status is confirmed --- app/features/checkin/CheckInQR.js | 3 +- app/features/information/InformationTab.js | 72 +++++++++++++------ .../scavengerHunt/ScavengerHuntTab.js | 24 ++++--- 3 files changed, 65 insertions(+), 34 deletions(-) diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index 3750d59d..529c8d94 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -4,8 +4,7 @@ import QRCodeScanner from "react-native-qrcode-scanner"; import { request, PERMISSIONS } from "react-native-permissions"; import { ThemeContext } from "../../contexts/ThemeContext"; import { AuthContext } from "../../contexts/AuthContext"; -import { getRegistrationApplication } from "../../api/api"; -import { CURRENT_HEXATHON } from "../../api/api"; +import { getRegistrationApplication, CURRENT_HEXATHON } from "../../api/api"; import { useIsFocused } from "@react-navigation/native"; export function CheckInQR(props) { diff --git a/app/features/information/InformationTab.js b/app/features/information/InformationTab.js index 60756d74..4074ae4f 100644 --- a/app/features/information/InformationTab.js +++ b/app/features/information/InformationTab.js @@ -1,4 +1,4 @@ -import React, { useContext } from "react"; +import React, { useContext, useEffect, useState } from "react"; import { View, @@ -18,12 +18,35 @@ import { AuthContext } from "../../contexts/AuthContext"; import { getAuth } from "firebase/auth"; import { app } from "../../../firebase"; import QRCode from "react-native-qrcode-svg"; +import { CURRENT_HEXATHON, getRegistrationApplication } from "../../api/api"; -export function InformationTab(props) { +export function InformationTab() { const auth = getAuth(app); const { state } = useContext(HackathonContext); const { dynamicStyles } = useContext(ThemeContext); const { firebaseUser } = useContext(AuthContext); + const [showQRCode, setShowQRCode] = useState(false); + + useEffect(() => { + const getApplication = async () => { + try { + const token = await firebaseUser.getIdToken(); + const { json: data } = await getRegistrationApplication( + token, + CURRENT_HEXATHON.id, + firebaseUser.uid + ); + + if (data?.applications[0].status === "CONFIRMED") { + setShowQRCode(true); + } + } catch (e) { + console.log(e); + } + }; + + getApplication(); + }, [firebaseUser]); const hackathon = state.hackathon; @@ -40,6 +63,7 @@ export function InformationTab(props) { headerButtons = buttonJSON.map((button) => { return ( {headerButtons} - - You can use this QR code or the one from HexLabs Registration to - check-in! - - - - + {showQRCode && ( + <> + + You can use this QR code or the one from HexLabs Registration to + check-in! + + + + + + )} FAQs {faqs.map((faq) => ( - + {faq.question} @@ -140,7 +168,7 @@ export function InformationTab(props) { }, ]} onPress={() => { - AsyncStorage.clear() + AsyncStorage.clear(); auth.signOut(); }} > diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index 3a9d1765..d33f8bfa 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -20,21 +20,23 @@ export function ScavengerHuntTab(props) { const hackathonContext = useContext(HackathonContext); const hackathon = hackathonContext.state.hackathon; - var scavHunts = hackathon.scavengerHunts.filter(challenge => challenge.isQR ); + var scavHunts = hackathon.scavengerHunts.filter( + (challenge) => challenge.isQR + ); scavHunts.sort((item1, item2) => { return item1.index - item2.index; }); - const crosswordPuzzleChallenges = hackathon.scavengerHunts.filter(challenge => !challenge.isQR ); + const crosswordPuzzleChallenges = hackathon.scavengerHunts.filter( + (challenge) => !challenge.isQR + ); const crosswordPuzzleButton = () => { - return crosswordPuzzleChallenges.length === 0 ? null : + return crosswordPuzzleChallenges.length === 0 ? null : ( { @@ -54,7 +56,8 @@ export function ScavengerHuntTab(props) { {"Crossword Puzzle"} - } + ); + }; const scavHuntButtons = scavHunts.map((challenge) => { if (!challenge.isQR) { return null; @@ -63,12 +66,13 @@ export function ScavengerHuntTab(props) { ...challenge, releaseDate: Date.parse(challenge.releaseDate), }; - console.log('item', item) - const available = true - console.log(state) + console.log("item", item); + const available = true; + console.log(state); const isComplete = state.completedQuestions.includes(item.id); return ( Date: Thu, 20 Oct 2022 23:43:20 -0400 Subject: [PATCH 098/102] Update header message for 3 pages --- app/features/checkin/CheckInQR.js | 9 ++++++++- app/features/interactions/InteractionsTab.js | 12 +++++++++++- app/features/scavengerHunt/ScavengerHuntTab.js | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/features/checkin/CheckInQR.js b/app/features/checkin/CheckInQR.js index 529c8d94..30d18afa 100644 --- a/app/features/checkin/CheckInQR.js +++ b/app/features/checkin/CheckInQR.js @@ -78,6 +78,7 @@ export function CheckInQR(props) { return ( + Check-In Use this page to check-in people to {CURRENT_HEXATHON.name}. You'll scan their QR code from registration/mobile app and then tap the matching @@ -115,9 +116,15 @@ export function CheckInQR(props) { } const styles = StyleSheet.create({ + headerText: { + fontFamily: "SpaceMono-Bold", + fontSize: 22, + marginHorizontal: 15, + marginTop: 10, + marginBottom: 5, + }, headerHelpText: { marginHorizontal: 15, fontFamily: "SpaceMono-Bold", - marginTop: 10, }, }); diff --git a/app/features/interactions/InteractionsTab.js b/app/features/interactions/InteractionsTab.js index f675f02e..fa93cec2 100644 --- a/app/features/interactions/InteractionsTab.js +++ b/app/features/interactions/InteractionsTab.js @@ -96,6 +96,9 @@ export function InteractionsTab(props) { return ( + + Event Scanning + Use this page to scan each person's badge before every event. If you can't scan a badge, scan their QR code from registration/mobile app @@ -148,7 +151,14 @@ const styles = StyleSheet.create({ }, header: { - marginVertical: 5, + marginTop: 10, + marginBottom: 5, + }, + + headerText: { + fontFamily: "SpaceMono-Bold", + fontSize: 22, + marginHorizontal: 15, }, headerHelpText: { diff --git a/app/features/scavengerHunt/ScavengerHuntTab.js b/app/features/scavengerHunt/ScavengerHuntTab.js index d33f8bfa..5755d186 100644 --- a/app/features/scavengerHunt/ScavengerHuntTab.js +++ b/app/features/scavengerHunt/ScavengerHuntTab.js @@ -188,7 +188,7 @@ const styles = StyleSheet.create({ welcomeHeader: { fontFamily: "SpaceMono-Bold", fontSize: 22, - marginTop: 34, + marginTop: 10, marginBottom: 10, }, From aea9c3faa085aae1ef3b2050417433ad8a04c06b Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Thu, 20 Oct 2022 23:48:07 -0400 Subject: [PATCH 099/102] Update cocoa pods version --- ios/Podfile.lock | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 632a4063..821d2f95 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -561,7 +561,7 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: 565fafc2ff98e48d947679ff992975509414a85f + FBReactNativeSpec: f1c419fe650abad7add5d3dd7b5c2399aacf99d2 Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd FirebaseCore: 907447d8917a4d3eb0cce2829c5a0ad21d90b432 FirebaseCoreDiagnostics: 68ad972f99206cef818230f3f3179d52ccfb7f8c @@ -572,7 +572,7 @@ SPEC CHECKSUMS: GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7 GoogleUtilities: 684ee790a24f73ebb2d1d966e9711c203f2a4237 nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - Permission-Camera: 597646618d1edcc055a3f660844c2ee6de8e0596 + Permission-Camera: 4b7c865046e1c7f77f6c7961fe5762c997c52dc1 PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 @@ -585,12 +585,12 @@ SPEC CHECKSUMS: React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 - react-native-app-auth: 0970add7ceaadc90d2ccd1d9e21916d33d203701 - react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f - react-native-nfc-manager: 449c2c400a4f0ab3b8c084a713f41762a26b3307 - react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 - react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1 - react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 + react-native-app-auth: ed620d57f4b2bfc96c28ca264133c324a575a645 + react-native-camera: 210a872c84d3aa0982a9223047ef9e743ed694fa + react-native-nfc-manager: c2c638bd5dfeec95d4750a2baf9307ff4633e711 + react-native-safe-area-context: 5cf05f49df9d17261e40e518481f2e334c6cd4b5 + react-native-user-agent: 594b689d097a85c24128d2458803586d5e5cb1f7 + react-native-webview: a192040320142d8f10d652a745c46e4f43e37f8c React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 @@ -604,15 +604,15 @@ SPEC CHECKSUMS: React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 - RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 - RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 - RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45 + RNCAsyncStorage: cb9a623793918c6699586281f0b51cbc38f046f9 + RNCMaskedView: f127cd9652acfa31b91dcff613e07ba18b774db6 + RNCPushNotificationIOS: 089da3b657e1e3d464f38195fd2e3069608ef5af RNFBApp: 9c90f9d576861947ba75fe0830567c570bcbcf6d RNFBIid: e3a0c5de29ab0d414f6b186963066b4d34884d59 RNFBMessaging: c873e6c37f69d22de22cab134413030a9c6330a9 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 - RNPermissions: bcd846e8f5a7f39e921cc7ca7172e2de0e698b6f + RNInAppBrowser: 9066f16e763951ea2a70c191934274b955cb6ec8 + RNPermissions: b4522b438784c979764461e1beba55250654bada RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: f7ad633b2e0190b77b6a7aab7f914fad6f198d8d RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f @@ -621,4 +621,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: e1f418a9f57dd614e87ed172b615b101271eb2d5 -COCOAPODS: 1.11.2 +COCOAPODS: 1.11.3 From 8558bcaf2bee4c5d8993643d5b4ffab2123759ff Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 21 Oct 2022 00:07:27 -0400 Subject: [PATCH 100/102] Update ios version to 1.5.1 --- ios/AppGT.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ios/AppGT.xcodeproj/project.pbxproj b/ios/AppGT.xcodeproj/project.pbxproj index d6e0c0db..699dc35f 100644 --- a/ios/AppGT.xcodeproj/project.pbxproj +++ b/ios/AppGT.xcodeproj/project.pbxproj @@ -388,7 +388,7 @@ INFOPLIST_FILE = "$(SRCROOT)/AppGT/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 1.4.1; + MARKETING_VERSION = 1.5.1; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -414,7 +414,7 @@ INFOPLIST_FILE = "$(SRCROOT)/AppGT/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 1.4.1; + MARKETING_VERSION = 1.5.1; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", From cee647c389e32de145df73f268434b48511cb897 Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 21 Oct 2022 01:13:25 -0400 Subject: [PATCH 101/102] Fix international polyfill on android --- App.js | 11 +++++++++++ android/app/build.gradle | 10 +++++++++- package-lock.json | 11 +++++++++++ package.json | 1 + 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/App.js b/App.js index 74f2e389..5da514d6 100644 --- a/App.js +++ b/App.js @@ -41,6 +41,8 @@ import { ThemeProvider } from "./app/contexts/ThemeContext"; import { AuthProvider, AuthContext } from "./app/contexts/AuthContext"; import { app } from "./firebase"; import { HackathonContext } from "./app/state/hackathon"; +import "intl"; +import "intl/locale-data/jsonp/en"; // old groundtruth auth // const authUrl = "https://login.hack.gt"; @@ -167,6 +169,15 @@ function App(props) { ); }, [isStarSchedule]); + useEffect(() => { + if (Platform.OS === "android") { + // See https://github.com/expo/expo/issues/6536 for this issue. + if (Intl.__disableRegExpRestore === "function") { + Intl.__disableRegExpRestore(); + } + } + }, []); + const Stack = createStackNavigator(); const splashGrowModal = ( diff --git a/android/app/build.gradle b/android/app/build.gradle index 4c85f7cc..1ebe5b1b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -111,7 +111,15 @@ def enableProguardInReleaseBuilds = false * give correct results when using with locales other than en-US. Note that * this variant is about 6MiB larger per architecture than default. */ -def jscFlavor = 'org.webkit:android-jsc:+' +def jscFlavor = 'org.webkit:android-jsc-intl:+' + +/** +* Use the international variant of JavaScriptCore +* This variant includes the ICU i18n library to make APIs like `Date.toLocaleString` +* and `String.localeCompare` work when using with locales other than en-US. +* Note that this variant is about 6MiB larger per architecture than the default. +*/ +def useIntlJsc = true /** * Whether to enable the Hermes VM. diff --git a/package-lock.json b/package-lock.json index ae3fe91f..587dca5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "@react-navigation/stack": "^5.14.9", "Buffer": "^0.0.0", "firebase": "^9.9.4", + "intl": "^1.2.5", "luxon": "^3.0.4", "moment": "^2.29.1", "moment-timezone": "^0.5.33", @@ -9045,6 +9046,11 @@ "node": ">= 0.10" } }, + "node_modules/intl": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", + "integrity": "sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==" + }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -25290,6 +25296,11 @@ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, + "intl": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", + "integrity": "sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==" + }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", diff --git a/package.json b/package.json index 92c24eb4..218570d3 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@react-navigation/stack": "^5.14.9", "Buffer": "^0.0.0", "firebase": "^9.9.4", + "intl": "^1.2.5", "luxon": "^3.0.4", "moment": "^2.29.1", "moment-timezone": "^0.5.33", From 3c16505c31fec4db9d7fc4c1177d8505e5e68c3f Mon Sep 17 00:00:00 2001 From: Ayush Goyal Date: Fri, 21 Oct 2022 03:02:46 -0400 Subject: [PATCH 102/102] Update android app version --- android/app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 1ebe5b1b..5b4c83ec 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -143,8 +143,8 @@ android { applicationId "com.appgt" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 5146000 - versionName '1.4.0' + versionCode 5146100 + versionName '1.5.0' manifestPlaceholders = [ appAuthRedirectScheme: 'gt.hack.live' ]