diff --git a/__mocks__/latlon-geohash.js b/__mocks__/latlon-geohash.js
index d92a67c8..c59592b9 100644
--- a/__mocks__/latlon-geohash.js
+++ b/__mocks__/latlon-geohash.js
@@ -1,7 +1,9 @@
export const encode = jest.fn();
+export const neighbours = jest.fn();
const geohash = {
- encode
+ encode,
+ neighbours
};
export default geohash;
diff --git a/android/app/build.gradle b/android/app/build.gradle
index f492e5c0..d74b0df2 100755
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -137,8 +137,8 @@ android {
applicationId "com.hamagen"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
- versionCode 46
- versionName '1.3.8'
+ versionCode 73
+ versionName '1.4.7'
}
dexOptions {
@@ -223,13 +223,13 @@ android {
}
dependencies {
- implementation "com.facebook.react:react-native:+" // From node_modules
-
+ implementation project(':rn-contact-tracing')
implementation "com.google.android.gms:play-services-base:+"
implementation 'com.google.android.gms:play-services-maps:+'
- implementation 'com.google.firebase:firebase-core:17.3.0'
- implementation "com.google.firebase:firebase-messaging:20.1.5"
+ implementation 'com.google.firebase:firebase-core:17.4.2'
+ implementation "com.google.firebase:firebase-messaging:20.2.0"
implementation fileTree(dir: "libs", include: ["*.jar"])
+ implementation "com.facebook.react:react-native:+" // From node_modules
if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/";
diff --git a/android/app/src/debug/google-services.json b/android/app/src/debug/google-services.json
index c822809b..6910f4c0 100644
--- a/android/app/src/debug/google-services.json
+++ b/android/app/src/debug/google-services.json
@@ -1,93 +1,65 @@
{
"project_info": {
- "project_number": "776051238571",
- "firebase_url": "https://hamagen-aa88d.firebaseio.com",
- "project_id": "hamagen-aa88d",
- "storage_bucket": "hamagen-aa88d.appspot.com"
+ "project_number": "52365283353",
+ "firebase_url": "https://codeagainstcorona-3896f.firebaseio.com",
+ "project_id": "codeagainstcorona-3896f",
+ "storage_bucket": "codeagainstcorona-3896f.appspot.com"
},
"client": [
{
"client_info": {
- "mobilesdk_app_id": "1:776051238571:android:6a28fec1527d21684af9ee",
+ "mobilesdk_app_id": "1:52365283353:android:8aec94697dbac7c9279a88",
"android_client_info": {
"package_name": "com.hamagen"
}
},
"oauth_client": [
{
- "client_id": "776051238571-l562rviorn5u7gqejo6l8scnsr07knpj.apps.googleusercontent.com",
+ "client_id": "52365283353-eidtjtn5hhj9ah2kbo8fhuchk881nue3.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.hamagen",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "certificate_hash": "83d01f3a66722354b83d9b5853076fbf6b7e7f30"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
- }
- ],
- "services": {
- "appinvite_service": {
- "other_platform_oauth_client": [
- {
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
- "client_type": 3
- },
- {
- "client_id": "776051238571-mbp8deiq0b0blfsb0pn0sc25tfj99rk6.apps.googleusercontent.com",
- "client_type": 2,
- "ios_info": {
- "bundle_id": "com.hamagen"
- }
- }
- ]
- }
- }
- },
- {
- "client_info": {
- "mobilesdk_app_id": "1:776051238571:android:27428629073a56ce4af9ee",
- "android_client_info": {
- "package_name": "com.hamagen.dev"
- }
- },
- "oauth_client": [
+ "client_id": "52365283353-jl2uq5agfi3uavmfk3q09mepr0na70ok.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.hamagen",
+ "certificate_hash": "da03d8b455b09ab26e9daf6e9e3a6a6151cd94cc"
+ }
+ },
{
- "client_id": "776051238571-b87qk083ctbon3oib5lam95qg26inr4g.apps.googleusercontent.com",
+ "client_id": "52365283353-nlt85qc4fccj4gvssqaqs6splqbrmdrk.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
- "package_name": "com.hamagen.dev",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "package_name": "com.hamagen",
+ "certificate_hash": "338496e3a378fb30fab21bb9dd0eeaf65eb571ba"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
+ "current_key": "AIzaSyDAZunGyKrQfFo87KN5_7ucdxXuHtTDUtw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
},
{
- "client_id": "776051238571-mbp8deiq0b0blfsb0pn0sc25tfj99rk6.apps.googleusercontent.com",
+ "client_id": "52365283353-1884kvsos7eqvli7omufrl1i0145m8m6.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
- "bundle_id": "com.hamagen"
+ "bundle_id": "com.hamagen.qa"
}
}
]
@@ -96,42 +68,50 @@
},
{
"client_info": {
- "mobilesdk_app_id": "1:776051238571:android:0ce459535c98709f4af9ee",
+ "mobilesdk_app_id": "1:52365283353:android:6613d33a05d0fd1f279a88",
"android_client_info": {
"package_name": "com.hamagen.qa"
}
},
"oauth_client": [
{
- "client_id": "776051238571-igc55i4ajk7b7kchmqjg3dfg7ogqeguo.apps.googleusercontent.com",
+ "client_id": "52365283353-d692bhj3vdqcbntk9smuqp8j9ksvlsds.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.hamagen.qa",
+ "certificate_hash": "da03d8b455b09ab26e9daf6e9e3a6a6151cd94cc"
+ }
+ },
+ {
+ "client_id": "52365283353-14b9v2gfg0bnumjif94t7se35akh33ti.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.hamagen.qa",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "certificate_hash": "83d01f3a66722354b83d9b5853076fbf6b7e7f30"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
+ "current_key": "AIzaSyDAZunGyKrQfFo87KN5_7ucdxXuHtTDUtw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
},
{
- "client_id": "776051238571-mbp8deiq0b0blfsb0pn0sc25tfj99rk6.apps.googleusercontent.com",
+ "client_id": "52365283353-1884kvsos7eqvli7omufrl1i0145m8m6.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
- "bundle_id": "com.hamagen"
+ "bundle_id": "com.hamagen.qa"
}
}
]
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index d180b0d8..92caee48 100755
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -9,7 +9,8 @@
-
+
+
+
+
getPackages() {
// packages.add(new MyReactNativePackage());
packages.add(new RNFirebaseMessagingPackage());
packages.add(new RNFirebaseNotificationsPackage());
+ packages.add(new SpecialBlePackage());
return packages;
}
diff --git a/android/app/src/qa/google-services.json b/android/app/src/qa/google-services.json
index c822809b..6910f4c0 100644
--- a/android/app/src/qa/google-services.json
+++ b/android/app/src/qa/google-services.json
@@ -1,93 +1,65 @@
{
"project_info": {
- "project_number": "776051238571",
- "firebase_url": "https://hamagen-aa88d.firebaseio.com",
- "project_id": "hamagen-aa88d",
- "storage_bucket": "hamagen-aa88d.appspot.com"
+ "project_number": "52365283353",
+ "firebase_url": "https://codeagainstcorona-3896f.firebaseio.com",
+ "project_id": "codeagainstcorona-3896f",
+ "storage_bucket": "codeagainstcorona-3896f.appspot.com"
},
"client": [
{
"client_info": {
- "mobilesdk_app_id": "1:776051238571:android:6a28fec1527d21684af9ee",
+ "mobilesdk_app_id": "1:52365283353:android:8aec94697dbac7c9279a88",
"android_client_info": {
"package_name": "com.hamagen"
}
},
"oauth_client": [
{
- "client_id": "776051238571-l562rviorn5u7gqejo6l8scnsr07knpj.apps.googleusercontent.com",
+ "client_id": "52365283353-eidtjtn5hhj9ah2kbo8fhuchk881nue3.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.hamagen",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "certificate_hash": "83d01f3a66722354b83d9b5853076fbf6b7e7f30"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
- }
- ],
- "services": {
- "appinvite_service": {
- "other_platform_oauth_client": [
- {
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
- "client_type": 3
- },
- {
- "client_id": "776051238571-mbp8deiq0b0blfsb0pn0sc25tfj99rk6.apps.googleusercontent.com",
- "client_type": 2,
- "ios_info": {
- "bundle_id": "com.hamagen"
- }
- }
- ]
- }
- }
- },
- {
- "client_info": {
- "mobilesdk_app_id": "1:776051238571:android:27428629073a56ce4af9ee",
- "android_client_info": {
- "package_name": "com.hamagen.dev"
- }
- },
- "oauth_client": [
+ "client_id": "52365283353-jl2uq5agfi3uavmfk3q09mepr0na70ok.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.hamagen",
+ "certificate_hash": "da03d8b455b09ab26e9daf6e9e3a6a6151cd94cc"
+ }
+ },
{
- "client_id": "776051238571-b87qk083ctbon3oib5lam95qg26inr4g.apps.googleusercontent.com",
+ "client_id": "52365283353-nlt85qc4fccj4gvssqaqs6splqbrmdrk.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
- "package_name": "com.hamagen.dev",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "package_name": "com.hamagen",
+ "certificate_hash": "338496e3a378fb30fab21bb9dd0eeaf65eb571ba"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
+ "current_key": "AIzaSyDAZunGyKrQfFo87KN5_7ucdxXuHtTDUtw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
},
{
- "client_id": "776051238571-mbp8deiq0b0blfsb0pn0sc25tfj99rk6.apps.googleusercontent.com",
+ "client_id": "52365283353-1884kvsos7eqvli7omufrl1i0145m8m6.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
- "bundle_id": "com.hamagen"
+ "bundle_id": "com.hamagen.qa"
}
}
]
@@ -96,42 +68,50 @@
},
{
"client_info": {
- "mobilesdk_app_id": "1:776051238571:android:0ce459535c98709f4af9ee",
+ "mobilesdk_app_id": "1:52365283353:android:6613d33a05d0fd1f279a88",
"android_client_info": {
"package_name": "com.hamagen.qa"
}
},
"oauth_client": [
{
- "client_id": "776051238571-igc55i4ajk7b7kchmqjg3dfg7ogqeguo.apps.googleusercontent.com",
+ "client_id": "52365283353-d692bhj3vdqcbntk9smuqp8j9ksvlsds.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.hamagen.qa",
+ "certificate_hash": "da03d8b455b09ab26e9daf6e9e3a6a6151cd94cc"
+ }
+ },
+ {
+ "client_id": "52365283353-14b9v2gfg0bnumjif94t7se35akh33ti.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.hamagen.qa",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "certificate_hash": "83d01f3a66722354b83d9b5853076fbf6b7e7f30"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
+ "current_key": "AIzaSyDAZunGyKrQfFo87KN5_7ucdxXuHtTDUtw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
},
{
- "client_id": "776051238571-mbp8deiq0b0blfsb0pn0sc25tfj99rk6.apps.googleusercontent.com",
+ "client_id": "52365283353-1884kvsos7eqvli7omufrl1i0145m8m6.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
- "bundle_id": "com.hamagen"
+ "bundle_id": "com.hamagen.qa"
}
}
]
diff --git a/android/app/src/release/google-services.json b/android/app/src/release/google-services.json
index 80eef8ed..6910f4c0 100755
--- a/android/app/src/release/google-services.json
+++ b/android/app/src/release/google-services.json
@@ -1,80 +1,66 @@
{
"project_info": {
- "project_number": "776051238571",
- "firebase_url": "https://hamagen-aa88d.firebaseio.com",
- "project_id": "hamagen-aa88d",
- "storage_bucket": "hamagen-aa88d.appspot.com"
+ "project_number": "52365283353",
+ "firebase_url": "https://codeagainstcorona-3896f.firebaseio.com",
+ "project_id": "codeagainstcorona-3896f",
+ "storage_bucket": "codeagainstcorona-3896f.appspot.com"
},
"client": [
{
"client_info": {
- "mobilesdk_app_id": "1:776051238571:android:6a28fec1527d21684af9ee",
+ "mobilesdk_app_id": "1:52365283353:android:8aec94697dbac7c9279a88",
"android_client_info": {
"package_name": "com.hamagen"
}
},
"oauth_client": [
{
- "client_id": "776051238571-l562rviorn5u7gqejo6l8scnsr07knpj.apps.googleusercontent.com",
+ "client_id": "52365283353-eidtjtn5hhj9ah2kbo8fhuchk881nue3.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.hamagen",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "certificate_hash": "83d01f3a66722354b83d9b5853076fbf6b7e7f30"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
- }
- ],
- "services": {
- "appinvite_service": {
- "other_platform_oauth_client": [
- {
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
- "client_type": 3
- }
- ]
- }
- }
- },
- {
- "client_info": {
- "mobilesdk_app_id": "1:776051238571:android:27428629073a56ce4af9ee",
- "android_client_info": {
- "package_name": "com.hamagen.dev"
- }
- },
- "oauth_client": [
+ "client_id": "52365283353-jl2uq5agfi3uavmfk3q09mepr0na70ok.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.hamagen",
+ "certificate_hash": "da03d8b455b09ab26e9daf6e9e3a6a6151cd94cc"
+ }
+ },
{
- "client_id": "776051238571-b87qk083ctbon3oib5lam95qg26inr4g.apps.googleusercontent.com",
+ "client_id": "52365283353-nlt85qc4fccj4gvssqaqs6splqbrmdrk.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
- "package_name": "com.hamagen.dev",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "package_name": "com.hamagen",
+ "certificate_hash": "338496e3a378fb30fab21bb9dd0eeaf65eb571ba"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
+ "current_key": "AIzaSyDAZunGyKrQfFo87KN5_7ucdxXuHtTDUtw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
+ },
+ {
+ "client_id": "52365283353-1884kvsos7eqvli7omufrl1i0145m8m6.apps.googleusercontent.com",
+ "client_type": 2,
+ "ios_info": {
+ "bundle_id": "com.hamagen.qa"
+ }
}
]
}
@@ -82,36 +68,51 @@
},
{
"client_info": {
- "mobilesdk_app_id": "1:776051238571:android:0ce459535c98709f4af9ee",
+ "mobilesdk_app_id": "1:52365283353:android:6613d33a05d0fd1f279a88",
"android_client_info": {
"package_name": "com.hamagen.qa"
}
},
"oauth_client": [
{
- "client_id": "776051238571-igc55i4ajk7b7kchmqjg3dfg7ogqeguo.apps.googleusercontent.com",
+ "client_id": "52365283353-d692bhj3vdqcbntk9smuqp8j9ksvlsds.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.hamagen.qa",
- "certificate_hash": "5e8f16062ea3cd2c4a0d547876baa6f38cabf625"
+ "certificate_hash": "da03d8b455b09ab26e9daf6e9e3a6a6151cd94cc"
}
},
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-14b9v2gfg0bnumjif94t7se35akh33ti.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.hamagen.qa",
+ "certificate_hash": "83d01f3a66722354b83d9b5853076fbf6b7e7f30"
+ }
+ },
+ {
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
- "current_key": "AIzaSyBTUXVwo9ouIiPFNXBdz9o4D1KJq7Es1qg"
+ "current_key": "AIzaSyDAZunGyKrQfFo87KN5_7ucdxXuHtTDUtw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
- "client_id": "776051238571-h98i1874433nq1tbm5p7acfjoptj74eo.apps.googleusercontent.com",
+ "client_id": "52365283353-3nptbkqkmkohnvntoc10fjv1u5t7kksc.apps.googleusercontent.com",
"client_type": 3
+ },
+ {
+ "client_id": "52365283353-1884kvsos7eqvli7omufrl1i0145m8m6.apps.googleusercontent.com",
+ "client_type": 2,
+ "ios_info": {
+ "bundle_id": "com.hamagen.qa"
+ }
}
]
}
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 95026170..9e6909fc 100755
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
diff --git a/android/settings.gradle b/android/settings.gradle
index ec2f77aa..bafc491a 100755
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -1,3 +1,5 @@
rootProject.name = 'codeAgainstCorona'
+include ':rn-contact-tracing'
+project(':rn-contact-tracing').projectDir = new File(rootProject.projectDir, '../node_modules/rn-contact-tracing/lib/android')
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
diff --git a/index.js b/index.js
index aea5d9ba..8e4a768c 100755
--- a/index.js
+++ b/index.js
@@ -4,7 +4,8 @@ import BackgroundFetch from 'react-native-background-fetch';
import BackgroundGeolocation from 'react-native-background-geolocation';
import App from './src/App';
import { name as appName } from './app.json';
-import { checkSickPeople } from './src/services/Tracker';
+import ResetMessaging from './src/ResetMessaging';
+import { checkGeoSickPeople, checkBLESickPeople } from './src/services/Tracker';
import { syncLocationsDBOnLocationEvent } from './src/services/SampleService';
import { onError } from './src/services/ErrorService';
import { initConfig } from './src/config/config';
@@ -23,7 +24,9 @@ const BackgroundFetchHeadlessTask = async (event) => {
console.log('[BackgroundFetch HeadlessTask] start: ', taskId);
await initConfig();
- await checkSickPeople();
+ await syncLocationsDBOnLocationEvent();
+ await checkBLESickPeople();
+ await checkGeoSickPeople();
BackgroundFetch.finish(taskId);
} catch (error) {
@@ -37,5 +40,6 @@ const BackgroundGeolocationHeadlessTask = async (event) => {
};
AppRegistry.registerComponent(appName, () => App);
+AppRegistry.registerHeadlessTask('RNFirebaseBackgroundMessage', () => ResetMessaging);
BackgroundFetch.registerHeadlessTask(BackgroundFetchHeadlessTask);
BackgroundGeolocation.registerHeadlessTask(BackgroundGeolocationHeadlessTask);
diff --git a/ios/Podfile b/ios/Podfile
index c61dac63..0ab8050b 100755
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -1,4 +1,4 @@
-platform :ios, '9.0'
+platform :ios, '10.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
def project_pods
@@ -55,6 +55,6 @@ target 'hamagen' do
end
target 'hamagen-qa' do
- project_pods
- use_native_modules!
+ project_pods
+ use_native_modules!
end
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
old mode 100755
new mode 100644
index cac54243..49521962
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -282,7 +282,7 @@ PODS:
- React-jsinspector (0.61.5)
- react-native-background-timer (2.2.0):
- React
- - react-native-cookies (2.0.8):
+ - react-native-cookies (2.0.9):
- React
- react-native-google-maps (0.27.1):
- Google-Maps-iOS-Utils (= 2.1.0)
@@ -304,7 +304,7 @@ PODS:
- React
- react-native-uuid-generator (6.1.1):
- React
- - react-native-webview (9.0.1):
+ - react-native-webview (9.4.0):
- React
- React-RCTActionSheet (0.61.5):
- React-Core/RCTActionSheetHeaders (= 0.61.5)
@@ -341,6 +341,8 @@ PODS:
- React-cxxreact (= 0.61.5)
- React-jsi (= 0.61.5)
- ReactCommon/jscallinvoker (= 0.61.5)
+ - rn-contact-tracing (0.0.3):
+ - React
- rn-fetch-blob (0.12.0):
- React-Core
- RNBackgroundFetch (2.7.1):
@@ -350,7 +352,7 @@ PODS:
- React
- RNCAsyncStorage (1.7.1):
- React
- - RNCMaskedView (0.1.8):
+ - RNCMaskedView (0.1.10):
- React
- RNDeviceInfo (5.4.0):
- React
@@ -425,6 +427,7 @@ DEPENDENCIES:
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
+ - rn-contact-tracing (from `../node_modules/rn-contact-tracing`)
- rn-fetch-blob (from `../node_modules/rn-fetch-blob`)
- RNBackgroundFetch (from `../node_modules/react-native-background-fetch`)
- RNBackgroundGeolocation (from `../node_modules/react-native-background-geolocation`)
@@ -540,6 +543,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/Vibration"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
+ rn-contact-tracing:
+ :path: "../node_modules/rn-contact-tracing"
rn-fetch-blob:
:path: "../node_modules/rn-fetch-blob"
RNBackgroundFetch:
@@ -605,7 +610,7 @@ SPEC CHECKSUMS:
React-jsiexecutor: d5525f9ed5f782fdbacb64b9b01a43a9323d2386
React-jsinspector: fa0ecc501688c3c4c34f28834a76302233e29dc0
react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4
- react-native-cookies: 4eb6243b344684bda432f661c28dab2c491ebb0c
+ react-native-cookies: bc1f91a504ee091f1998a1b6c7ff4b7a9ed5b80e
react-native-google-maps: 0a989abda71059db2caa98b9dacca7a8f38a47d0
react-native-maps: f4b89da81626ad7f151a8bfcb79733295d31ce5c
react-native-netinfo: 73303369946c2487c600418961bfdc87748b832f
@@ -615,7 +620,7 @@ SPEC CHECKSUMS:
react-native-splash-screen: f15e2d96fd6afc5c882b1dd0b443d07295e2c7c5
react-native-sqlite-storage: f06bfba10f67f989c00b6a699b9c2b80a816edbe
react-native-uuid-generator: 82ffa2a1cac94242ebed52c4dedc5044d3412717
- react-native-webview: 3f2f9934ba8633a170d209cb84045b6cbc5e5f48
+ react-native-webview: cf5527893252b3b036eea024a1da6996f7344c74
React-RCTActionSheet: 600b4d10e3aea0913b5a92256d2719c0cdd26d76
React-RCTAnimation: 791a87558389c80908ed06cc5dfc5e7920dfa360
React-RCTBlob: d89293cc0236d9cb0933d85e430b0bbe81ad1d72
@@ -626,11 +631,12 @@ SPEC CHECKSUMS:
React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe
React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad
ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd
+ rn-contact-tracing: fe147c2be110646d1aa401e15c0065ad1bc25fd8
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
RNBackgroundFetch: 8d8d66b47eafcb9e772b2eb95057939038b3ef95
RNBackgroundGeolocation: 8f0a20788100fbf08987d80f2053ae6eba79c566
RNCAsyncStorage: 44395cb9c7c1523104c2b499eb426ef7aff82bca
- RNCMaskedView: 4383c3140f1235391fd6029968c166f09ddd0973
+ RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f
RNDeviceInfo: c7b1dc457611b9231bb780a882102e2c93edc7af
RNFirebase: 37daa9a346d070f9f6ee1f3b4aaf4c8e3b1d5d1c
RNGestureHandler: 946a7691e41df61e2c4b1884deab41a4cdc3afff
@@ -641,6 +647,6 @@ SPEC CHECKSUMS:
RNWifi: 1747f039612dd494192ba6c8bc498606ad9f3ec4
Yoga: f2a7cd4280bfe2cca5a7aed98ba0eb3d1310f18b
-PODFILE CHECKSUM: 814102749d10fef29d5ae9711b9bd6357e120b24
+PODFILE CHECKSUM: c85d4a94c29bc88bc3f697f6b2b5831cdd10d31a
COCOAPODS: 1.9.1
diff --git a/ios/codeAgainstCorona.xcodeproj/project.pbxproj b/ios/codeAgainstCorona.xcodeproj/project.pbxproj
index 7ec279ef..381b50f0 100644
--- a/ios/codeAgainstCorona.xcodeproj/project.pbxproj
+++ b/ios/codeAgainstCorona.xcodeproj/project.pbxproj
@@ -11,6 +11,10 @@
13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
+ 208E7CE72472E35B001C2D93 /* outputserverReponse.json in Resources */ = {isa = PBXBuildFile; fileRef = 208E7CE52472E35B001C2D93 /* outputserverReponse.json */; };
+ 208E7CE82472E35B001C2D93 /* outputserverReponse.json in Resources */ = {isa = PBXBuildFile; fileRef = 208E7CE52472E35B001C2D93 /* outputserverReponse.json */; };
+ 208E7CE92472E35B001C2D93 /* outputcontacts.json in Resources */ = {isa = PBXBuildFile; fileRef = 208E7CE62472E35B001C2D93 /* outputcontacts.json */; };
+ 208E7CEA2472E35B001C2D93 /* outputcontacts.json in Resources */ = {isa = PBXBuildFile; fileRef = 208E7CE62472E35B001C2D93 /* outputcontacts.json */; };
ACE92AE39AB97EC6E1FCB1F0 /* libPods-hamagen.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 255E6F5C10E31B05B2AF7E1D /* libPods-hamagen.a */; };
D52A57B4241E29B800521B22 /* SimplerPro_V3-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = D52A57B0241E29B800521B22 /* SimplerPro_V3-Regular.otf */; };
D52A57B5241E29B800521B22 /* SimplerPro_V3-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = D52A57B1241E29B800521B22 /* SimplerPro_V3-Light.otf */; };
@@ -34,16 +38,6 @@
D5CC7DD924236B25007E3977 /* RNBackgroundFetch+AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D5CC7DD724236B25007E3977 /* RNBackgroundFetch+AppDelegate.m */; };
/* End PBXBuildFile section */
-/* Begin PBXContainerItemProxy section */
- D5CC7DC7242357EA007E3977 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = D5CC7DC3242357EA007E3977 /* RNBackgroundGeolocation.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 83FF5F851AFD0D2B0016A13E;
- remoteInfo = RNBackgroundGeolocation;
- };
-/* End PBXContainerItemProxy section */
-
/* Begin PBXFileReference section */
008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; };
06C33C418EB6D49AE30A90FC /* Pods-hamagen.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hamagen.debug.xcconfig"; path = "Target Support Files/Pods-hamagen/Pods-hamagen.debug.xcconfig"; sourceTree = ""; };
@@ -56,6 +50,8 @@
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = codeAgainstCorona/Info.plist; sourceTree = ""; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = codeAgainstCorona/main.m; sourceTree = ""; };
17128358241FCBDE007B9600 /* Code against corona.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = "Code against corona.entitlements"; path = "codeAgainstCorona/Code against corona.entitlements"; sourceTree = ""; };
+ 208E7CE52472E35B001C2D93 /* outputserverReponse.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = outputserverReponse.json; sourceTree = ""; };
+ 208E7CE62472E35B001C2D93 /* outputcontacts.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = outputcontacts.json; sourceTree = ""; };
21858F4152B91CBBAEADF062 /* Pods-hamagen-qa.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hamagen-qa.release.xcconfig"; path = "Target Support Files/Pods-hamagen-qa/Pods-hamagen-qa.release.xcconfig"; sourceTree = ""; };
255E6F5C10E31B05B2AF7E1D /* libPods-hamagen.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-hamagen.a"; sourceTree = BUILT_PRODUCTS_DIR; };
306EADB8C444D747A3FC1024 /* libPods-codeAgainstCorona-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-codeAgainstCorona-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -74,14 +70,14 @@
D52A57B3241E29B800521B22 /* SimplerPro_V3-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "SimplerPro_V3-Bold.otf"; path = "../../src/assets/fonts/SimplerPro_V3-Bold.otf"; sourceTree = ""; };
D52A57B8241E4EF500521B22 /* codeAgainstCorona-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "codeAgainstCorona-Bridging-Header.h"; sourceTree = ""; };
D52A57B9241E4EF500521B22 /* Fix.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fix.swift; sourceTree = ""; };
- D52A57D524203FBB00521B22 /* המגן QA.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "המגן QA.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ D52A57D524203FBB00521B22 /* Hamagen QA.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Hamagen QA.app"; sourceTree = BUILT_PRODUCTS_DIR; };
D52A57D72420403100521B22 /* Info-qa.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Info-qa.plist"; path = "codeAgainstCorona/Info-qa.plist"; sourceTree = ""; };
D52A57D92420404900521B22 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "GoogleService-Info.plist"; path = "codeAgainstCorona/firebase/qa/GoogleService-Info.plist"; sourceTree = SOURCE_ROOT; };
D52A57DB2420405800521B22 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "GoogleService-Info.plist"; path = "codeAgainstCorona/firebase/release/GoogleService-Info.plist"; sourceTree = SOURCE_ROOT; };
D52A57DD24204EB200521B22 /* המגן QA.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "המגן QA.entitlements"; sourceTree = ""; };
D52A57F12422D39600521B22 /* libRNBackgroundFetch.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libRNBackgroundFetch.a; sourceTree = BUILT_PRODUCTS_DIR; };
D5AE4CD7FF26A69806CF4680 /* Pods-hamagen.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-hamagen.release.xcconfig"; path = "Target Support Files/Pods-hamagen/Pods-hamagen.release.xcconfig"; sourceTree = ""; };
- D5CC7DC3242357EA007E3977 /* RNBackgroundGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNBackgroundGeolocation.xcodeproj; path = "../node_modules/react-native-background-geolocation/ios/RNBackgroundGeolocation.xcodeproj"; sourceTree = ""; };
+ D5BCF08D24641F8800FC4B8C /* המגןRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "המגןRelease.entitlements"; sourceTree = ""; };
D5CC7DC924235864007E3977 /* TSBackgroundFetch.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TSBackgroundFetch.framework; path = Pods/TSBackgroundFetch/ios/TSBackgroundFetch/TSBackgroundFetch.framework; sourceTree = ""; };
D5CC7DD724236B25007E3977 /* RNBackgroundFetch+AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RNBackgroundFetch+AppDelegate.m"; path = "../node_modules/react-native-background-fetch/ios/RNBackgroundFetch/RNBackgroundFetch+AppDelegate.m"; sourceTree = ""; };
D63C3A392EF9FA65DE3BC9DD /* libPods-hamagen-qa.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-hamagen-qa.a"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -149,7 +145,6 @@
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
isa = PBXGroup;
children = (
- D5CC7DC3242357EA007E3977 /* RNBackgroundGeolocation.xcodeproj */,
);
name = Libraries;
sourceTree = "";
@@ -157,6 +152,9 @@
83CBB9F61A601CBA00E9B192 = {
isa = PBXGroup;
children = (
+ 208E7CE62472E35B001C2D93 /* outputcontacts.json */,
+ 208E7CE52472E35B001C2D93 /* outputserverReponse.json */,
+ D5BCF08D24641F8800FC4B8C /* המגןRelease.entitlements */,
D52A57DD24204EB200521B22 /* המגן QA.entitlements */,
13B07FAE1A68108700A75B9A /* codeAgainstCorona */,
832341AE1AAA6A7D00B99B32 /* Libraries */,
@@ -174,7 +172,7 @@
isa = PBXGroup;
children = (
13B07F961A680F5B00A75B9A /* המגן.app */,
- D52A57D524203FBB00521B22 /* המגן QA.app */,
+ D52A57D524203FBB00521B22 /* Hamagen QA.app */,
);
name = Products;
sourceTree = "";
@@ -234,14 +232,6 @@
path = qa;
sourceTree = "";
};
- D5CC7DC4242357EA007E3977 /* Products */ = {
- isa = PBXGroup;
- children = (
- D5CC7DC8242357EA007E3977 /* libRNBackgroundGeolocation.a */,
- );
- name = Products;
- sourceTree = "";
- };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -284,7 +274,7 @@
);
name = "hamagen-qa";
productName = codeAgainstCorona;
- productReference = D52A57D524203FBB00521B22 /* המגן QA.app */;
+ productReference = D52A57D524203FBB00521B22 /* Hamagen QA.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -319,12 +309,6 @@
mainGroup = 83CBB9F61A601CBA00E9B192;
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
projectDirPath = "";
- projectReferences = (
- {
- ProductGroup = D5CC7DC4242357EA007E3977 /* Products */;
- ProjectRef = D5CC7DC3242357EA007E3977 /* RNBackgroundGeolocation.xcodeproj */;
- },
- );
projectRoot = "";
targets = (
13B07F861A680F5B00A75B9A /* hamagen */,
@@ -333,16 +317,6 @@
};
/* End PBXProject section */
-/* Begin PBXReferenceProxy section */
- D5CC7DC8242357EA007E3977 /* libRNBackgroundGeolocation.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRNBackgroundGeolocation.a;
- remoteRef = D5CC7DC7242357EA007E3977 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
-/* End PBXReferenceProxy section */
-
/* Begin PBXResourcesBuildPhase section */
13B07F8E1A680F5B00A75B9A /* Resources */ = {
isa = PBXResourcesBuildPhase;
@@ -352,7 +326,9 @@
D52A57B6241E29B800521B22 /* SimplerPro_V3-Black.otf in Resources */,
D52A57BB241FE12000521B22 /* Images.xcassets in Resources */,
D52A57B7241E29B800521B22 /* SimplerPro_V3-Bold.otf in Resources */,
+ 208E7CE72472E35B001C2D93 /* outputserverReponse.json in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
+ 208E7CE92472E35B001C2D93 /* outputcontacts.json in Resources */,
D52A57B5241E29B800521B22 /* SimplerPro_V3-Light.otf in Resources */,
D52A57DC2420405900521B22 /* GoogleService-Info.plist in Resources */,
);
@@ -367,9 +343,11 @@
D52A57CC24203FBB00521B22 /* Images.xcassets in Resources */,
D52A57CD24203FBB00521B22 /* SimplerPro_V3-Bold.otf in Resources */,
D52A57CE24203FBB00521B22 /* LaunchScreen.xib in Resources */,
+ 208E7CEA2472E35B001C2D93 /* outputcontacts.json in Resources */,
D52A57D024203FBB00521B22 /* SimplerPro_V3-Light.otf in Resources */,
D52A57DA2420404900521B22 /* GoogleService-Info.plist in Resources */,
D52A57D82420403100521B22 /* Info-qa.plist in Resources */,
+ 208E7CE82472E35B001C2D93 /* outputserverReponse.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -398,10 +376,12 @@
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-hamagen-qa/Pods-hamagen-qa-resources.sh",
"${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/rn-contact-tracing/FrameworkModel.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FrameworkModel.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -512,10 +492,12 @@
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-hamagen/Pods-hamagen-resources.sh",
"${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/rn-contact-tracing/FrameworkModel.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FrameworkModel.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -570,14 +552,14 @@
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "codeAgainstCorona/Code against corona.entitlements";
- CODE_SIGN_IDENTITY = "iPhone Distribution";
+ CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 46;
+ CURRENT_PROJECT_VERSION = 73;
DEAD_CODE_STRIPPING = NO;
DEVELOPMENT_TEAM = N3P977USJJ;
INFOPLIST_FILE = codeAgainstCorona/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.3.8;
+ MARKETING_VERSION = 1.4.7;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -585,7 +567,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.hamagen;
PRODUCT_NAME = "המגן";
- PROVISIONING_PROFILE_SPECIFIER = "Hamagen AdHoc";
+ PROVISIONING_PROFILE_SPECIFIER = "Hamagen Dev";
SWIFT_OBJC_BRIDGING_HEADER = "codeAgainstCorona-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -600,14 +582,14 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_ENTITLEMENTS = "codeAgainstCorona/Code against corona.entitlements";
+ CODE_SIGN_ENTITLEMENTS = "המגןRelease.entitlements";
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 46;
+ CURRENT_PROJECT_VERSION = 73;
DEVELOPMENT_TEAM = N3P977USJJ;
INFOPLIST_FILE = codeAgainstCorona/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.3.8;
+ MARKETING_VERSION = 1.4.7;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -668,7 +650,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -714,7 +696,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -729,9 +711,9 @@
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "המגן QA.entitlements";
- CODE_SIGN_IDENTITY = "iPhone Distribution";
+ CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 46;
+ CURRENT_PROJECT_VERSION = 73;
DEAD_CODE_STRIPPING = NO;
DEVELOPMENT_TEAM = N3P977USJJ;
FRAMEWORK_SEARCH_PATHS = (
@@ -741,16 +723,17 @@
"$(PROJECT_DIR)/../node_modules/react-native-background-geolocation/ios",
);
INFOPLIST_FILE = "codeAgainstCorona/Info-qa.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.3.8;
+ MARKETING_VERSION = 1.4.7;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = com.hamagen.qa;
- PRODUCT_NAME = "המגן QA";
- PROVISIONING_PROFILE_SPECIFIER = "Hamagen QA AdHoc";
+ PRODUCT_NAME = "Hamagen QA";
+ PROVISIONING_PROFILE_SPECIFIER = "Hamagen QA Dev";
SWIFT_OBJC_BRIDGING_HEADER = "codeAgainstCorona-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -768,7 +751,7 @@
CODE_SIGN_ENTITLEMENTS = "המגן QA.entitlements";
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
- CURRENT_PROJECT_VERSION = 46;
+ CURRENT_PROJECT_VERSION = 73;
DEVELOPMENT_TEAM = N3P977USJJ;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -777,15 +760,16 @@
"$(PROJECT_DIR)/../node_modules/react-native-background-geolocation/ios",
);
INFOPLIST_FILE = "codeAgainstCorona/Info-qa.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.3.8;
+ MARKETING_VERSION = 1.4.7;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = com.hamagen.qa;
- PRODUCT_NAME = "המגן QA";
+ PRODUCT_NAME = "Hamagen QA";
PROVISIONING_PROFILE_SPECIFIER = "Hamagen QA AdHoc";
SWIFT_OBJC_BRIDGING_HEADER = "codeAgainstCorona-Bridging-Header.h";
SWIFT_VERSION = 5.0;
diff --git a/ios/codeAgainstCorona.xcodeproj/xcshareddata/xcschemes/hamagen-qa.xcscheme b/ios/codeAgainstCorona.xcodeproj/xcshareddata/xcschemes/hamagen-qa.xcscheme
index 299759c1..f75e33cc 100644
--- a/ios/codeAgainstCorona.xcodeproj/xcshareddata/xcschemes/hamagen-qa.xcscheme
+++ b/ios/codeAgainstCorona.xcodeproj/xcshareddata/xcschemes/hamagen-qa.xcscheme
@@ -15,7 +15,7 @@
@@ -45,7 +45,7 @@
@@ -62,7 +62,7 @@
diff --git a/ios/codeAgainstCorona.xcodeproj/xcshareddata/xcschemes/hamagen.xcscheme b/ios/codeAgainstCorona.xcodeproj/xcshareddata/xcschemes/hamagen.xcscheme
index 10850f58..86d3914f 100644
--- a/ios/codeAgainstCorona.xcodeproj/xcshareddata/xcschemes/hamagen.xcscheme
+++ b/ios/codeAgainstCorona.xcodeproj/xcshareddata/xcschemes/hamagen.xcscheme
@@ -31,7 +31,7 @@
- BuildSystemType
- Original
PreviewsEnabled
diff --git a/ios/codeAgainstCorona/Info-qa.plist b/ios/codeAgainstCorona/Info-qa.plist
index dbf2af5a..1bd1245a 100755
--- a/ios/codeAgainstCorona/Info-qa.plist
+++ b/ios/codeAgainstCorona/Info-qa.plist
@@ -9,7 +9,7 @@
CFBundleDevelopmentRegion
en
CFBundleDisplayName
- $(PRODUCT_NAME)
+ המגן QA
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -17,7 +17,7 @@
CFBundleInfoDictionaryVersion
6.0
CFBundleName
- $(PRODUCT_NAME)
+ Hamagen QA
CFBundlePackageType
APPL
CFBundleShortVersionString
@@ -60,6 +60,8 @@
+ NSBluetoothAlwaysUsageDescription
+ יש לאפשר גישה לבלוטות' על מנת להשוות את נתיבך אל מול נתיבי חולי קורונה מאומתים
NSLocationAlwaysAndWhenInUseUsageDescription
יש לאפשר גישה למיקום על מנת להשוות את נתיבך אל מול נתיבי חולי קורונה מאומתים
NSLocationAlwaysUsageDescription
diff --git a/ios/codeAgainstCorona/Info.plist b/ios/codeAgainstCorona/Info.plist
index abd09af5..c4ef86d4 100755
--- a/ios/codeAgainstCorona/Info.plist
+++ b/ios/codeAgainstCorona/Info.plist
@@ -60,6 +60,8 @@
+ NSBluetoothAlwaysUsageDescription
+ יש לאפשר גישה לבלוטות' על מנת להשוות את נתיבך אל מול נתיבי חולי קורונה מאומתים
NSLocationAlwaysAndWhenInUseUsageDescription
יש לאפשר גישה למיקום על מנת להשוות את נתיבך אל מול נתיבי חולי קורונה מאומתים
NSLocationAlwaysUsageDescription
diff --git a/ios/outputcontacts.json b/ios/outputcontacts.json
new file mode 100644
index 00000000..66253939
--- /dev/null
+++ b/ios/outputcontacts.json
@@ -0,0 +1 @@
+[{"ephemeral_id": "97d9415f1070bde4022ed45d6b13af62", "timestamp": 1589023381, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8fed86d73e44997dbcc5b0658624769a", "timestamp": 1589023681, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d0fe92bd35331728e088f63b3c61093c", "timestamp": 1589023981, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5eecebf0c5eb2f4de05a09f5891b828c", "timestamp": 1589024281, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7290bccdc5caf29a33d9fa3e7fb5d9ff", "timestamp": 1589024581, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d7e40abd45a2aaa5ecd6a26ac4ae2b9b", "timestamp": 1589024881, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22155bde65dbe23408a9563c53239b30", "timestamp": 1589025181, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0a1dde1304f6e37c0de81f4d8d76e7b6", "timestamp": 1589025481, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d6e35a119fb50404bb1ca9ca9f68725c", "timestamp": 1589025781, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1d1cc0b2c662d6a79d3a601ee7712e0a", "timestamp": 1589026081, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4406c2472990eb460c15fa7797624912", "timestamp": 1589026381, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "07b6bf95450929d3a52443d1d8141888", "timestamp": 1589026681, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ab4a298e619e9e2d9de1db52776d4996", "timestamp": 1589026981, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "685e1683f4749a6fcb14d09df388f561", "timestamp": 1589027281, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "31253247deb232cf797670cb01f35def", "timestamp": 1589027581, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5959d3b5e43b25f98af383e2513f7967", "timestamp": 1589027881, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d7ea62c4dfac7e2869aa4cba27917dc", "timestamp": 1589028181, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e0f3d5145cc134137ec3feb66741338d", "timestamp": 1589028481, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4f64aea6eff24b227e49a7c848f69f44", "timestamp": 1589028781, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a1823a69c714585d40f0656c4c8921d2", "timestamp": 1589029081, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ef552ae9e4e9ddebb6a8a00ea1399b29", "timestamp": 1589029381, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fef80de542aeeaf742e02a57a8997dfe", "timestamp": 1589029681, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d661d10092cfce32fb83b1f8a4f30746", "timestamp": 1589029981, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "233dcb99cec437c507b2034fa919daa9", "timestamp": 1589030281, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "98e2bc9648e7db3fd983533105bf2fda", "timestamp": 1589030581, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "39d7258322332d45e32a4e13b8c710cf", "timestamp": 1589030881, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d00ecd7a284608656900f42ea0b2af56", "timestamp": 1589031181, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "041529390c38c7cef1a6b855583c4f9c", "timestamp": 1589031481, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bf132b9ff1d39980776ea673cc8fc580", "timestamp": 1589031781, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8813f9655c5ef218bbe5965365ef5cd9", "timestamp": 1589032081, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "251b631c86aa95791d1bd261a7a4c10a", "timestamp": 1589032381, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9a33540cba43c47d78fabab580240fa2", "timestamp": 1589032681, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "76ef07f33ff34cdce26be5b31a77c498", "timestamp": 1589032981, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e78c85f1eb1b26c578a52644f6f76344", "timestamp": 1589033281, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "75ca14236e42a07627bd4302c85e1340", "timestamp": 1589033581, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "daf76465268524dffb97988f90b2c2bc", "timestamp": 1589033881, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9ddcd72af6fbc49d0bd2acc0740715a1", "timestamp": 1589034181, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e6dee32923dc1bee5e67c99ca309c15e", "timestamp": 1589034481, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3be560c926a85ae5a6d412288b218e02", "timestamp": 1589034781, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "641f193017b00c734f85742afa51af69", "timestamp": 1589035081, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "01db37dfc6be7c7005f2c905a3b6055e", "timestamp": 1589035381, "rssi": -61, "geohash": "81d58d1ff5"}, {"ephemeral_id": "66b4cd928791e35d7e3a856ffd2f95b3", "timestamp": 1589035681, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d4770a7f82948afd63d42c13fa37d516", "timestamp": 1589035981, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5a6eb57878d7b29f6ba815738a87a05c", "timestamp": 1589036281, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e6d968f78354ad03da3374748e8da9df", "timestamp": 1589036581, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "20f5e9f4e0e3b2112044c82caa180a10", "timestamp": 1589036881, "rssi": -28, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8df7a29c5edce4dac9e6785fa1377d04", "timestamp": 1589037181, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8e3c18368ce9919dc3b61b5e5921b19f", "timestamp": 1589037481, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a4fd9fe188b98ef1c824d04d15e9c9d0", "timestamp": 1589037781, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "07825c168c05530957d9bde462ecd4e1", "timestamp": 1589038081, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c410dfe18501b5402ca09ade3d2f1840", "timestamp": 1589038381, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "31f70314929702c5754ab705be2cb8f6", "timestamp": 1589038681, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "21b8b75a58035cefeefb0ba7f28136bc", "timestamp": 1589038981, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3ced7a623efe8750cc30cd51a9c499b8", "timestamp": 1589039281, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b98a8f446bbb32ed834c96526b0d2c1", "timestamp": 1589039581, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d857fe25b49dc98c861a6e0ad92c8762", "timestamp": 1589039881, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "68e7d3bac01f9b2c68be906f5dc3f749", "timestamp": 1589040181, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b0c1635d767df858e73c01359e227b11", "timestamp": 1589040481, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22a1762d5cd4038665de2340e0fdf6f6", "timestamp": 1589040781, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d8c14ad2608ca63bf0302f414b43599", "timestamp": 1589041081, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "89e3c37b9facc1bad5433d6b052fc428", "timestamp": 1589041381, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d4fcb24a67ca397837a2f0b8d27fa6af", "timestamp": 1589041681, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5d4caf76ee53ed13f0f55cc97065fd09", "timestamp": 1589041981, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f769a1edf13692dfb2e9ff2a2681068a", "timestamp": 1589042281, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "39b596c5cdd0029a8057e64d4586c5a1", "timestamp": 1589042581, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6200259009722921e0d189953908e1c9", "timestamp": 1589042881, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3b22637323b0d655288ba691a3dc7887", "timestamp": 1589043181, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "114ce06b3eb495366b9c72f465189a1f", "timestamp": 1589043481, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "74b5f8c52f7354894972636bd08c6d62", "timestamp": 1589043781, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1c45e509fe637737d846b98879dde798", "timestamp": 1589044081, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "773541c318ad65a668d7eb6f7e41aab9", "timestamp": 1589044381, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6778e796f02fb823426b454805b7a917", "timestamp": 1589044681, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a4c4bd5405f3e3a9d14b66e25b2200b8", "timestamp": 1589044981, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7d6f052d3615f223271cfb8cd70abaa8", "timestamp": 1589045281, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c25d95d6cdd8998af3681233c2bfe71a", "timestamp": 1589045581, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "db61dd94cf145917ef0a1c137549c56e", "timestamp": 1589045881, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b632242ef442d57a2fedadce0dd757bd", "timestamp": 1589046181, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "311f30124a87f5d84046c29090b3baa9", "timestamp": 1589046481, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aab79a7cbf3e82e4bfe3ca5a22285703", "timestamp": 1589046781, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "23e4ed19a98869ee064b04341166336f", "timestamp": 1589047081, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "18624fab1f8698ff52d026918dc24f4a", "timestamp": 1589047381, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3e92312c4d7600854eccb46d2174613f", "timestamp": 1589047681, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "24b906515c469a9230afe969b5fa67a0", "timestamp": 1589047981, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a1977dfbcf44a20aabaf361a72583269", "timestamp": 1589048281, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6eb324a2f1d436148f6cdd269bef02f6", "timestamp": 1589048581, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ad9fc1e6aa6a84d90359aeba9c250a35", "timestamp": 1589048881, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "03547cc6bcd12c4855f0f1a011dc6b83", "timestamp": 1589049181, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56e6851a2d82fa1cc3fa0993bbe547d6", "timestamp": 1589049481, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e199a73aafa4120da71eb2a70827f039", "timestamp": 1589049781, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cf5f57b5186e4814dcd80a7309b625ed", "timestamp": 1589050081, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a79db17a3823f630316bc53c9a1f8154", "timestamp": 1589050381, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d0ece6a7e3b23510517f268587bb4d90", "timestamp": 1589050681, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1d56b235f80bb7da3cc8d877dc02dca5", "timestamp": 1589050981, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "60b3b1c3855e259bf88486fd84c567ef", "timestamp": 1589051281, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ee77b8796fb7b66fe3aeb443d8ced118", "timestamp": 1589051581, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "02b4be4598e199e35519ed26861dad5f", "timestamp": 1589051881, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5f89998d92c0dddc3fcc4eedb201d508", "timestamp": 1589052181, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "555b3a749ba6e87ad908b14aa154cdf3", "timestamp": 1589052481, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "38032adb37332911ff5e67689844f87c", "timestamp": 1589052781, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "47b0a021aa2091d6fc3486813bacd514", "timestamp": 1589053081, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6c7c58d071ec6dedeb1e7c679b113ef6", "timestamp": 1589053381, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "33876c58bb173f7e44ea9fa47455eee5", "timestamp": 1589053681, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9c72f5822b78a8a9f95caea6df13fd44", "timestamp": 1589053981, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e87b99f219d2ebd0cc38a80052b4da0c", "timestamp": 1589054281, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d373b1061603b93a1ea2f9a0589e666b", "timestamp": 1589054581, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d94ccf7c1183fa51ab34137a2050589d", "timestamp": 1589054881, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "584e5893cb1877c22ba6b6327b4cc2ab", "timestamp": 1589055181, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d9ac61c8cd1ce367645dcedc4f3b5aa", "timestamp": 1589055481, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0a4cfdb7544d103a73b962898aa48f7a", "timestamp": 1589055781, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6422293075ebb8adf537c5f677d002e2", "timestamp": 1589056081, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "744a2dd6e1d7116379c8910ce507ca5d", "timestamp": 1589056381, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "17a0d467b7bba4f3bc181e02dfe2b6e4", "timestamp": 1589056681, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d6042f4f4ef2edc10b90d51dcd46d744", "timestamp": 1589056981, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a66b64805bc2e2c75e676b6b19d8fb2d", "timestamp": 1589057281, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a54b1e049479de9e7e8807da4ba7093a", "timestamp": 1589057581, "rssi": -106, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8338dc4ba872da417a6f1e62ffa44fc9", "timestamp": 1589057881, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "61aefd2e30d7fe3058ceb1f173afecfe", "timestamp": 1589058181, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8de9c73ad3a560bd1eb7312c9d21bbc8", "timestamp": 1589058481, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dd13feae739a4610c584adc4eaa3f8e1", "timestamp": 1589058781, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a90473242ae76b7b4c5db1e5d61f5858", "timestamp": 1589059081, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d6e34ba55c8f1bfb6dafccdac3966998", "timestamp": 1589059381, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "947b7b7036a575c4125e291660357f5c", "timestamp": 1589059681, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "48f8aefa4fae5995f9917270d118b38c", "timestamp": 1589059981, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6d6e1e7f5751c8e1ff7bfe5ad907755f", "timestamp": 1589060281, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "882556d3a11e7d554d9321072e544245", "timestamp": 1589060581, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "00df15302aa8435c81a24a9b28c62c54", "timestamp": 1589060881, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "098f19449f48626fe1592068114bc180", "timestamp": 1589061181, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3c914aa0344c2f86148825f9349304f8", "timestamp": 1589061481, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "77cb419eb66af36018369c59f5e6d9c9", "timestamp": 1589061781, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4c63bed6f6034c91ca881685fbc7d82a", "timestamp": 1589062081, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3aaddd4e7988ae6b143aa2bffe83ff3d", "timestamp": 1589062381, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "afdac0d7c556323b007054e11402a28f", "timestamp": 1589062681, "rssi": -88, "geohash": "81d58d1ff5"}, {"ephemeral_id": "554363e9afe19536937688f44e5cfe93", "timestamp": 1589062981, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8e320e9b7071c482d5fe6477599de489", "timestamp": 1589063281, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "60553893eb859594385bdeb84e53904a", "timestamp": 1589063581, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9779d7b1b55773f2264d9387c1247f07", "timestamp": 1589063881, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "11e47ac81ed665f724743e4cade16b9a", "timestamp": 1589064181, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f30ceacb6aa26961eb2596f14e4e16e8", "timestamp": 1589064481, "rssi": -106, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f6af125fb0fd717654aae37fc506117e", "timestamp": 1589064781, "rssi": -111, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3844d0357d0e1c68288b396f7c0be8e0", "timestamp": 1589065081, "rssi": -34, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eb87c2d5b365021c943a225a07b6c05f", "timestamp": 1589065381, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9dc5f7e89879f5149c897cf84f57401c", "timestamp": 1589065681, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "489b6e69989431e4e379c9200bee4757", "timestamp": 1589065981, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "27df68e7371eabaababef4c373a726fb", "timestamp": 1589066281, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3cc2f8bb9b838c4cae9963e5d6be8d80", "timestamp": 1589066581, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d95a0bf8ee9cccd59c6d55930aad9756", "timestamp": 1589066881, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8502cd52c01a42983c7356270fbf0f4f", "timestamp": 1589067181, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aeff774124017e35cfb467630e76b971", "timestamp": 1589067481, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2bc5718a5e78afe929b1a3d263c861ac", "timestamp": 1589067781, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c81209b3cd5844e0453f7e30983c88b7", "timestamp": 1589068081, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "81343c891dad1d97e79c06151b3fbdb0", "timestamp": 1589068381, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e95c031e67ce08187beb6ff2eb66ab41", "timestamp": 1589068681, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f8f229bc1204fadcd765570c9e1ed1b5", "timestamp": 1589068981, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "74536293304573c66639f92636570415", "timestamp": 1589069281, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "93c86318ba8d55ecfa2465b06f03b6a0", "timestamp": 1589069581, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "862c9ae301a467630d1a54b3b381f138", "timestamp": 1589069881, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b7f061aa0cc6003489ad5a55d73025d1", "timestamp": 1589070181, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6129fb61d1a29af29e7e29ab6bda1e66", "timestamp": 1589070481, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f224e7760915af05f2544b031c049018", "timestamp": 1589070781, "rssi": -96, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1633f36abbd5dd0286e86f68d6d7f8e6", "timestamp": 1589071081, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "19da1664471d3db7c75e03bbc31feb94", "timestamp": 1589071381, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "60a39555eaaaba2f0a66c902043789cc", "timestamp": 1589071681, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "966c190bcb7fd68f04b8e7f64da150aa", "timestamp": 1589071981, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "61c67ad305d4c518c940a7cf01b5d5c6", "timestamp": 1589072281, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "78232d004331180e5365f711158b4359", "timestamp": 1589072581, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "17a39a04677ff0584098735c50ea0f15", "timestamp": 1589072881, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7911bba8265280f3a4e876b67a49e813", "timestamp": 1589073181, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a36c25477a636797face4353b732be5b", "timestamp": 1589073481, "rssi": -96, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2dd2506fc7f558da888d642a44555324", "timestamp": 1589073781, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ce4fb31c4ee15a4870f5358f106a762b", "timestamp": 1589074081, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "80a6616bde707f5d5bf4ad440f9ba5af", "timestamp": 1589074381, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5c3dd6de6628e2fac648f802e7cfac49", "timestamp": 1589074681, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5c6fab25c4e3afea4079fd5555270531", "timestamp": 1589074981, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2ed88ea85a7993e0971987e6aa20e72f", "timestamp": 1589075281, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aa2a0b2ae51253dbb3d4aee96d44abb9", "timestamp": 1589075581, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b5822fee28a981ddc6d7b4e7d6d13259", "timestamp": 1589075881, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "10489daad3e69458aa80180621fd164f", "timestamp": 1589076181, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9115f6016dd70fb320f94969c48c1215", "timestamp": 1589076481, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5ac895a6c4c032f0723221021dc430f4", "timestamp": 1589076781, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "41ae2cb79946a2fb92f4ff74611c1c65", "timestamp": 1589077081, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2c6f8671f8cdf55a0f6d5d3837b811b5", "timestamp": 1589077381, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d67ef4d797e14ddc3086b817952a7de2", "timestamp": 1589077681, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d237f5af32c9dfc31c91c84010f0e1fa", "timestamp": 1589077981, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f60cb8a243ffd98d3475e92c9b150de0", "timestamp": 1589078281, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e133c031e27e8d8d2c6555602e6a24fd", "timestamp": 1589078581, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e67ad6b9685b6cae42a9c0ae58efce94", "timestamp": 1589078881, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e6f38458152a05584e9dfa6e3d88cfa6", "timestamp": 1589079181, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1d289fc2303e90423e3f2db2d5f61910", "timestamp": 1589079481, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "17b35daa84e4c8250d289381616f268b", "timestamp": 1589079781, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "076043e07f6ff50ee195ba4aae573410", "timestamp": 1589080081, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "291562855f88eed57a35534d326e1dd6", "timestamp": 1589080381, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "88f0cf22ba3a54c17f9ece97dc066495", "timestamp": 1589080681, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "990a5a8cb19198030b08ec33140d5af3", "timestamp": 1589080981, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e092bc61271b7e19dbec657c5388d47e", "timestamp": 1589081281, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c6c1b572251c19978a1878ab9493622e", "timestamp": 1589081581, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6670921ee6bfcdc94baaa9e62a62f234", "timestamp": 1589081881, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ece79723ed6f7e5ac5401f964fff7cbd", "timestamp": 1589082181, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8784f79a5acdc2ad13a47c41bd7900c6", "timestamp": 1589082481, "rssi": -112, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d620aeb67dc16dde3150893e376e82d9", "timestamp": 1589082781, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6c430b93f45ad2f6491df6c7f38eeffb", "timestamp": 1589083081, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "41091511e4759610df8a69cd5cfcbf2e", "timestamp": 1589083381, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a785e240854e46c17d1d16771f544646", "timestamp": 1589083681, "rssi": -106, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dbfe5aced0424ac40c728460251717c4", "timestamp": 1589083981, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8a3723e59b22c5d7947c102009828878", "timestamp": 1589084281, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8586eb1488bd4316dbe3b45191860500", "timestamp": 1589084581, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "82fdf1aff8321a3068882ad6fd52f2d5", "timestamp": 1589084881, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "96fc4cf153ef980a7ab04a4baaba3c9f", "timestamp": 1589085181, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "da852b21ff4d9ab7e3cc492829e580bb", "timestamp": 1589085481, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2161131ee2fff27ff49e09b8f03ece93", "timestamp": 1589085781, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "511194b96becdd1bc76c10bc6f90ccba", "timestamp": 1589086081, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3d338ca25ceaa55bc99656bbfec7b9dc", "timestamp": 1589086381, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6559067f5a34a6ce0a981b4f58362f12", "timestamp": 1589086681, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cb59d380631b9dcdd22c725e91167e37", "timestamp": 1589086981, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b86e313d2235a0db4671ea79500b65e3", "timestamp": 1589087281, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "05d314b60a97423e134f97d43ac0b0ef", "timestamp": 1589087581, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6883b32297a5e37cf64a1e7e2156c068", "timestamp": 1589087881, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1235ef56661b40888a7b0fb465da1be9", "timestamp": 1589088181, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3b6719472d65d6321b9c1d073fd3bdc1", "timestamp": 1589088481, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e28fc8ef0869cd9dd6daf20a20956378", "timestamp": 1589088781, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d36c008a6954f5d316581a7aeab20567", "timestamp": 1589089081, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bc144de1bb0f33fd08896faab0acb8dc", "timestamp": 1589089381, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "262f9ce2e0614e0f363172e97af54c3e", "timestamp": 1589089681, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "136bc27ac94aee0768d88fc8c42f4e46", "timestamp": 1589089981, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "07531c386631819d8ddbff7a333ed91b", "timestamp": 1589090281, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "97f078a0b49fc82e06886424fc38effe", "timestamp": 1589090581, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9ba3f24664f5c598b0d42547586ca429", "timestamp": 1589090881, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c960e54b7f0dcb1752931d8e134c077d", "timestamp": 1589091181, "rssi": -59, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ebc1e1a6b98176e832dcf9a7d06901d8", "timestamp": 1589091481, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "650a2c434b61f22ed8ea6a0353fddff2", "timestamp": 1589091781, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "84025a5db0c2fe9f571e306d711de825", "timestamp": 1589092081, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e44ad5a5c5d08e325ed9422ab0b0523d", "timestamp": 1589092381, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cf565dc71876cde12b9015acebcbb43e", "timestamp": 1589092681, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "120e5e7de5e58274a2f1ee0ddcd4e129", "timestamp": 1589092981, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "27cfaf1b74e5af53c5c2ab0ba2b0fd63", "timestamp": 1589093281, "rssi": -20, "geohash": "81d58d1ff5"}, {"ephemeral_id": "470b50ec09e93b05e4ba9f1d295fa596", "timestamp": 1589093581, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e2b45ff3a59bdf06c23c4855a47688f5", "timestamp": 1589093881, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2c066a53aca1fdc9b7c4e11ca37a12bb", "timestamp": 1589094181, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e6994df183cf5faac48b2a0b80cdb475", "timestamp": 1589094481, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "36c7a9602b1fc66bfbf4c7628db8352d", "timestamp": 1589094781, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3dbe90183ff2b1f295e1ee68fd010bd0", "timestamp": 1589095081, "rssi": -96, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b5ccbde05890b9cad44bdeb0f6f17bc", "timestamp": 1589095381, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5a27c63c4cd3597fc826c967c35e611f", "timestamp": 1589095681, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bba7c685a41dbaf5f8f6049133f7243d", "timestamp": 1589095981, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "49fc051be9bf77677936bf892c166bc2", "timestamp": 1589096281, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "82517f4a640faae070ca69e65dea47e4", "timestamp": 1589096581, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4d28542c037f72b6e0875843a5482a71", "timestamp": 1589096881, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "421140250e048bc482f6cae5c04c23ad", "timestamp": 1589097181, "rssi": -106, "geohash": "81d58d1ff5"}, {"ephemeral_id": "741475ea9017e84d8ab4f85ca6b685b3", "timestamp": 1589097481, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4a124820449d864fa3340b83f54be960", "timestamp": 1589097781, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6d79dad0c38a0c26138aaf4cb4ac337b", "timestamp": 1589098081, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e8c72993039bc728efdf07fee9b46f40", "timestamp": 1589098381, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d5df3f982d8ba05abd2485db20f91478", "timestamp": 1589098681, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6386462e4982a9942a62ac617d1c1c52", "timestamp": 1589098981, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ac1b09ddbb711c8439033ef708c898a5", "timestamp": 1589099281, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5673cda23b63ecd6820eaf9880ac64a7", "timestamp": 1589099581, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2219e786117989b81d23fa231f5c3375", "timestamp": 1589099881, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b94bfe7cf127f450e0e862756ea8ddfd", "timestamp": 1589100181, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "877668522e1db4493ef9b13f51da49d5", "timestamp": 1589100481, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7146aa608017d039f6026d0fa61a012c", "timestamp": 1589100781, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6934926d426e57791b3313616e607020", "timestamp": 1589101081, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2c5ca74f9730caadf2798b14baf43ca6", "timestamp": 1589101381, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fd5f1aa2558eee170863f1b95a350ff4", "timestamp": 1589101681, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b9d97c9904dfc3a5193c512a955c466e", "timestamp": 1589101981, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5a871607af4eb4a0d0696c5427c143ea", "timestamp": 1589102281, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a7c8b6082f00ff275cc3c079dfe415ad", "timestamp": 1589102581, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "caf8b72d5c8e6a8a92033636d3b417f5", "timestamp": 1589102881, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "55ec5285be57348f6cf5de5c11d16590", "timestamp": 1589103181, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8f08527da849b2d2d3c8d4a00ae6a824", "timestamp": 1589103481, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8eedd84a475ffa9dd2cefc6324f23991", "timestamp": 1589103781, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "201f6d5b336106d07c207eb548c1cc10", "timestamp": 1589104081, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2dd89f2c4d8cb0e0f796706b70ecbbf2", "timestamp": 1589104381, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6fbe09847ac0a209b0167acd1c7820de", "timestamp": 1589104681, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f80e63bd05c79c2b5aee5e5e02a944ac", "timestamp": 1589104981, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bac062a2e0f15ee05e12a6f0a4bd6b66", "timestamp": 1589105281, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0ddf9b8bc38f8817aedcef5e1f5df40f", "timestamp": 1589105581, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6d52c9cf5f0b9c961037290e8b7ee77b", "timestamp": 1589105881, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f4a928b208d280bb21616a7985f0e04e", "timestamp": 1589106181, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "069a3e617ddb2b2c572d593336661612", "timestamp": 1589106481, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9756c7de38db2e2dec09f79246ac219c", "timestamp": 1589106781, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3cb67de95206f35e1d74fe568e978fe2", "timestamp": 1589107081, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b954fc08390aac343acdb34d16bf900c", "timestamp": 1589107381, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56ba81ae486b532514eb3c183f3e78cf", "timestamp": 1589107681, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "45a48f021deb9fe522d5d8360eccab3e", "timestamp": 1589107981, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c23bd7e3b7b78cd5ac040e3072387218", "timestamp": 1589108281, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "11852a283fa1f39553863700431e0435", "timestamp": 1589108581, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d16600f1f5c55ccb9702ff8cff61eeb8", "timestamp": 1589108881, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6e87cd8841726a5840b0303b5f463daf", "timestamp": 1589109181, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "33b668327aa88b9ad62fd4b8da4d862f", "timestamp": 1589109481, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "06b230006cafca3d6de8761bad9fd40d", "timestamp": 1589109781, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a82b6e3c86293a20063ace7b69c51304", "timestamp": 1589110081, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1087eb2f0cd6a4452e1f54943d08e0f7", "timestamp": 1589110381, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "59b9d5c0cc91e58573bf331ccac36ce0", "timestamp": 1589110681, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "77d082cf45bff31dd973176219422090", "timestamp": 1589110981, "rssi": -5, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aa5a54794af42d2845c1b8544c53fb2a", "timestamp": 1589111281, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d2649531396055a42dc23d714696fb44", "timestamp": 1589111581, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b88283c08e93af002ef09d79dc04e41", "timestamp": 1589111881, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ee7792e2840b5634d8895ed92223ea9c", "timestamp": 1589112181, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6a14dc8d7603fe951f7e47f796578d88", "timestamp": 1589112481, "rssi": -99, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8ab39236657471b5c5c7c52adcab9d58", "timestamp": 1589112781, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "71e9ea0d1ea97e7a88ae3191b5e22408", "timestamp": 1589113081, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "06a097677a7037e7f3e87b6506200680", "timestamp": 1589113381, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "639e9766abaaeca2c998798e079b7921", "timestamp": 1589113681, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d2d9533f6e49ae6a8fdae1c2beecd37", "timestamp": 1589113981, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "db139f1d99c6d3b0528b1ca0b7167caf", "timestamp": 1589114281, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "156833e907d67860701b69e8d9e2f881", "timestamp": 1589114581, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b2122f928bf3ee4bd43c70d728612ae6", "timestamp": 1589114881, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6fb9c98e049fc907d63ea8fc6395b8dd", "timestamp": 1589115181, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ecb810da34035e801639f70e8108b921", "timestamp": 1589115481, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b7a703b1d695dda163c2f8dbe5ae692", "timestamp": 1589115781, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b063805e2a0679810828a5b60f97c0b5", "timestamp": 1589116081, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5234012caf91b4c3ca2225961926fbd6", "timestamp": 1589116381, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2c12a6701582b10aee705a6fb4da6d2f", "timestamp": 1589116681, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b02a1d4a844dec02e306d920eb266a0d", "timestamp": 1589116981, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8c3273286b0a3d59bbbbb2b3abc7ace8", "timestamp": 1589117281, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "411e23c6f8e828ece85d5c486e271104", "timestamp": 1589117581, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "14fcf5a1b8e44f0e6ae1d3604942a1d3", "timestamp": 1589117881, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2c7ca88156793bd1db9815a9cc5d2eb0", "timestamp": 1589118181, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "383b3151c04135407ac3f5de63d01d31", "timestamp": 1589118481, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "34d3ea3c1d7d5587124a19ee0d522c63", "timestamp": 1589118781, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1d87eca1af06e5664b6029c52214c2ad", "timestamp": 1589119081, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "acb4af9c3dbe9b56729778bd0f9edca5", "timestamp": 1589119381, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f7d3ebfa7245f72cc1b613baae7e285b", "timestamp": 1589119681, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1b7d7fcdd8a3223df921dbc2364a6270", "timestamp": 1589119981, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "96711bfcee23e38d94865213cdc43dde", "timestamp": 1589120281, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f309c91f113215f151ae99d81a9d0fd9", "timestamp": 1589120581, "rssi": -112, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a317d1823e29074c5222fabcfe8a168e", "timestamp": 1589120881, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1edf6b9d4690f31c30ba07df6431b231", "timestamp": 1589121181, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b4f5cca7f6f80a9d53465f4ab2cec312", "timestamp": 1589121481, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "418da1f434cec5dae254911b41a48023", "timestamp": 1589121781, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5b205dc46caf9e71ca73cd0d81f2f8ca", "timestamp": 1589122081, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "10070719ee114d98a5af35eae0fcf7a0", "timestamp": 1589122381, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ab1f83b278ec8383682d0d31822777d9", "timestamp": 1589122681, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "80039d3606a144be57b1afe26c14fe9d", "timestamp": 1589122981, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "82d9df6355fe7929e05fbec741bf6f16", "timestamp": 1589123281, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e02905156d7998a2fa09ec35450f9eac", "timestamp": 1589123581, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bb1e9ea79b5d1905c6ece0f9c7bdecd1", "timestamp": 1589123881, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a1b314a0429edd9f33bce8e3548e822a", "timestamp": 1589124181, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4934bec42ffd4e28ef384e81547e7bb3", "timestamp": 1589124481, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "adfe38dcee8001630da506051ba2c87f", "timestamp": 1589124781, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "40bfb52e97c4e7d23b1da17e48b8329f", "timestamp": 1589125081, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ce53907c5b990af07dcc864b36f513a3", "timestamp": 1589125381, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7e7518a6e07363f8bee61b67bced9090", "timestamp": 1589125681, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ff78f17cb092a607677976a3e37a15ff", "timestamp": 1589125981, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ceeaef387568d77cd56fe0ad59b58e3d", "timestamp": 1589126281, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c149d1323c1efb41b33291b1152c7452", "timestamp": 1589126581, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1b56f826d08204bf47abdc314a7d5f94", "timestamp": 1589126881, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5d1159f149b3f07bf505d221857d44f7", "timestamp": 1589127181, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "358c8fbd3c05bfe472c9ee8c378e8591", "timestamp": 1589127481, "rssi": -88, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c4f410314a218265963efe0f41a133b0", "timestamp": 1589127781, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3d3e05492fea432292a15d82d785b444", "timestamp": 1589128081, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b86188c64ca6e3ab264ec05b55c345a4", "timestamp": 1589128381, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b63f7e7ec35d1081ac2f7590e77f7b7d", "timestamp": 1589128681, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3840b062b0345d45b4cba484660fd4bf", "timestamp": 1589128981, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b3a5ecdb034ef70fa6dbc1d77127cf38", "timestamp": 1589129281, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "650d15ae46c2977c87070e9eb59fa99e", "timestamp": 1589129581, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f9f56c0916a6a1f46e0f0b80436a2d02", "timestamp": 1589129881, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "70eff8cb65fdb12a23807dd7b23ea35b", "timestamp": 1589130181, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c3e9199ab9fe3d3c592b88d6673e09d8", "timestamp": 1589130481, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "27c6181b914393877133a8b47d632512", "timestamp": 1589130781, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "715fe7c0f0f760e0d5479289259194fe", "timestamp": 1589131081, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c0a847d36d7b9ff1ed35fc8367b00aae", "timestamp": 1589131381, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "58eafcf461e5851a9b161ea0564b84d9", "timestamp": 1589131681, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0a17560d2d207b72d7b8cc179bbbef6f", "timestamp": 1589131981, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f706efaa615fc4be4faf4a03a1893f78", "timestamp": 1589132281, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "12b9023b4e8df2f3bab72865009347c0", "timestamp": 1589132581, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "68f3ae080bf30f2efda63fae8226a8cd", "timestamp": 1589132881, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8fe5f8613b8546cca35338bb31df1241", "timestamp": 1589133181, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "566f89b38f19dbdb4db180457e1b9b0c", "timestamp": 1589133481, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1179dc097a589f9ce481e2b64b339cab", "timestamp": 1589133781, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "49cbe5ce0e3856bb65dd7140fea9adb5", "timestamp": 1589134081, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dbc40a2a4f78860ec2230cebfeb05b83", "timestamp": 1589134381, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5d457b69ab1d6774bb1938a9391f3a58", "timestamp": 1589134681, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "98aed0e2692e7016c651a3c246220b9e", "timestamp": 1589134981, "rssi": -34, "geohash": "81d58d1ff5"}, {"ephemeral_id": "632ac1f75dae0f22038443020c0ba544", "timestamp": 1589135281, "rssi": -19, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cbc0b844d17bf1e6c7ed2e6bab47160b", "timestamp": 1589135581, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9ab6aa611b9c9e690e717a8f2083a008", "timestamp": 1589135881, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1e1fc393461a7639175ecb92299dfd9a", "timestamp": 1589136181, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6c2d76a6cfa712b33aecb24bec382cc1", "timestamp": 1589136481, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2815737b7ff6841d94b68422611af1a8", "timestamp": 1589136781, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8393312eee3c6ebc7686b6076de6d122", "timestamp": 1589137081, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "579285967cccf1ea252c76a010cc0f20", "timestamp": 1589137381, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0ae1c6193c150d5cd5ec6fc7d903341c", "timestamp": 1589137681, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2746c825643a018deaa16bc315ff929d", "timestamp": 1589137981, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d5a109cb1548ba9f4523dfe7696d136", "timestamp": 1589138281, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "931bfc324ba199f984bed0b6abd4a011", "timestamp": 1589138581, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3e46ba073a038e04f8cf19dacde7b9c6", "timestamp": 1589138881, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bc9fd359a6a0930478bd1179866228d6", "timestamp": 1589139181, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e708baa26ebd2a378d726a1f789aaec7", "timestamp": 1589139481, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "82c8250d2b202c98b8033f90c9ac66ef", "timestamp": 1589139781, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dc34d3b97b3af908f1230c11d30f3e61", "timestamp": 1589140081, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "48f78550d66f618da4456ed354ec7675", "timestamp": 1589140381, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "111fff7d51d893bbcc8873d89920d224", "timestamp": 1589140681, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f8620fc406e4be4dfa4e9cf447b92d3e", "timestamp": 1589140981, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4bb9c94931f2b923005f8c07824910b5", "timestamp": 1589141281, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a75a0b2c0f76f7ab770e8c1ae8012cad", "timestamp": 1589141581, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f6f66c3c5f89f2e1df60c3dad5acce33", "timestamp": 1589141881, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cac123568c69b1637533d374648db1f6", "timestamp": 1589142181, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4d669bd73826a460e3be0efb616b0f5e", "timestamp": 1589142481, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fc27dd39150e7add2dd96b2ebdfc87c1", "timestamp": 1589142781, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "04daea710485a9db730193c8c7fb45f6", "timestamp": 1589143081, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d8a2e836bcb09856e666aa17c2d6119f", "timestamp": 1589143381, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e5dddeaa23c4f0d3aa69642ec3b85e24", "timestamp": 1589143681, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c2ce215be35c8730783d4f7ba3bb0b9f", "timestamp": 1589143981, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c1ff3f81c803a4a734c74bcb29ae4494", "timestamp": 1589144281, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "62b42e8626901faedbb18a870ff18095", "timestamp": 1589144581, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d7fb0732dacef68b36ae473cabad6ee9", "timestamp": 1589144881, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c10c4e4917f6bccdd47624eb5ec18315", "timestamp": 1589145181, "rssi": -32, "geohash": "81d58d1ff5"}, {"ephemeral_id": "41b9e2b13c0348bb16217c31c85f6afa", "timestamp": 1589145481, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1192e5aeec5c2393dde80ea4619011a2", "timestamp": 1589145781, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fdfbdeb262f18a8defa33d3e8e030e9b", "timestamp": 1589146081, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cdd32979b47ab8048fd433f0194708df", "timestamp": 1589146381, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d330ca6adb0ac79ab1f9d2a9c878a9d8", "timestamp": 1589146681, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1068d0999c515f05aca9b02a7c718e6d", "timestamp": 1589146981, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "95155529e36dc6d5c3ceee24def3ff17", "timestamp": 1589147281, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ffc24252df4624818d6ac5850559779c", "timestamp": 1589147581, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d17d6b70fb9370d26b83c2b220a3e222", "timestamp": 1589147881, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5ebca232ec7efc60878ba35000c2cb6e", "timestamp": 1589148181, "rssi": -64, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a7d11b816d67af5524c77b32f0851f26", "timestamp": 1589148481, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7187c3c649070df4887ac390d5ce9e09", "timestamp": 1589148781, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4dc48a381e0a68aff0530910847bc045", "timestamp": 1589149081, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c4688649ab68225b1adf31ad8316e693", "timestamp": 1589149381, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "936a47bab87d9f336dd9a6b4ae181d75", "timestamp": 1589149681, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7ff4ea8940cb5e2dfb2f1318480c6bc9", "timestamp": 1589149981, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9126b9c6719d9d5286b34b7a38f16f50", "timestamp": 1589150281, "rssi": -112, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fabea1913002db30e24dc101d3a17e8e", "timestamp": 1589150581, "rssi": -99, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8cce9ca156d771d0b170927b55a4726b", "timestamp": 1589150881, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "46b374702338df7938bdcc265f5382af", "timestamp": 1589151181, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "08340058a8686aaca9882c4fc8e08145", "timestamp": 1589151481, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c45e144525d85fe634fc0585ca4b7d5a", "timestamp": 1589151781, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ae2e08d35f796f15d901b887035ac1d0", "timestamp": 1589152081, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "996ac6ed41ad221e36025ee9f0329834", "timestamp": 1589152381, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "92ed65a3e9c850422eed8453e8a58f03", "timestamp": 1589152681, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "634e33628677d7a18d34fa2b183a7aeb", "timestamp": 1589152981, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a7ffb2c976c827ff49e0c3d525d49c97", "timestamp": 1589153281, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "36fd6b0dc5acfb69bffb60c3694202f9", "timestamp": 1589153581, "rssi": -20, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8a580affed7b3399c2cb75d44a32945d", "timestamp": 1589153881, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d78ca1dbb48e1117de31f02bebf1fecd", "timestamp": 1589154181, "rssi": -106, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c21ccb7f9efc40b46784d2f11027e13c", "timestamp": 1589154481, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e90c55cb0c5cf4664107bf044a173c12", "timestamp": 1589154781, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5db5189c7baeb357be7942c866de292d", "timestamp": 1589155081, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "672855fe1262627d6e778dfe9a82698f", "timestamp": 1589155381, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b2e87ff59b5baddf3e995e4bcfed01b5", "timestamp": 1589155681, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2f994065ab1fa5025ff118fb30a8651d", "timestamp": 1589155981, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f0187a3144eb7197ac546dfe00722e87", "timestamp": 1589156281, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "37a04876ab3fdfe09c0602227a2ee28d", "timestamp": 1589156581, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b5827fdfb0ef5fb494ecc73f1f5bd3fb", "timestamp": 1589156881, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c801d59a210acac7ff29af0391ff515e", "timestamp": 1589157181, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "85ff13c61c4109b6693371dbbc08d57f", "timestamp": 1589157481, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3068e1ac4890e443df3d93d98ba61209", "timestamp": 1589157781, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "13b1ea21d493898dc13b913c5ca6650d", "timestamp": 1589158081, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3c3a73a430401ddfbca56e35f3db9c2a", "timestamp": 1589158381, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "571bc2e6f716eed5764ce671067a2b9e", "timestamp": 1589158681, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "79e8a2d0e86f8cbcc5956018bf28dd95", "timestamp": 1589158981, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "46d9e47f360710de8c6ff71696459686", "timestamp": 1589159281, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "737535a7723c190353c99c8e108b3793", "timestamp": 1589159581, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa94c8868fc2e247e2a43539f8aa1347", "timestamp": 1589159881, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f81e0bbc48bea18f995184d040d30a82", "timestamp": 1589160181, "rssi": -34, "geohash": "81d58d1ff5"}, {"ephemeral_id": "37c9dd997759a2861bf33fd0b2a2823b", "timestamp": 1589160481, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6a266ca03bf7d5c2374c73c8a7061717", "timestamp": 1589160781, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8d1dae4575d0b98209f9cd2aa7dbcac0", "timestamp": 1589161081, "rssi": -19, "geohash": "81d58d1ff5"}, {"ephemeral_id": "43ce019e74e4fdc4ec5e5c77765efb1b", "timestamp": 1589161381, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f5144c56c7726bb4dfed492a567da977", "timestamp": 1589161681, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6f02f337a4c54da8e885391f868349d2", "timestamp": 1589161981, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eebc8dee4db7b34293b60d4d45c80a46", "timestamp": 1589162281, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cc97b1ab480d676fcc1860fea7c575ef", "timestamp": 1589162581, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "69bfb8674951aa8f1ec9a15d3a24ed05", "timestamp": 1589162881, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "79846b96837b9961912e7f046c76ec09", "timestamp": 1589163181, "rssi": -59, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ee9f223afe152dc025352f7d38d4651f", "timestamp": 1589163481, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6caadfaa43262d1b47c20601acecd9dd", "timestamp": 1589163781, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c5c86f3fba594a5dd316a0c3dc609bea", "timestamp": 1589164081, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d2b0835caae13fb7ff271fbfc6f38fd7", "timestamp": 1589164381, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "48bb03b4de4548f1eca779289f7289f4", "timestamp": 1589164681, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2442e4de7c25213dc5d0081ce260e8cb", "timestamp": 1589164981, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4d98ddd9d34d8afe6a9d4a2aff069625", "timestamp": 1589165281, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c0f584118c56942980cc33f7cee930aa", "timestamp": 1589165581, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "573ab487ae86b1888e067bb3403965d4", "timestamp": 1589165881, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eb3fa5c76770eef9cbebac86728a9630", "timestamp": 1589166181, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "407494993b561bab616e178bd6077e37", "timestamp": 1589166481, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3b6efa35aee442613c4df823efb26446", "timestamp": 1589166781, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b601a1db694e1f48268bc83095d43422", "timestamp": 1589167081, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4f1de1323525b059e0fbad76a2313258", "timestamp": 1589167381, "rssi": -59, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1eae1a526370cf8b296ae2b9232a58ed", "timestamp": 1589167681, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "52a7e22007038c2d8f230dd2ffad17c0", "timestamp": 1589167981, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d91e78832dc3fed9b05b09bba329ca49", "timestamp": 1589168281, "rssi": -96, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c98b3caee32ed943879ad4c3ce868410", "timestamp": 1589168581, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "34178422fc01fe4f65c7fd71db4d673f", "timestamp": 1589168881, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "54dd49d6ac3f9f2367250b6204ff76c8", "timestamp": 1589169181, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fcdd7847192537d716e46abd79c59664", "timestamp": 1589169481, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2d9451041a395f35b3ab44a9155b47b4", "timestamp": 1589169781, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ad91a415154643b76dd3a6aa051b5417", "timestamp": 1589170081, "rssi": -106, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6bc470cf9f67450aa20837aca5888ba5", "timestamp": 1589170381, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "51592905a9a2be234e37b2008230ffb9", "timestamp": 1589170681, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22a946f73906333a4a66a118421d5446", "timestamp": 1589170981, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "88c9fbe4169cdd9c5da12b92bf251d48", "timestamp": 1589171281, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c92a47df7b458dcd9b420e216af1c2d8", "timestamp": 1589171581, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8cdc85b9aa7af1fc455014ddb960a6e3", "timestamp": 1589171881, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "04d703bf6a36e025127e45832ea974e0", "timestamp": 1589172181, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5503fa91d1e527af6bab676eb4b5d674", "timestamp": 1589172481, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b409c893032900b96b6850d92b1c7d7", "timestamp": 1589172781, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3a775516ee553c6e35ce723af2918c4b", "timestamp": 1589173081, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a6dda28f8e475a26b170a4acda00ab25", "timestamp": 1589173381, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4a4104cb9f19e26fd57fc0104a8239e2", "timestamp": 1589173681, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d0fec8ffaffec459d98a45623ca3ab62", "timestamp": 1589173981, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e06d3001aa46f4aa36647951820b6ffe", "timestamp": 1589174281, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3b5474b958d7a66f966055f689f984ab", "timestamp": 1589174581, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bb316c0bf7121fc85d6a21647199b95e", "timestamp": 1589174881, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "41c70c5191ffba0ab6a72b13acde3bad", "timestamp": 1589175181, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "30c362646ee1f020f5392df8a3d8d915", "timestamp": 1589175481, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3f679cb701b5cf54c343f96df03fca8b", "timestamp": 1589175781, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "44049907f8dd34234fb5563313e8070a", "timestamp": 1589176081, "rssi": -88, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b12df341374460bf7534b75f09c9934f", "timestamp": 1589176381, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e179e3c8ff94e18f729f9b6c4347af20", "timestamp": 1589176681, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cdbfcf7662069fdf235ce370f517a3bb", "timestamp": 1589176981, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "395a2d395cb1042a05577c7b3821a472", "timestamp": 1589177281, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6ed8daf7f5679366e7c57a0c0ce7196a", "timestamp": 1589177581, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "61d8ca7ffb4450fc4387e9cce068a8af", "timestamp": 1589177881, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a26d58356e2692ada4b7afbc5ded6323", "timestamp": 1589178181, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "80421c673a0d34102ebdce74fcd4dea6", "timestamp": 1589178481, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "067a0200141eb48b44c872a621de7f19", "timestamp": 1589178781, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f36db7825f1eef252607bc22b66ba1b8", "timestamp": 1589179081, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "959b6a0b63ed62c06f03a663a42c027c", "timestamp": 1589179381, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "960982dfdce07c7a5e9f169b5689762d", "timestamp": 1589179681, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5a280400902eb40cc930a9dece7a56ef", "timestamp": 1589179981, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3e771b5863e01c6c56ed2cd772b885bb", "timestamp": 1589180281, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "953fb4516a1b05a6fcd584f73545bce8", "timestamp": 1589180581, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "62dab641b76d38e4157e5f56d36f9b3e", "timestamp": 1589180881, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3a323177432b9dd56ca023048ae389a6", "timestamp": 1589181181, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e278607d9634f44e63c80b089b741020", "timestamp": 1589181481, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4ed026e75d5d8cb98f17db1334443bc0", "timestamp": 1589181781, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "62e58646d953f8bb8333d36e0c7dacef", "timestamp": 1589182081, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ee86b980e5a6c7dbfdc785430971875a", "timestamp": 1589182381, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "70c57995df18e1c95168f3e0267aec2e", "timestamp": 1589182681, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0e4fb96f05b1e3301973f03c818be250", "timestamp": 1589182981, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "90d30fea233d0a6efe5e53a863bf5fae", "timestamp": 1589183281, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6568cea4aa0d47dcda29aaf0cd623d9f", "timestamp": 1589183581, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a6081a6d3d0e06d9721faf1031655ee4", "timestamp": 1589183881, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8f1904666583a9ab00838ed53a447015", "timestamp": 1589184181, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "04a1c138f0bf4ed1f3ba5f9bb70f781f", "timestamp": 1589184481, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "92d2f5b957e43b1a3319b06a041a42ad", "timestamp": 1589184781, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "793b0edd53bbe7bb76ca89fba71c6c8f", "timestamp": 1589185081, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ea847979e26bc2a79960c5598246d288", "timestamp": 1589185381, "rssi": -64, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e95b953f4b4c29a0aea87d39b5d9d4b1", "timestamp": 1589185681, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3eae3cc53c3ae94e573bdc7a5467e3c5", "timestamp": 1589185981, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "399f66851555e9aea5e35178e40508ef", "timestamp": 1589186281, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cfa6122de909e895cdeb11500879cf34", "timestamp": 1589186581, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4de4725222a17824b9243d83a553b016", "timestamp": 1589186881, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d0c72cf646bd43d19066248f8dfacbcb", "timestamp": 1589187181, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8ed6427f97317e8137498f518ddec0c8", "timestamp": 1589187481, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "58719fc0d8aa2d78fd2ca7870cd9b310", "timestamp": 1589187781, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5ec560314b7dac5c5ab765490fd42f17", "timestamp": 1589188081, "rssi": -32, "geohash": "81d58d1ff5"}, {"ephemeral_id": "49c2516838de3201da621adbe84078f5", "timestamp": 1589188381, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aa49def85319d71606a0a999739bbcc0", "timestamp": 1589188681, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4419b3c8ef7b748bd460cc8e55b393e4", "timestamp": 1589188981, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9a83ed26a2425a8b3a8250a4b7318192", "timestamp": 1589189281, "rssi": -96, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa1d958adafbbe092589617f532cf1f2", "timestamp": 1589189581, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "59d690d8de56938e11fbcd5e5ba7d1f9", "timestamp": 1589189881, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1dd6fc164742909c6965fc8b189b0d28", "timestamp": 1589190181, "rssi": -20, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1580ffcd098dceb2e0b2d1434f8d752d", "timestamp": 1589190481, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "938431dbd3e54442316894b4612cc243", "timestamp": 1589190781, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "642c27b8bf3ec889bbd5cd1c4e4fb3ec", "timestamp": 1589191081, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f723dc15008904adc50a30e50440153b", "timestamp": 1589191381, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "15e261e00faca1bbb3c4afaa7c735226", "timestamp": 1589191681, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a6f19f4430714c69f881b82fd48b28be", "timestamp": 1589191981, "rssi": -64, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f5bfb6f9a0ac8651e6246bca83ba3754", "timestamp": 1589192281, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d9cb2acc0cd132060314fc50e6d3c790", "timestamp": 1589192581, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0b201fefb24769958dc289584fcadc18", "timestamp": 1589192881, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "142740c4a60a43b5ec0730bb3f3e75ac", "timestamp": 1589193181, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "112807207eef35da3566944eec76d627", "timestamp": 1589193481, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9ce1412904eeb21df502e7055a0864c3", "timestamp": 1589193781, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "74eb805d0a64e65ca5c695950987f1a5", "timestamp": 1589194081, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7604f5a48b9a75d22014332210acfd3c", "timestamp": 1589194381, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2d2dbd5d39bfe1ad369ed2f5527ff9f2", "timestamp": 1589194681, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "47e25a9f324e289c369349756a73f86d", "timestamp": 1589194981, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7b9ab0d4c12dd9350f7f7b116ca2443a", "timestamp": 1589195281, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "81e62720890909caf23d81aa1ca5b72c", "timestamp": 1589195581, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0f3bff627c8eb0cf9bd737797247f356", "timestamp": 1589195881, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2384f2263735dadab9e7a42edd952350", "timestamp": 1589196181, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b820db4f1911f5c8ff741c38cf7bfe00", "timestamp": 1589196481, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bd49fa724da98780e63738a707a50cdb", "timestamp": 1589196781, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b4f3dc1f2f0b62efb03edca87b864223", "timestamp": 1589197081, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "72d5fba42093c39c6f7aaffac3a6b1bb", "timestamp": 1589197381, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fd0fa8d70debdc252067e9be2dbd1639", "timestamp": 1589197681, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9eefb7d3c644177fedf00b47562cf6d6", "timestamp": 1589197981, "rssi": -96, "geohash": "81d58d1ff5"}, {"ephemeral_id": "24764a9fb29c2383bceeeb1e8b0a8722", "timestamp": 1589198281, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d65b0057ee97a0af9325f7369adab175", "timestamp": 1589198581, "rssi": -19, "geohash": "81d58d1ff5"}, {"ephemeral_id": "93165eebd130f0cb10d9303af7e87521", "timestamp": 1589198881, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "87b52012ed12d1c3b812eedbd9b93e51", "timestamp": 1589199181, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7fabd8a008c1161733cd1b78395aef8f", "timestamp": 1589199481, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "62a275565a3bd48649fea4196f55bbc2", "timestamp": 1589199781, "rssi": -5, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5ad0cf25a0f7f1c4649eaa7ab760d06d", "timestamp": 1589200081, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3ab07f7f59f208ac48dd315ca60c14b3", "timestamp": 1589200381, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "772661cfc6dacd7eb83e57f90e5cd555", "timestamp": 1589200681, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e33fa4eae2dc62aada05e14074756571", "timestamp": 1589200981, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6c0787b25490910659052ce70da477f7", "timestamp": 1589201281, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0772e28a3c450a85bf5804984a5b68b3", "timestamp": 1589201581, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f82669629c475e5608634610f7a9109e", "timestamp": 1589201881, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d02939ff1e07797f432e55c0d3b931e0", "timestamp": 1589202181, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c938bcd4e92a0eeba5cd0bd7d98a4549", "timestamp": 1589202481, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "37ddc6fee96715f0104e4f5ad42657f9", "timestamp": 1589202781, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3eb223598bfd40c92694e28f1a5de254", "timestamp": 1589203081, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "380513b155399817c9265882dd3e7ef8", "timestamp": 1589203381, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "639dcc7cafdf274af2269a4b94942832", "timestamp": 1589203681, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3f5784a59b706e5189c1608fff4d7f7c", "timestamp": 1589203981, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "54608d7cef20e373385b82afc67f0986", "timestamp": 1589204281, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ea79b9c63820d8b4d8cb41fd8f765a87", "timestamp": 1589204581, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "34ebf8442f7cb679c0c7383c99c92ebe", "timestamp": 1589204881, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "130ea9204a7116dc990a98c5450142b1", "timestamp": 1589205181, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dc0c60089ade022772228d4856c2ad80", "timestamp": 1589205481, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b345a2227797e38281b1ff4aaadcf77e", "timestamp": 1589205781, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cee01bb73f776ffdde8b74e42c3575d8", "timestamp": 1589206081, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "436c75baa3cbb07a9405f6742df6792f", "timestamp": 1589206381, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8d11b4c1066dce086106affb51132fb6", "timestamp": 1589206681, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "46ee3b3fb1c3dda62f542a223815b70f", "timestamp": 1589206981, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "65f6411c4f968d1625a16be7e63a78c4", "timestamp": 1589207281, "rssi": -34, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2ef00152c812410dc6bf92478ca58416", "timestamp": 1589207581, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "18809c21a716840eb74985a957959d71", "timestamp": 1589207881, "rssi": -61, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c3808fe03243d248e13ddabd7d3b6667", "timestamp": 1589208181, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5a84fedde27b53848c88ba28b25c7cf3", "timestamp": 1589208481, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "499b37eddce0286c9eb30f925959bf47", "timestamp": 1589208781, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c4fd3924ced5a63d7b31ff8422f51a39", "timestamp": 1589209081, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "af31d2dbe9b41a0a2e66d29c81241894", "timestamp": 1589209381, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "044a28a0959cd02415cc3a560a290231", "timestamp": 1589209681, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b76a5c13cb5e711e31d9ff3dc8995e18", "timestamp": 1589209981, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "843fe1f3779275fbc6dc4bda0749eca0", "timestamp": 1589210281, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "287616159be58409535d4615bb7348f7", "timestamp": 1589210581, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d0ce523cf2b9e93df856179d46503869", "timestamp": 1589210881, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b89d5ef664de564f15160856648bf12d", "timestamp": 1589211181, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0310e53cfd6e4a542b85dbd47204b9e4", "timestamp": 1589211481, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c16880615cfc44d815106cd12b26e164", "timestamp": 1589211781, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "64e4ff8191faaa3484e053bc91a9aa06", "timestamp": 1589212081, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eff60caf28838ab2ffdcdc8489d7bc95", "timestamp": 1589212381, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "72969dc23314934c1061f5a7f2b4ac9f", "timestamp": 1589212681, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "02b07905d7b85831689198dc9dd7b86a", "timestamp": 1589212981, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f9798745657ac3956aa8ef4a4151190f", "timestamp": 1589213281, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a427fad66d4dd7f49c0b7a8df69c65aa", "timestamp": 1589213581, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "877bb8bd6c3ffd755e1d69945af71735", "timestamp": 1589213881, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "27c0441ed5bcec8f4ae97d79ed3bae28", "timestamp": 1589214181, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "431ed14935f2c36b09e1d109a35bda4e", "timestamp": 1589214481, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cc0b10327b62d26b138ccbcec7e825ca", "timestamp": 1589214781, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ba95e0da8dc56f948545dfc827ed3edd", "timestamp": 1589215081, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3efc589716979b69a21bb386ecc67501", "timestamp": 1589215381, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "82d982b3386a5b04b2cc5d8066358a9f", "timestamp": 1589215681, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3dbb38e16b326fc63568ac411bbd24e6", "timestamp": 1589215981, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f12def35c1ee576f549ff75fdb103bef", "timestamp": 1589216281, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f79a6886773122661f6090d00821e4c4", "timestamp": 1589216581, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d7f57b55531acd16b324c16b0b1325eb", "timestamp": 1589216881, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "05f912955a1a1b1e189aad2720e6d2b9", "timestamp": 1589217181, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "04f95909f0bf63f48b5e61ed75f853d0", "timestamp": 1589217481, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c7c3afbd7dea893497fd579916b1149e", "timestamp": 1589217781, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4c1cdbab433aeca2eb5eb12a03e355fb", "timestamp": 1589218081, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6b4dbdc1616c0446c89516670b8564e5", "timestamp": 1589218381, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a27dfb304eb66ef629e7d7119d1711a4", "timestamp": 1589218681, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7e8d09d0c28213c06807ee8744c7e253", "timestamp": 1589218981, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9339f6c6539bbe2d9bdba2b23c5cca76", "timestamp": 1589219281, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "280f0228447387e31ed8bcbe2022850c", "timestamp": 1589219581, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eea6036e8dc4eca84fac0fbe8f6c9349", "timestamp": 1589219881, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0c825df468c11c9cb7af0bd4c332081d", "timestamp": 1589220181, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5d92b4d3efc66cecee4208316ad3c4e5", "timestamp": 1589220481, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa17eb88c5c066f9db18bd52a8f68773", "timestamp": 1589220781, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e462517902fb1b2fbe7ff0c139463a5e", "timestamp": 1589221081, "rssi": -32, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4c38a6dbc11d8f91246a16b7573c0230", "timestamp": 1589221381, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "809162ce29661f290778625e5835f1db", "timestamp": 1589221681, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "381c7a033306c7734fb780f7afdffeb4", "timestamp": 1589221981, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0ad8d094ab5c350aea6f8bfe8e7b40db", "timestamp": 1589222281, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa0c657fefba9edb4ee0972b46842a3b", "timestamp": 1589222581, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5ea72e780e7d4744a73b3e079c3310e3", "timestamp": 1589222881, "rssi": -32, "geohash": "81d58d1ff5"}, {"ephemeral_id": "57f598205d7992c57b962793cd6a5433", "timestamp": 1589223181, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "59d0c050bbad6788fbbba893da7b754e", "timestamp": 1589223481, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7e3e7ceb648d068f043a8a76e7c8d101", "timestamp": 1589223781, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e7fa4057bf4b35f4c14f281b6d26034c", "timestamp": 1589224081, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e38a6c402af0070232c156683f270cfc", "timestamp": 1589224381, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f927628112ca755e23c94e97804f026d", "timestamp": 1589224681, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b9ae3587774a8ac2cdec4a2de2712e94", "timestamp": 1589224981, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "334132f167576348225327394ad1a6b7", "timestamp": 1589225281, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dad741d7095d8791c3ba9e0526109336", "timestamp": 1589225581, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "18e53ee2b45ba9134246808476e1c93a", "timestamp": 1589225881, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8be93fc35428f47ed9d7451c3199e71e", "timestamp": 1589226181, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9f7c85778f23b51a2fa6cae1ffeb97bb", "timestamp": 1589226481, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b212c7bab65d80055358dd3697f016c3", "timestamp": 1589226781, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "96ee9ada5d429edfe4135b8b84be74f6", "timestamp": 1589227081, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "02ffb2c3d9c771169242da34a3b5d243", "timestamp": 1589227381, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a7abcd77fa389a2ae0e0b40d208cfd48", "timestamp": 1589227681, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "670f5542e560b29da6cd022ba018ca3c", "timestamp": 1589227981, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3dbc65379c6ce6f5f1cd2389ab7275d7", "timestamp": 1589228281, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b3eac5c0943533311ac9a6a223a11322", "timestamp": 1589228581, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8ed692075f9fc08de3bd78483022dc4f", "timestamp": 1589228881, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "909be31ad4600ef17d8473423f318579", "timestamp": 1589229181, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "02a1b5ff61d726fdacb0423898742f36", "timestamp": 1589229481, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f85dcd43d84c4ddcc68bdde3dc028bd3", "timestamp": 1589229781, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9781721eb3ef3e9cb1dae4024fb2730a", "timestamp": 1589230081, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b163ed819c02287a0e19aa8a293ae404", "timestamp": 1589230381, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7d6e88bbb9792fffdf59c28c66d1bdbe", "timestamp": 1589230681, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9333f0bc483074d4f29502623984e871", "timestamp": 1589230981, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "264e3409675335492d34df8d620d0acb", "timestamp": 1589231281, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "54c296836940bae019b3f0a55f0b80e2", "timestamp": 1589231581, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e6f94c81b0deaa7524c2890e0cd28546", "timestamp": 1589231881, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8e5e6618b8b54e8cd2a79e534fc46d34", "timestamp": 1589232181, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a32daeae7274af9911eb51726b11e329", "timestamp": 1589232481, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cd081a7805ebd654ade6c0efd73b88a9", "timestamp": 1589232781, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6dfc63dae2ec084cc969becb42bd6da9", "timestamp": 1589233081, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "427aa8f38e65a20461d5f925a153a822", "timestamp": 1589233381, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "43c9a4bba31d434c60930d30945cb45d", "timestamp": 1589233681, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1967f612f8f4d061c19feed4cf794374", "timestamp": 1589233981, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ed54507d9dfece2600131d363a53ae8b", "timestamp": 1589234281, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3eb969eb70243c5ec879797b75cc1ced", "timestamp": 1589234581, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f290919d854eb2d645aa3bf3de266c16", "timestamp": 1589234881, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ea88e0cb6d7bc86958705847c06096c7", "timestamp": 1589235181, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "83ab6d21777a7205d94832b4facf4166", "timestamp": 1589235481, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b97fcf821debed5df1fd4696d7475cee", "timestamp": 1589235781, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1079dc27361845a591c20f7bcb79f58d", "timestamp": 1589236081, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b6deda337e7b71d49a4af17b9d0b592c", "timestamp": 1589236381, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "04c9c8e2db811df7a1b17e2567e00036", "timestamp": 1589236681, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c93524c8d72351aab06bf97c6f766a66", "timestamp": 1589236981, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "913eab33d3837e2a5977e64194ec006c", "timestamp": 1589237281, "rssi": -59, "geohash": "81d58d1ff5"}, {"ephemeral_id": "92a5f7e6061a876e41fb9d1bd16033a5", "timestamp": 1589237581, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1ce40a0c971477cba66e86eafcf69d7a", "timestamp": 1589237881, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dcc63e6316314e2187a3891f84e0c8aa", "timestamp": 1589238181, "rssi": -99, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a703b0a1dd7ff67be380220720823295", "timestamp": 1589238481, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8972d1ad1f17085601a4e9b521563ec2", "timestamp": 1589238781, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "df9b998852304fb031de9e864b8dd54f", "timestamp": 1589239081, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "33494abcbab6b7c0e052b66d8fdc6023", "timestamp": 1589239381, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dcc954e9ace29d323e2565f29572dc13", "timestamp": 1589239681, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1b159aa6bb99d364873d567ca8d85691", "timestamp": 1589239981, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22d6558ac7db2bb2fc7cdc49fa639054", "timestamp": 1589240281, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fe496c3e07f8fa7dd8dbd72d9181b6b3", "timestamp": 1589240581, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "57c9953b01db442cc03887decbcc0f93", "timestamp": 1589240881, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ae5330fa633a52c25144f19556d37645", "timestamp": 1589241181, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "41aa4acbf3183a3bbcf29e804b43887e", "timestamp": 1589241481, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4f97db6cf995ca0fc0852498c3090311", "timestamp": 1589241781, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7d36354a6bc02dbf7e2c2e21bfe0365d", "timestamp": 1589242081, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4a5cc41f6030e4a7fcdeeb937ae8b44b", "timestamp": 1589242381, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "136186ce736c2a7189b69387d7795965", "timestamp": 1589242681, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "85da5befb82623fed114134017df8756", "timestamp": 1589242981, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "43ced3165f9f35659547bbe8c1c64891", "timestamp": 1589243281, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa409a0669f32f13f6c295359b097274", "timestamp": 1589243581, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "40b6dff30d4aafac5a33f3b39d3d55e5", "timestamp": 1589243881, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b61e6569e7134851650b70c555fa9944", "timestamp": 1589244181, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a53990ea32b3ff5873120741e2ea47d5", "timestamp": 1589244481, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3f3b19e3ae98c38f49e1cdcb1589af2b", "timestamp": 1589244781, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fdf73f4c0fb50ecc243b5e4fe925f931", "timestamp": 1589245081, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dd658138217ed8497472ca7305d1cc37", "timestamp": 1589245381, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2c7f71b72ff1a0feb2f23c257d78a3d0", "timestamp": 1589245681, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22988ab02f4c45cb1226db0d060b3f61", "timestamp": 1589245981, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "af5b8da591df2863383ee76921ad6e17", "timestamp": 1589246281, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c25608f8e4c1599f3894bb96abcc1199", "timestamp": 1589246581, "rssi": -88, "geohash": "81d58d1ff5"}, {"ephemeral_id": "35b1784a38b4081eb7d2c2d1771ce493", "timestamp": 1589246881, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f7c49892c40ee618d0c8c56c5732e51c", "timestamp": 1589247181, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e7eaed34df591147f445da53c58f314c", "timestamp": 1589247481, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3a4e7b11a6e55d9c221b5349b819f83b", "timestamp": 1589247781, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5c30bd711115baa23c4cec12c8836dd8", "timestamp": 1589248081, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5dc0fddc8aa084531b644c771043355e", "timestamp": 1589248381, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56146687c9dbfe4e7b84b4d7fa29ad7b", "timestamp": 1589248681, "rssi": -19, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3537bb275af1f062a4d4e93589bcd054", "timestamp": 1589248981, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "077010447b46a2cb28e539563b6c05cb", "timestamp": 1589249281, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5fd787321755114af5eb110a8a9f2a10", "timestamp": 1589249581, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "19b33e0f6ddbb9eb3ac3c04b4f4ef1db", "timestamp": 1589249881, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "34f32cc8e0a4566cba576a1c4db7359d", "timestamp": 1589250181, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "27785a4da3ec388c3d06b802907419ee", "timestamp": 1589250481, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6aea9e5a2bcb2c6826aec56f2d637cb9", "timestamp": 1589250781, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e56133f8b5f4baefc60f9d22523ddceb", "timestamp": 1589251081, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bd7e752a9cab7d4216e0f32ff3ad83c9", "timestamp": 1589251381, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5381b52e509c4fad332a72c33170a9c7", "timestamp": 1589251681, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "18c59b60320766dcb4111e665c1d8880", "timestamp": 1589251981, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "831f134b7f4b0105357086f0fd89c179", "timestamp": 1589252281, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "92127ec65fbcfe48ff14ef158f67766c", "timestamp": 1589252581, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a395b8eb6fb18c038269bec08b6cf611", "timestamp": 1589252881, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3c4439f578093baffee9d8d485847cb5", "timestamp": 1589253181, "rssi": -61, "geohash": "81d58d1ff5"}, {"ephemeral_id": "54ce87029e3a37e83da65f2bdf32fb71", "timestamp": 1589253481, "rssi": -32, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ad79459f10c3f2d5f75615d76c796c46", "timestamp": 1589253781, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "341741bc9279ca5b558b29348a35dafd", "timestamp": 1589254081, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ba76ce10a58fff64721acbef55ecfe6a", "timestamp": 1589254381, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "32971b264d273058ef8607e70e8047c2", "timestamp": 1589254681, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3eceaaefd87e42349948cb7cf4971489", "timestamp": 1589254981, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2552609e77c50c8b70c03825417f5932", "timestamp": 1589255281, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "981c0c0e5a5106109aa7eb4ecea22690", "timestamp": 1589255581, "rssi": -111, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2c63540b777fea53e0ab020db9dc2369", "timestamp": 1589255881, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ea1f42073bddf609ca4493050dfed03a", "timestamp": 1589256181, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e25da2e16e656b225bb0c188961e8685", "timestamp": 1589256481, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5d0ee5bba08c716238787dbbe146868e", "timestamp": 1589256781, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f561f2a45dabedc5a597499542ddac8c", "timestamp": 1589257081, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "702bd0b34527cc9b859f3b1fc7d5c16f", "timestamp": 1589257381, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6b1945d5fcaeb7400b96876d312a344f", "timestamp": 1589257681, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "20ca1eed5ef856ba3f7ec422e0e28d17", "timestamp": 1589257981, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c2cb9ee1783540eb831c3cc5be86b6f0", "timestamp": 1589258281, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e1732af3067935c83fefe208d400150d", "timestamp": 1589258581, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b45be97109f2b234dafc47cccd70ee23", "timestamp": 1589258881, "rssi": -5, "geohash": "81d58d1ff5"}, {"ephemeral_id": "57abc0edb016a1934c2f033af96acbc9", "timestamp": 1589259181, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fddcbd7070db0319d29b68c9492778fc", "timestamp": 1589259481, "rssi": -20, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e4cef9dd6002ab57ae64884d4c6726f4", "timestamp": 1589259781, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0dea972b0718bf1c66c26798cde07d25", "timestamp": 1589260081, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "49a64141849a7b2f889fdf2f7a08cb15", "timestamp": 1589260381, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ad4f5f9ba888fc3e6cc510d7342b6d6a", "timestamp": 1589260681, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4aedb2e08c5a753ba7bbbe7f703620c0", "timestamp": 1589260981, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "06b991fe7e2ec1cc26c704c4ec6eebf1", "timestamp": 1589261281, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "155ec476a8618ecaa3b782eefbe6607d", "timestamp": 1589261581, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0616953224c8ec570cc5b2b61f139bc5", "timestamp": 1589261881, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d420bb2ee18c4dc9ed399ec48a915895", "timestamp": 1589262181, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "02b82a1bc32f91ff805cf5ed98ca11bd", "timestamp": 1589262481, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "11ad64c1c575b57d24014d4cba764b5a", "timestamp": 1589262781, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a3154fb502d5a9cc05d934bc08ba0233", "timestamp": 1589263081, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e30e8e79717cde2473f3766ac44c3385", "timestamp": 1589263381, "rssi": -19, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1b827136fb615ec645699f59996fa0ee", "timestamp": 1589263681, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "06339adcd029f5f4af32057e319a3deb", "timestamp": 1589263981, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e10f88f19797854ec188b42fee26147f", "timestamp": 1589264281, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9fcecac700bf6a71b6a172efa1bb627b", "timestamp": 1589264581, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4cc32bfa092361506d088e8b93b5092b", "timestamp": 1589264881, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22ea1be224c682ee6928fda9d104da26", "timestamp": 1589265181, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d3f03d2b863a91530b69e2b52d2daa9c", "timestamp": 1589265481, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "25e0302d5d3c4965161558ca914f0666", "timestamp": 1589265781, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4a7983745eb014f1ff80ff0db7114f6b", "timestamp": 1589266081, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "73a660b95f9c83abe70e29d934d5884a", "timestamp": 1589266381, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4711c05868b875a5949c0e8a6a0b4f22", "timestamp": 1589266681, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d49c8d6d79c577785d4fbf41773ce9e0", "timestamp": 1589266981, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "55b591888de0f38b91787e39102173bd", "timestamp": 1589267281, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "83db29c5f158df5d0e7a727328f28e57", "timestamp": 1589267581, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a420a7b38eea913b04feeb40b8282ae9", "timestamp": 1589267881, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "626980185d3065b9f5850912d26706b2", "timestamp": 1589268181, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "29b71ae2f355b913987c6e9d923c0865", "timestamp": 1589268481, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8fa9198eb026e19634cb9c0b1db6bf23", "timestamp": 1589268781, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dcf88d8be791b45d6a9a05c82db86b9b", "timestamp": 1589269081, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "953e0043cfad85dcbb0a11f4c53a8c4a", "timestamp": 1589269381, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "605f4786882f10a4cf46174238d23219", "timestamp": 1589269681, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "15db032eed0edbfd24c460855858a867", "timestamp": 1589269981, "rssi": -112, "geohash": "81d58d1ff5"}, {"ephemeral_id": "48b30f9678cae776513e08e4f33ca73a", "timestamp": 1589270281, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ddb7c16d6e8e916e543d015711e05284", "timestamp": 1589270581, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9007dcc9026cf814fb7d09d9380da384", "timestamp": 1589270881, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "284c5599339f0a9040e74017898cf570", "timestamp": 1589271181, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6a74b0c1e761d43c5b62173b607184ae", "timestamp": 1589271481, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "31bbdb5cf1e9f7466635e8fbc9e563da", "timestamp": 1589271781, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "78a46003ed929d864abd2e74214a0976", "timestamp": 1589272081, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "59445ee33c33dec6a885ea4ca1197717", "timestamp": 1589272381, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "66f0da08f4807e1930d9d2668a1d672a", "timestamp": 1589272681, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "77a5b2721649f840732ca67e302d15d2", "timestamp": 1589272981, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ebbb2b7bafb07185f3a43c527073a9c2", "timestamp": 1589273281, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2c60a41686b1826428c2b2a065e79bbe", "timestamp": 1589273581, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "78bbc49c57499ed016e00e5cc9197daf", "timestamp": 1589273881, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b118262da77cd7139bf4af340e3dc002", "timestamp": 1589274181, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "924843877964c001a6cb3fd7f2d788f8", "timestamp": 1589274481, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4b33ebe183565306c67bfaabd0018c5d", "timestamp": 1589274781, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "736e50983da36df60defe845ba92e0f4", "timestamp": 1589275081, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d5f6423b8cc827ca63856f4ecdf9870", "timestamp": 1589275381, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0748480fb9a0e5e7b2e880c8beb03652", "timestamp": 1589275681, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8ec156032bbe0a9035fddd6c066b6494", "timestamp": 1589275981, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "33c98b7cf65bb4a13dd860a7be0ac1b3", "timestamp": 1589276281, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "70f9da6c7953979877304773c476d921", "timestamp": 1589276581, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b9cf9ca8b21bea4c904577fe18541656", "timestamp": 1589276881, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d6d13b3b7ad2de8c701aeecf977a48fb", "timestamp": 1589277181, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2412bd27ea74868faf38bfd6ff21c63e", "timestamp": 1589277481, "rssi": -20, "geohash": "81d58d1ff5"}, {"ephemeral_id": "193c27707e2ebbd5813edb0897dcaa32", "timestamp": 1589277781, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "67db78431ca8fd1af9ce7f2046119e8b", "timestamp": 1589278081, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "edd171f1fd3ce07e5edc5136132ad315", "timestamp": 1589278381, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dcb5faa91dd07567ec2b44ea5bdd4c55", "timestamp": 1589278681, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5801636050e5a8d75dcf02325544afe2", "timestamp": 1589278981, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "303884791e1977b9c94f0f10e597ae0d", "timestamp": 1589279281, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c2f880ef77e8b1279a66712d7b62ed93", "timestamp": 1589279581, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dd6de050b6d72dcf298c069f242d9b75", "timestamp": 1589279881, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3d8aaadae7808fc9659deb8b10450715", "timestamp": 1589280181, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "178d0bc0bc976797ca606440020837c6", "timestamp": 1589280481, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "356984cfdfeb9247fcd50e44e1eae5df", "timestamp": 1589280781, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2069650ed17e064b7b045a100bc034af", "timestamp": 1589281081, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eb45297c8a370cb6ddd3343c9eba510b", "timestamp": 1589281381, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8bf82d27c02899f9965f744f4f34ecf9", "timestamp": 1589281681, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6305fbce644c465e45ab969e598a18f8", "timestamp": 1589281981, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8522e2c9e65991faed59d40f7332d651", "timestamp": 1589282281, "rssi": -59, "geohash": "81d58d1ff5"}, {"ephemeral_id": "50f77ab1d6160e671a94567cd11bb480", "timestamp": 1589282581, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3d6683b9d059ceb052ab9c210d96eb73", "timestamp": 1589282881, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f27f640134c63b7375e857b8c62562a0", "timestamp": 1589283181, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "feadf527adeffc591aa026277f205232", "timestamp": 1589283481, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c88411d282f640cbdbeedfa1da51d1a0", "timestamp": 1589283781, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e3bf7c035067ef2bbd9f1c2d8a194241", "timestamp": 1589284081, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eb72ad0547b4d8749119c368be28ca27", "timestamp": 1589284381, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b116d21988c90a44a2a33e32bf73768f", "timestamp": 1589284681, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "06327257fe819bb68a577b468b6b5e0c", "timestamp": 1589284981, "rssi": -5, "geohash": "81d58d1ff5"}, {"ephemeral_id": "adc50b0fc01e4ba6608fca665712cb2c", "timestamp": 1589285281, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22d2c8584d7af119f6141cd189238259", "timestamp": 1589285581, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b30f006d69efe593d835988a6ed5e55e", "timestamp": 1589285881, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "456705ed69efc3903c63d70b8c6e5e24", "timestamp": 1589286181, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a4197832f169f1e3b41c68d094a21023", "timestamp": 1589286481, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2ea4eccc1540890341ec278c3c413490", "timestamp": 1589286781, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a8e2223335f90a146497dbde484606a1", "timestamp": 1589287081, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1ebb32e0e1f6facabaf001aaffb82377", "timestamp": 1589287381, "rssi": -66, "geohash": "81d58d1ff5"}, {"ephemeral_id": "38ff7314187389ceca03b975e2d0f405", "timestamp": 1589287681, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dfcb74670baef2fba20d7fd8922e4c35", "timestamp": 1589287981, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "69a6d10f3bf14a779d05143923bf3b31", "timestamp": 1589288281, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "83926f1bef525a9cfc15c54470465186", "timestamp": 1589288581, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "08b87e568e26e292a6d630829deefce4", "timestamp": 1589288881, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f3151126b2af4f50e4ee56e659e3e0b0", "timestamp": 1589289181, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7d118eafa194f5d658c59bf97271e543", "timestamp": 1589289481, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c05d6726f6ee2af7a15ea3837388fb48", "timestamp": 1589289781, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0027a5b30eb4e7b8d6c0a0011106ed34", "timestamp": 1589290081, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "16c5164a41fbd6a0682fa70ec9e4c9cb", "timestamp": 1589290381, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "46aa2bd5d6e8c167c9ae7ce052f68b26", "timestamp": 1589290681, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b988ac47cb4e11a13cf5e0f65f89361c", "timestamp": 1589290981, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "716c97d555489befe5a01689b6c72da7", "timestamp": 1589291281, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "037bf8e4b8015eebb646ff812b25d2c5", "timestamp": 1589291581, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa237e3de973c24f049d5f61397dd642", "timestamp": 1589291881, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "80d3448110980247d1f66bebe0167c7c", "timestamp": 1589292181, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "869ea8d65630c6affb3c70e876903362", "timestamp": 1589292481, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "68f3140b43fd2fa70a39a818f4f07e9b", "timestamp": 1589292781, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8c5d2c9b6c1d8a66ec9244d865b75f4b", "timestamp": 1589293081, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "80af16fafc5ec55d99fb211a37eb1ad0", "timestamp": 1589293381, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "476863e03ef560fe629db0fd1b398800", "timestamp": 1589293681, "rssi": -5, "geohash": "81d58d1ff5"}, {"ephemeral_id": "afb0fd29a60203c3bfaf27763e8e79d2", "timestamp": 1589293981, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7be093077289f604ae41447bf41c8099", "timestamp": 1589294281, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5bba8586ecb38d756d03ca85106b3a19", "timestamp": 1589294581, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "baa121f4cb1c77121d317d406a06a48c", "timestamp": 1589294881, "rssi": -99, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3e52d9a6fbf6799f76f67902c43e9411", "timestamp": 1589295181, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b4b2e6c996889840e4877bb083e5cf06", "timestamp": 1589295481, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "01fe636bb6d3d27bd2043e53f253acf3", "timestamp": 1589295781, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d6bf6d8ded73e9f645e69a9566d5ffcc", "timestamp": 1589296081, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "13739b2b5c5518b7dfa06fc79041a2d2", "timestamp": 1589296381, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5acb70c9b6f65c8ab6656937036ed9ab", "timestamp": 1589296681, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d75d5bcad812a64e731c2bab23ba09ff", "timestamp": 1589296981, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e4f88dea37472036af267ba17a7edf0a", "timestamp": 1589297281, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5b802ca018d1da3f10e2ce71e2835d38", "timestamp": 1589297581, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56f16b961f4b118d2af1842b1dc5e3cc", "timestamp": 1589297881, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b3f7be9a1978fb3aec9da54b052e69dc", "timestamp": 1589298181, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "17319df563fd42892d4effc845ddd147", "timestamp": 1589298481, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d258c60f4aefd9e4bc5709cf0aa99055", "timestamp": 1589298781, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7bc3fd79612f0510d6939923f4e4ea86", "timestamp": 1589299081, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0c30dc9bc25d8f0d08a6c2f051afd3fb", "timestamp": 1589299381, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4cb57a6bb6ff0fa7fc0190a9e794672c", "timestamp": 1589299681, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "38982dc2b206ca0206212c9381d916c2", "timestamp": 1589299981, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ec995d231a3cf092434053e0d092a940", "timestamp": 1589300281, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1999185d72d866c153c2d14e4aa30551", "timestamp": 1589300581, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5e1ace403f28f947332030304a4e5e0d", "timestamp": 1589300881, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2b11ae4b4ac00c26aaf5dc5a14884ee7", "timestamp": 1589301181, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "29769bcf253f8d46bd30a51dadb096ca", "timestamp": 1589301481, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1bb69daf2e5178d78105b0c70ad117fd", "timestamp": 1589301781, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "377c12a0ea4a28bfc7595d2595d0a690", "timestamp": 1589302081, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "35fa225e101c5bdd503b568ca4b93613", "timestamp": 1589302381, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ce0efcb353407404e527f557be76965e", "timestamp": 1589302681, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f4a98dcf93d8b6daab5d3b6a33691073", "timestamp": 1589302981, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6ea486e55b8f335e08d904d938c6f994", "timestamp": 1589303281, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7211d7e947364cba9b2e36e087fc09cc", "timestamp": 1589303581, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0e3545bccd10759a81f0bb7de4226f58", "timestamp": 1589303881, "rssi": -34, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2b7501e7f9277a006c6fc965622fb120", "timestamp": 1589304181, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b034ce5d97a4e50f19cf343db1713ece", "timestamp": 1589304481, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6ac676c277f126cdf3155b7418d1f13a", "timestamp": 1589304781, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e29979097f67eec4096edd62b2320245", "timestamp": 1589305081, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6542b1b29e41f08848e5fa0a583730b7", "timestamp": 1589305381, "rssi": -32, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e5c80ed766f7bdf2032da6b1841ebe44", "timestamp": 1589305681, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6c63722fb07c20898ceb7205ed3470cd", "timestamp": 1589305981, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "37ea91214c14c768eaed8639968cea87", "timestamp": 1589306281, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8b6af15ffec39d81c297ef7c1030df0c", "timestamp": 1589306581, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1b04ed61a2d9fa5a4b24bc216087c7cc", "timestamp": 1589306881, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ba6be9401ee2748b317a2ffcac621c39", "timestamp": 1589307181, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ca8c031c3d8ebc10b2d62955e05d9b01", "timestamp": 1589307481, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4572936042665e8237b87bfe7648c65e", "timestamp": 1589307781, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d6931267ba2f7212676e291b8cc24ce3", "timestamp": 1589308081, "rssi": -112, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a93636eb10dff9a97db9339bbf0e394e", "timestamp": 1589308381, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22c51d418798bbd028c7c2e862dddf26", "timestamp": 1589308681, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b3294f03684c70365d608c958e163f1a", "timestamp": 1589308981, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "38ca52a409097e4377bdfad70d7e3b7e", "timestamp": 1589309281, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cb2c9b8a6e813341045adaa328eb8eb0", "timestamp": 1589309581, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0e117b4947b74f3de0147cf905883c37", "timestamp": 1589309881, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cc085a04a38732c5c5bfba8de81291e9", "timestamp": 1589310181, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "79a280091207ca247a9581d935ddc85d", "timestamp": 1589310481, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2f108eb7be614127f6bc94a197c82425", "timestamp": 1589310781, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f51607a5102fdbf0b908360ced2b3b69", "timestamp": 1589311081, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3b36df4f20deebe0b10b97c51e7e49d2", "timestamp": 1589311381, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "89062058b3b48e228e258f93b5c196bb", "timestamp": 1589311681, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "01f9c502d0680b3f25458dba048cb91d", "timestamp": 1589311981, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eb86d08debe53fa74c953a94e354d771", "timestamp": 1589312281, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2de734903a600f4e6c8d793b41d91aa2", "timestamp": 1589312581, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b637714416b2dbcdcc9b50db0a1f3b63", "timestamp": 1589312881, "rssi": -96, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8220f44cdeeed053c83405f198c882de", "timestamp": 1589313181, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6c6e3de54a76faabc585228e4dcdaa3b", "timestamp": 1589313481, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8762d84a543f2ffd83f6def5ce686f85", "timestamp": 1589313781, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "758f66e1d76fbd2ac9e43a53fd96b887", "timestamp": 1589314081, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e409db5c62fad01a0b0b21810c7df2d4", "timestamp": 1589314381, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "86e0c0d34822e0b8bff8c265d71b52e4", "timestamp": 1589314681, "rssi": -66, "geohash": "81d58d1ff5"}, {"ephemeral_id": "12ca73e63925227931aa21d139e1cb4d", "timestamp": 1589314981, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0330185d6b1ed148af9ecb500ce14c33", "timestamp": 1589315281, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fd6fcce4825b07c9da88e7f46fcb349e", "timestamp": 1589315581, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ec1ea71122123861104602eda551caf1", "timestamp": 1589315881, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "36ea7a43e4891885b1e2de6c9cd44e44", "timestamp": 1589316181, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1660dce543264fa54e6614f461158148", "timestamp": 1589316481, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6561ce0ad313cb54bfa280fdaf587cb0", "timestamp": 1589316781, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "37f69df844c9027718235c2094387007", "timestamp": 1589317081, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f758c1e4e54410903c486adc77f537d9", "timestamp": 1589317381, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d706e8f438b0067ad02ecbb01f7e79d", "timestamp": 1589317681, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "335c9aa63b705316db0728e12cb8612c", "timestamp": 1589317981, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7e8a24e90414e3f7ecdbff9d661eaf82", "timestamp": 1589318281, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0fd97b686c6c1f5194863f9a12c6b1e0", "timestamp": 1589318581, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c8bb8d871cfa6a3f42f8d771a5b1ed93", "timestamp": 1589318881, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "810b611895f578dd6873ecf437b737b4", "timestamp": 1589319181, "rssi": -20, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3dba5648bae65dd1989e446ea5cc6fc4", "timestamp": 1589319481, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "973a679e6abcebe41da763d3364a0f1e", "timestamp": 1589319781, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "71a67e89776fc915711b76aed70858ff", "timestamp": 1589320081, "rssi": -88, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3bfc3b7b1c5e498ca299b98763f0b3af", "timestamp": 1589320381, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "da8bf64b21e28fb0c024ff59701726d5", "timestamp": 1589320681, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "74d5eadc9452fd40023863e7517bf719", "timestamp": 1589320981, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5d048be0aa4515c460deb8f0dc76aed4", "timestamp": 1589321281, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "16e31d48de0674e6fca624e0ded71506", "timestamp": 1589321581, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ac42e5de9a9e94aecc08d82edaeae102", "timestamp": 1589321881, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cf11da46fcfa9de4b40ac9c2a4a9b8e7", "timestamp": 1589322181, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3f59b63c76f685525289b493d0caff7e", "timestamp": 1589322481, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6ea78160929432341580d1fd4afd36fd", "timestamp": 1589322781, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "15fac95e40b4e85c9596a9ded1543170", "timestamp": 1589323081, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6a4d7cba96004f180fbaf90fd228d6cf", "timestamp": 1589323381, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c3abe70d655484df3a364511302c045f", "timestamp": 1589323681, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ad36b55d65cf6d8a6bda0f131e3bfc8c", "timestamp": 1589323981, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "15019550b2f87585611e62fb7f3a22a6", "timestamp": 1589324281, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bd080a17ddab70fa53dc9b15bc8f5ff4", "timestamp": 1589324581, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e2b65874c2cf62c9ea66cc65064fe8fd", "timestamp": 1589324881, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8cbb993a010afe02eb01143987593245", "timestamp": 1589325181, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c6d6d76c1e0ab55acb18009e8bf216d9", "timestamp": 1589325481, "rssi": -106, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d2f11541719a46411d0cbfa9ce8489aa", "timestamp": 1589325781, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "91338bd3cf5aa2f4bfe499803848ecf0", "timestamp": 1589326081, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f5fbafabe204b91e9a520d665ebad49b", "timestamp": 1589326381, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa60a72d24e410f4f129748eebfc5835", "timestamp": 1589326681, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1d1b168dcb16627e1dd8798f1f47bb66", "timestamp": 1589326981, "rssi": -28, "geohash": "81d58d1ff5"}, {"ephemeral_id": "41ae3050478aac143ba278b9551393fa", "timestamp": 1589327281, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d184cc5bfda257edcad42b1baa455493", "timestamp": 1589327581, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aef7d5fe9a6fb8df5bf3fb093645d130", "timestamp": 1589327881, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9284d7bf63b5de1f1a51d6dee5172971", "timestamp": 1589328181, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "be98873b49eb8b839c3a782f2fdcacc3", "timestamp": 1589328481, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "709521d2121bc6de2a3d05b9582acb66", "timestamp": 1589328781, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9e9dab2a98171a7f8e202801ada0015e", "timestamp": 1589329081, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c1a12811cebc6eceef5b250c94935e41", "timestamp": 1589329381, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c1b569a848ecdce617d8ba84e98db85f", "timestamp": 1589329681, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2d8adcb94a1f8c1c5db8311cc2b7e803", "timestamp": 1589329981, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e841859c93258ac504c045ac218388ad", "timestamp": 1589330281, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "331b9a2462374528b82c22cd6e12aa91", "timestamp": 1589330581, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "73c57f8b39073a68d884ba1bf7410389", "timestamp": 1589330881, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "76a504c1aaf38e6f6ee6ccd308ec7e5c", "timestamp": 1589331181, "rssi": -112, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0cc68ac806f47bc034385019b1068a59", "timestamp": 1589331481, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bf640b5a8694fec8703f34747e0130a2", "timestamp": 1589331781, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "80e3c0b4e2c054b7c2532d5fdf868d61", "timestamp": 1589332081, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8645e49482359745a8bcd3a24043df86", "timestamp": 1589332381, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1ae43d0c9f0e16c7be3a2301522e9b6b", "timestamp": 1589332681, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "94d23ab9cf40bc43757538c0581289fc", "timestamp": 1589332981, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e370de628927534c9826d8a80d7dca90", "timestamp": 1589333281, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9c431b8b49c5b52d9f97a5bfc196e522", "timestamp": 1589333581, "rssi": -99, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f14074fa30107457a5b9ac2e043fa93d", "timestamp": 1589333881, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0257f17f4ac1ad33f3ad52e86a079db9", "timestamp": 1589334181, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3c390903d0083add4b921311e59a768d", "timestamp": 1589334481, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "35cb24af7534f772f08c1444e16ff64a", "timestamp": 1589334781, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b199c1c21c25f3290a2e219de708d68a", "timestamp": 1589335081, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "05561a421a291268d7a1aca0c379ff71", "timestamp": 1589335381, "rssi": -34, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7679abf598065e5e5dc02daad9f9b624", "timestamp": 1589335681, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8a684e67cf4f583e1d410a2ea36de296", "timestamp": 1589335981, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "790a468064f53de9aac89c1534575bd7", "timestamp": 1589336281, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b8b90096093e84ce41d9973201f9e450", "timestamp": 1589336581, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d200259dd93f9c2f3a442f1d538af423", "timestamp": 1589336881, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8182cf922d64cd2145a2835c744880ff", "timestamp": 1589337181, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "44ab91b1253b1bf9bd575765e7e8dfbd", "timestamp": 1589337481, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d66560f4a11682a265a016389bc2392", "timestamp": 1589337781, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1502f659107f075eae588f7bc7b2c546", "timestamp": 1589338081, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c10e282b64b64111d1d8d962aad6cef7", "timestamp": 1589338381, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b39fda323f7f16aad8e351810e054214", "timestamp": 1589338681, "rssi": -20, "geohash": "81d58d1ff5"}, {"ephemeral_id": "49ec0c5be6a4a2a8bb5d79fabcc7d8c5", "timestamp": 1589338981, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c699458dfdb558fd143f6b64a5836bb2", "timestamp": 1589339281, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "754238c3cab1e53d843691b9aec3e86e", "timestamp": 1589339581, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "217d43b250e271dbe20781cb9906445e", "timestamp": 1589339881, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "59cced15e06512c84f9b520450183597", "timestamp": 1589340181, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fe3d89cc18725d03a5d77a7269200425", "timestamp": 1589340481, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3bf884d9271ab22adbcd29dc24136d79", "timestamp": 1589340781, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9a4f7d530e0c049058d6d3209187ba2c", "timestamp": 1589341081, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c69a786426d4ade33ab2921a869b1263", "timestamp": 1589341381, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3ce5443cd70570ce6b3a842cf5315121", "timestamp": 1589341681, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1d59d3f1e53e89c99e0f6cd532be0434", "timestamp": 1589341981, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c78bbaf4a185f8a62f4862a599f28118", "timestamp": 1589342281, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c4f515ac5f25a298667061cac0fdafd9", "timestamp": 1589342581, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9a7956b4485cd513737d38125e6649ce", "timestamp": 1589342881, "rssi": -28, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fe2c074daa056ef280dfd1de5f68672f", "timestamp": 1589343181, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3b378eef5ac25cebe6a9ee56fa3da6e8", "timestamp": 1589343481, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b8e0303f07a92da0566c8e95097a84ba", "timestamp": 1589343781, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6144c2baaf25d5614cf3230a563d7583", "timestamp": 1589344081, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f1fcbe8f39510b63c84cc50353f3ae06", "timestamp": 1589344381, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e8dd23f5a71c6a073999d3988c5909cc", "timestamp": 1589344681, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "081d5730325d01a34eba445a0a25678d", "timestamp": 1589344981, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e79a266acdc8e2ea11ed10aa9dce43da", "timestamp": 1589345281, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "629b185642d1395198ffb1ac10214b66", "timestamp": 1589345581, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "886aeb2f19faa31b27f409f1128b3d2d", "timestamp": 1589345881, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2a74c22a519de2ba71c76f11a5da536e", "timestamp": 1589346181, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "20760e689b826a4bd4f34f6722c7a587", "timestamp": 1589346481, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1c30c44867a076ab955cbed8b40f04c6", "timestamp": 1589346781, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "27f9b0ef09626c47ea20de1cba636b05", "timestamp": 1589347081, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2068ef34fbfce49858cdd69377fc2624", "timestamp": 1589347381, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8a5ee41ff197be7ffd3a0776691f9417", "timestamp": 1589347681, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "836bb3290d6a08c87ec98e147681162a", "timestamp": 1589347981, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "98fa8212d5214f52b8d6d0b04b67f2b7", "timestamp": 1589348281, "rssi": -5, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c7ef7f30a6fde9bab2ebe6ebfb493493", "timestamp": 1589348581, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a9bd78fe205d851a871fcaf60193ca23", "timestamp": 1589348881, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "276d6c195049c81bf6eabbbd33089039", "timestamp": 1589349181, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e9eac8ce90202a7a1a78f3365603d5b2", "timestamp": 1589349481, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f80c29e4d3031198425b7ae22ca1b9e7", "timestamp": 1589349781, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d2c06b1f185892b1c63b6f5524149f8d", "timestamp": 1589350081, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7bb4508c80cf48f86d24d49cf281ea8c", "timestamp": 1589350381, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4f2111c4051163535d0fd02185947229", "timestamp": 1589350681, "rssi": -61, "geohash": "81d58d1ff5"}, {"ephemeral_id": "60a68dd316cf3bd75fa310a56172e0d2", "timestamp": 1589350981, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a52655cc50a82a6500c135fdde0f5e7a", "timestamp": 1589351281, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7438a31d87effb60c5abf21da6432078", "timestamp": 1589351581, "rssi": -34, "geohash": "81d58d1ff5"}, {"ephemeral_id": "45350d067cbf2493be65457f19abafad", "timestamp": 1589351881, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6166ff1f135e2dbec9edf2efc02c877a", "timestamp": 1589352181, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "435867ba327bdafec69e4ff6abf2e76e", "timestamp": 1589352481, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4ff795478ef881a02f3a405903b3d3cb", "timestamp": 1589352781, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "94af98eae6d44216dec89c24bc77ea0a", "timestamp": 1589353081, "rssi": -107, "geohash": "81d58d1ff5"}, {"ephemeral_id": "eae32966e36b26f00ba0ba6f751e412f", "timestamp": 1589353381, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aa374599215798cba0662273c85312fa", "timestamp": 1589353681, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9a61b57bc8e6c01534f5f55e7ef84965", "timestamp": 1589353981, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3a85c8acd8ed69836d1fa14fba1bbe18", "timestamp": 1589354281, "rssi": -47, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0ea879750cd0b34ef46f00325679437d", "timestamp": 1589354581, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "80f7cd6580e1562b4dcdc7e2ebf01e19", "timestamp": 1589354881, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "45e8e43defd54cef24cc53e18a38b0cb", "timestamp": 1589355181, "rssi": -103, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1263ae0810ba9cf69ce31d613dca688f", "timestamp": 1589355481, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8ec1915753a9c17f248ebfbaa638f845", "timestamp": 1589355781, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b5a29e685d7f299692e9d20a23cdf5c7", "timestamp": 1589356081, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2874f93cb5feba9fabbd60bc446520a1", "timestamp": 1589356381, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2f2707302657889617565a9a17830d81", "timestamp": 1589356681, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1a1c465e923ffabc9475d084d9d25faa", "timestamp": 1589356981, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a9da2f14d40b22229831571b91c2720c", "timestamp": 1589357281, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "acd98a69b7f339964ecc54a86e709853", "timestamp": 1589357581, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "22607e089ed4ba1c0c056f7abf66df2f", "timestamp": 1589357881, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ba1751ed0b7bad12a418796d71b57e6c", "timestamp": 1589358181, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2f8def82a4742fb321d200f26bfc29f2", "timestamp": 1589358481, "rssi": -38, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f270bd42c206e77b4af48d177d5c8893", "timestamp": 1589358781, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b956bde11910a4a53b4972a325c8e649", "timestamp": 1589359081, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "495a79b1da3ae848eb5e2bc1540a13c5", "timestamp": 1589359381, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5ec0f9e1d12c1d81a2a9bf9bc46a6a55", "timestamp": 1589359681, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1943aebcff55d8370760aef011f7334e", "timestamp": 1589359981, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e11003f896eb5cf920bf4661558171d8", "timestamp": 1589360281, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "868b9d077caff691df0bd6c97bff1f35", "timestamp": 1589360581, "rssi": -58, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b918664ac98e3c56e2bb889adbd84d9d", "timestamp": 1589360881, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3357b8f818243cd64d37250da9a715a3", "timestamp": 1589361181, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0104392f48c9721235d9f7fde027b0d5", "timestamp": 1589361481, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "05040edb6d2e9aa57161ec88ca3b7cd7", "timestamp": 1589361781, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "adea614a260033755655ad3f9c94b362", "timestamp": 1589362081, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a9d28a29541a18fdc92a18cc2e1d1354", "timestamp": 1589362381, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4331f4cea43ef37a7f3ea52dbe19b601", "timestamp": 1589362681, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7a56bd9191cfe20f37f3af9446bad00b", "timestamp": 1589362981, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5f17926126e51817a328ec294edf3721", "timestamp": 1589363281, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "852ed7cc14108d77dd8ba80205e4cab0", "timestamp": 1589363581, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cc9d810420614fe379ea7a492bced637", "timestamp": 1589363881, "rssi": -66, "geohash": "81d58d1ff5"}, {"ephemeral_id": "47e3dc91fd5bff8f7abdedc15805d60d", "timestamp": 1589364181, "rssi": -18, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5ec3292d8d1bb0947df75d4b3fbe04db", "timestamp": 1589364481, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "01452b435687dc0fb3400632f44c92c5", "timestamp": 1589364781, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8521d8d79142fc3b8403a2ae5b12dda3", "timestamp": 1589365081, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1623abe14dcc8a908d1134071e35c245", "timestamp": 1589365381, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "242582651ef6adb3c124f59a56c36080", "timestamp": 1589365681, "rssi": -80, "geohash": "81d58d1ff5"}, {"ephemeral_id": "53a6ed2ec89fb12e2c6ff3132c982d88", "timestamp": 1589365981, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "16ad5a874a1290e5cf84d3d91c9aeef7", "timestamp": 1589366281, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f20fd6f8585854fb2d1ca4325a5b087b", "timestamp": 1589366581, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6a515d1cefbff25e036c03441a830122", "timestamp": 1589366881, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c6011e525af302b303cfc01fe0acf9a7", "timestamp": 1589367181, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "36721a75bd04c7867006ed1c35d74e65", "timestamp": 1589367481, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a830839f60dc5dc518de41091e4a171a", "timestamp": 1589367781, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cb29348db3ea54b2274625ab8014674f", "timestamp": 1589368081, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bade0ccfd88a95369f26fc1879e03899", "timestamp": 1589368381, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "910b808d8eb2b72feae01102256d252d", "timestamp": 1589368681, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "36509b23f592f2ed039aefa2d3aaeeda", "timestamp": 1589368981, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0e35a28afba1fb33f2aeb79d6681337b", "timestamp": 1589369281, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bc86694e642718e7d11877e16978d25b", "timestamp": 1589369581, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bc5246c9f0e13a7147c39f461274e387", "timestamp": 1589369881, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2218aad5e2eaafd7a09e05696dcc8524", "timestamp": 1589370181, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "85b2ea4849b8827816973101e35a00f1", "timestamp": 1589370481, "rssi": -5, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d032eeffea6b48f4efc3bffcfd8489db", "timestamp": 1589370781, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "901698d8fcf73bbdd01abc8b73ada484", "timestamp": 1589371081, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "82937220df3d9d2829af2952dee857ff", "timestamp": 1589371381, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1e07da49606fe73913b3ae2ab2ca72ba", "timestamp": 1589371681, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f290c8b05bbd4a1a3df13592cea3a769", "timestamp": 1589371981, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56dfd36cf442e715932d9988c973d233", "timestamp": 1589372281, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dd22ea87d19b3e1750fd9f58b5d7fbf2", "timestamp": 1589372581, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "be5011ab0ec40d96d762738db666619a", "timestamp": 1589372881, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d07ba54db47c8c6c3719b961272376cd", "timestamp": 1589373181, "rssi": -57, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ac758b8e7b049e4883126b1017638632", "timestamp": 1589373481, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5b67a5fe3e3eb724e4d95147e8fe3b1b", "timestamp": 1589373781, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "79cf43797dea8a4adfd766d1ead3daf2", "timestamp": 1589374081, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7b527c6ac4e02490b5ce70d8e71ea78a", "timestamp": 1589374381, "rssi": -19, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6c8c7a807c0b98c171f0b1d966902ed8", "timestamp": 1589374681, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "233ad15490264b36765d752f82e8b890", "timestamp": 1589374981, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aeb8a3da3c92dfca3050883968803099", "timestamp": 1589375281, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2a810933d1bd2a02eb7712e006407de1", "timestamp": 1589375581, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d50ba7c73f2e2708655f20e3eeae6db6", "timestamp": 1589375881, "rssi": -70, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d3a69a01b50d5d54754781485bab8f22", "timestamp": 1589376181, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "83449cd7e020406ef6ca4ffbe4f404b8", "timestamp": 1589376481, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "680db31fea064c0a8e21e373023fedc3", "timestamp": 1589376781, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fe7a53f15b7833e520b26a0f28e0de6b", "timestamp": 1589377081, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "268779343e1112674bd1695ab7b673a8", "timestamp": 1589377381, "rssi": -76, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bdc1786e4ceda4086af079c23bc94174", "timestamp": 1589377681, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "789c785116cedef0d09eed0b32ef16dc", "timestamp": 1589377981, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "41a2e1bc2d46002176ec67e0a6d95693", "timestamp": 1589378281, "rssi": -59, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8d521b8cfd467a0dfe77d2d36dd47d14", "timestamp": 1589378581, "rssi": -64, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9c159fcdad4bfdc16e6efbbcf679a7b1", "timestamp": 1589378881, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f825e5d5a9658b0bad6a0d62413f69df", "timestamp": 1589379181, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b73cba72523643e61177ce1c2d20680", "timestamp": 1589379481, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6fceacf2277fc3eedb115261bd2a4af5", "timestamp": 1589379781, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f49cde02856ac6e9f7b86a477720f994", "timestamp": 1589380081, "rssi": -11, "geohash": "81d58d1ff5"}, {"ephemeral_id": "482363c62c33926e0192aa512a428532", "timestamp": 1589380381, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "718e41fb2348261cd28cf4fd16bd4cc5", "timestamp": 1589380681, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a5d9b5529f282b3fa3c36b08bf14dfc7", "timestamp": 1589380981, "rssi": -7, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4c644e5f99ef0fd5110fe13471540861", "timestamp": 1589381281, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "10368fdd574f004bbf21188357c98a98", "timestamp": 1589381581, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "40e4bccf817319e6335216cffb3e21a9", "timestamp": 1589381881, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3cd53f8c0d5a02230c45784c26c2929c", "timestamp": 1589382181, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a21e6754932bae0e6a732e3c15c28083", "timestamp": 1589382481, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a43b73aa1cd91501c3c4c370b3eb3242", "timestamp": 1589382781, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bb1f88eb203f5256718c04b03335dcfc", "timestamp": 1589383081, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "93a06e3189cbb2829204ae197c5bf084", "timestamp": 1589383381, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5879fae7ae08510c1d668f22e4593c37", "timestamp": 1589383681, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0cf0de0f20c0b08853ee48eec795835a", "timestamp": 1589383981, "rssi": -39, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5cb338984cd04928d87eae84264804e2", "timestamp": 1589384281, "rssi": -115, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f3ee488c78546a1cee1e455ad91f7a1e", "timestamp": 1589384581, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4d062c55ef33f035c35d884fe5706855", "timestamp": 1589384881, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "080ec4017f3050b3ec77a51f9a7e90d2", "timestamp": 1589385181, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a11aa1655cdfc3adb5d80dda9deec4c7", "timestamp": 1589385481, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7c05a5abbae71f940834ab0dfda2788d", "timestamp": 1589385781, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cdfa2cdc830aa047b60442982f03df16", "timestamp": 1589386081, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "20925630afb7d1637b0ed7eec75ad715", "timestamp": 1589386381, "rssi": -112, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d04f90083781588fd4228fecdfb6a4ce", "timestamp": 1589386681, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "265f6a29799d56ec77da4de26914f2e5", "timestamp": 1589386981, "rssi": -71, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9dccdb37cfe335cf65a700c3ca4abbca", "timestamp": 1589387281, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2184c2d7bf7c464b32352daac3908466", "timestamp": 1589387581, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "206ae3c79c22ce24f486fc12264e6b1e", "timestamp": 1589387881, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "57bbec4726e0e66c7e41faef20230066", "timestamp": 1589388181, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56de989a83d660be10e20fc95cb6238c", "timestamp": 1589388481, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fd848dc6df7e764ff35a27af40a7ba63", "timestamp": 1589388781, "rssi": -61, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1d5e7550f84baf27252525e6e1844777", "timestamp": 1589389081, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "31d602a34d818dbd10f5e8d260924e7a", "timestamp": 1589389381, "rssi": -117, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cdf30c8ac579ed3e53782a4abf1a3e52", "timestamp": 1589389681, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2abbc36df2d0b4fee9bef03e71813a48", "timestamp": 1589389981, "rssi": -59, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5520cd6305d6443bddb061e40971fca2", "timestamp": 1589390281, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d06b6172958a56fd59d872e9abeff5b7", "timestamp": 1589390581, "rssi": -6, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4926f5de88897ba2c34dd7007f75c97b", "timestamp": 1589390881, "rssi": -19, "geohash": "81d58d1ff5"}, {"ephemeral_id": "97a2a0d1e946a2575e90510b94b90e88", "timestamp": 1589391181, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b6f8d2addb164cb3922f690207367d4e", "timestamp": 1589391481, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bebb5010eed4e292dbc08fe2d23144d0", "timestamp": 1589391781, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7f5261de6d62bae89e568ee026f2e0ee", "timestamp": 1589392081, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2f195edd6d2e6fa786512480169bb6e8", "timestamp": 1589392381, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a93e170ed6ab3a5802dfb18629561efe", "timestamp": 1589392681, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e2b0b6db213369625df9af6bd3b8cd33", "timestamp": 1589392981, "rssi": -50, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8e4dcab27d6f8dae1561c71d877b6d0d", "timestamp": 1589393281, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bd3813371d5f276c86102304b6b9982b", "timestamp": 1589393581, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5cf0575a456e4fdba7e32db5ae8180d1", "timestamp": 1589393881, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2e6948111825872db7438dabf7881d0d", "timestamp": 1589394181, "rssi": -20, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8418b43759d6387135f84f55a83a2613", "timestamp": 1589394481, "rssi": -3, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d6f64de3b74d966b01fd4dd662df1303", "timestamp": 1589394781, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56e69624bc47e37dc2cdfdb4fc90fd82", "timestamp": 1589395081, "rssi": -94, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c5491130df6c9ab910246ef152a501e0", "timestamp": 1589395381, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "76342afa31134a5da3f506f57a7fec08", "timestamp": 1589395681, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "19a78cf3b7cc76aa463593ea79f346a7", "timestamp": 1589395981, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "16a948d25245dbe7da11281f440e0af9", "timestamp": 1589396281, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "451549d4521baeae382759fc8bf7640a", "timestamp": 1589396581, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2d60c4a2574f18701f8502d435cffe65", "timestamp": 1589396881, "rssi": -99, "geohash": "81d58d1ff5"}, {"ephemeral_id": "25b7b00471d3144a262f4fd9541f7e60", "timestamp": 1589397181, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5db38f85120042052ae324d08cc64d1a", "timestamp": 1589397481, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c3320e4edd7cbe788007c7854a5feebf", "timestamp": 1589397781, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e4f356b3fb635832c8ef13706ef5469c", "timestamp": 1589398081, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3e8886f5f845822f7dea2a0a49be5b4f", "timestamp": 1589398381, "rssi": -64, "geohash": "81d58d1ff5"}, {"ephemeral_id": "95139e4ea1246212486686e584bc824a", "timestamp": 1589398681, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b8e25f4cab711cbcfbfe43cafc74803", "timestamp": 1589398981, "rssi": -30, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aa223d74dcc266636914007780d715e4", "timestamp": 1589399281, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8158fb1d8891db21e2192fe0c97befe0", "timestamp": 1589399581, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1e139400278008e63da8d53b3119f476", "timestamp": 1589399881, "rssi": -66, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7d5908743a57ef4df19047670a2a5672", "timestamp": 1589400181, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "08f4d4d01420eb8aa0be7ecbde162a5b", "timestamp": 1589400481, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0c0edd74b4c38b319539e01d797e8a83", "timestamp": 1589400781, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "504c9fdf472db245c9c00f79f0aed006", "timestamp": 1589401081, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c9baf3705365a81ff2be3a3937a4866f", "timestamp": 1589401381, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1577196729d6238eeee0faff47d810f9", "timestamp": 1589401681, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "128f5239072c535fc974947027cb22ed", "timestamp": 1589401981, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b82fb68fcaaa697dd6aa72526cd3b51", "timestamp": 1589402281, "rssi": -1, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c2ba979f5b0d0219d914ea81952ed0bf", "timestamp": 1589402581, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "02a0090e07d0ae10acc5bb9d48e1dec9", "timestamp": 1589402881, "rssi": -37, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa2c1b9ef81bf1946b1ec696a8086922", "timestamp": 1589403181, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "579b091501fa2b7e59836e476286a32a", "timestamp": 1589403481, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3e21b9218b45c46cdbba5cc988566a00", "timestamp": 1589403781, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d7774dd56cebcea2a9d0e05a66cdb9b2", "timestamp": 1589404081, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a45e9f3bfeb99550cc42415f8208bc94", "timestamp": 1589404381, "rssi": -61, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f711a6b708cf6cce7dd0f2975e681003", "timestamp": 1589404681, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e1cba17ae6fc06fb6d68a226dca263db", "timestamp": 1589404981, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "799bce266e733bab38d2b59656cf251d", "timestamp": 1589405281, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "662af9bc0fb449088b6fec8e6c4cbda4", "timestamp": 1589405581, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c92b92ebe232749b25fa873d9f82836e", "timestamp": 1589405881, "rssi": -69, "geohash": "81d58d1ff5"}, {"ephemeral_id": "52d5f8fde38a274e77f366e05a6c9eb8", "timestamp": 1589406181, "rssi": -26, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e6c384c835ecde2c63e45cf35758db46", "timestamp": 1589406481, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ac6bc2b69456853f4e63a69b628eb994", "timestamp": 1589406781, "rssi": -12, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ede7f435fef5cb6ee623c2e85db139f8", "timestamp": 1589407081, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2088c7a4c64b58b92751617781f9b385", "timestamp": 1589407381, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "723ba86aeec57d35e45db96eba1fd33a", "timestamp": 1589407681, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f9643b5875b4dbd2cf9a025e8c887328", "timestamp": 1589407981, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bc5d0e617c5905b6794822375c58af9a", "timestamp": 1589408281, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4f5afd24fd16f1c1cb149cb0a2805130", "timestamp": 1589408581, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2041ab1e229bdb1432adb665565a937b", "timestamp": 1589408881, "rssi": -89, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a4a941f1c649e26e816765518d427867", "timestamp": 1589409181, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "895b7d2881e55f68a8e138a71b72bf16", "timestamp": 1589409481, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d847dc6a85855d02aa8e39ee3c2718e9", "timestamp": 1589409781, "rssi": -78, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b8a804dc2eed24a0bbc4e7d274acdd09", "timestamp": 1589410081, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1dd8a681b546794799e6b413b4463297", "timestamp": 1589410381, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b9de70157f0a9333a362238033609ef8", "timestamp": 1589410681, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8186719d21a1db5f789baa1acbff0092", "timestamp": 1589410981, "rssi": -91, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3917b6f8f64b8a9b5b4a68fc687ea2e5", "timestamp": 1589411281, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "52804de2c198579def44b6afd4d68f59", "timestamp": 1589411581, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e709f0ba447af16f659f8a3bb1c37a7d", "timestamp": 1589411881, "rssi": -21, "geohash": "81d58d1ff5"}, {"ephemeral_id": "69c9b704a108c0bab4114371349e6d66", "timestamp": 1589412181, "rssi": -19, "geohash": "81d58d1ff5"}, {"ephemeral_id": "66c21f217f78e1cae92dd698b29cfebf", "timestamp": 1589412481, "rssi": -28, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d06df6999040cabd1b16cdf13e122296", "timestamp": 1589412781, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "73123d572a3f036828f8cc51ced57ca4", "timestamp": 1589413081, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9cb7ae71ff8ee83031d95385fc7c99c4", "timestamp": 1589413381, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aa8786a73c5fe90888c7d5b79ab1b649", "timestamp": 1589413681, "rssi": -28, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a1ecff34c3bf377d4ecfb61462922958", "timestamp": 1589413981, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "24366533aff8cafddcba283f6358567c", "timestamp": 1589414281, "rssi": -88, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1ed75f439a3f0572eb3a2cf66b2771fa", "timestamp": 1589414581, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "50ffa48b15ac98affbc47e3ffda720ff", "timestamp": 1589414881, "rssi": -51, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ff4f127e4a0f0d3c382a702a282917d9", "timestamp": 1589415181, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "70becd7b0801569c180afaa5252d65fd", "timestamp": 1589415481, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3ac4719626afd48d796eb3aa0743feef", "timestamp": 1589415781, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0eeccf579bb22e53e58760750ad5d647", "timestamp": 1589416081, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5408f213795eeb9f9c6dcc90a19729ed", "timestamp": 1589416381, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0e6089297b5acccf8a798ed1713428bd", "timestamp": 1589416681, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e57ea22a9f99a94e1d95f1704071fb75", "timestamp": 1589416981, "rssi": -85, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1f69feb0cd53563feb40aeb57e199ad7", "timestamp": 1589417281, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "45ea2639bc5b169ba8e59ad6960d5ca1", "timestamp": 1589417581, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bb41596678f20077a7e71b1476fbd1e5", "timestamp": 1589417881, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "17c92b6ee6a9de8742912f90e57e1f4c", "timestamp": 1589418181, "rssi": -14, "geohash": "81d58d1ff5"}, {"ephemeral_id": "321cc70305bc3d50cc3961538d78eb87", "timestamp": 1589418481, "rssi": -114, "geohash": "81d58d1ff5"}, {"ephemeral_id": "cefa977e47aa0d8fcceb84dfc8c23ed8", "timestamp": 1589418781, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9b87eabe7ada738f83fa883758c86a0b", "timestamp": 1589419081, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "efe0b7aeb1c0d907d48e2485039b2f25", "timestamp": 1589419381, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e8b546c00083934c5724d08ac1d4935b", "timestamp": 1589419681, "rssi": -119, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fcff38ed9f20bf3eafefaeeb48d05b24", "timestamp": 1589419981, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4a991f46f92bd2039c32cc15b14cb5f5", "timestamp": 1589420281, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bd35174e88624555cc47c97e57abf3ff", "timestamp": 1589420581, "rssi": -112, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fc7c75764b81e7f6f7bc9afeb1614773", "timestamp": 1589420881, "rssi": -55, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fdd51723ab380b5348e341334a98f76b", "timestamp": 1589421181, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2b75ce7933c09d1efd2ce546c2f71195", "timestamp": 1589421481, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d639bb0c489c6f027db2065d20d2c81f", "timestamp": 1589421781, "rssi": -15, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5a5c35526e894f13f62a3b63aea5bfea", "timestamp": 1589422081, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d230553482d6213e9c7b638f52f60347", "timestamp": 1589422381, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1aa46592251b2bbc08e744fb1a3e2348", "timestamp": 1589422681, "rssi": -45, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fa874932f12acae9e2a15f677539daab", "timestamp": 1589422981, "rssi": -111, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6a6678620a704e2b2d8a0420dd9ec726", "timestamp": 1589423281, "rssi": -116, "geohash": "81d58d1ff5"}, {"ephemeral_id": "465831dda4130f5ebda3f2393f6eff9d", "timestamp": 1589423581, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bd58098e52bf2e06c86e3e2a70a626ee", "timestamp": 1589423881, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c2360accaa310dc1779f725afa392472", "timestamp": 1589424181, "rssi": -5, "geohash": "81d58d1ff5"}, {"ephemeral_id": "142237bbc02c4a02b9849e6bbefd6918", "timestamp": 1589424481, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "70d57c52b29137e7d45636558ee95bc4", "timestamp": 1589424781, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1ffb818f99163bd300243d29c94f4f1e", "timestamp": 1589425081, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "59a54974e65f4144fc4fcb9d435884fc", "timestamp": 1589425381, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1555171eefad117946bd265d7c821f36", "timestamp": 1589425681, "rssi": -8, "geohash": "81d58d1ff5"}, {"ephemeral_id": "58bb1f65a5a2a20cca3f1e9059dd6b84", "timestamp": 1589425981, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "99fd49ebe31f57c1e3f39faa2d11ce10", "timestamp": 1589426281, "rssi": -118, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c524ea4dba96b2b5f7a09b35fb85da7d", "timestamp": 1589426581, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ded7d951c1a18cb14ffff112724683b0", "timestamp": 1589426881, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fb6e2bc734166130323281b8e017cbe4", "timestamp": 1589427181, "rssi": -84, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56f9e018c330b6b4e7e826b9b937716f", "timestamp": 1589427481, "rssi": -10, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3622fd71e904b13ebfb8af25a0cf91b9", "timestamp": 1589427781, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dff5c277acdf57c29b7ef3c108d6e1c1", "timestamp": 1589428081, "rssi": -98, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3bd09ae07d840e381a6c055a31ed2136", "timestamp": 1589428381, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e2f5a60e6659a1379f8fd2c2ca3acd28", "timestamp": 1589428681, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "1e45f393842612a9170787ac9506d079", "timestamp": 1589428981, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5bd0700616a651de5331385c06cc514e", "timestamp": 1589429281, "rssi": -27, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ce886c86ef0063bf9254bdfbfd3cf688", "timestamp": 1589429581, "rssi": -41, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a515345c0e30ab660698743e114a8933", "timestamp": 1589429881, "rssi": -109, "geohash": "81d58d1ff5"}, {"ephemeral_id": "87390878d461c70564fca3f704a12156", "timestamp": 1589430181, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ea22b5605d014e75760dda22035bd7be", "timestamp": 1589430481, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8158e2039449f58a2b71a7b1d4ee2065", "timestamp": 1589430781, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "32ab17463fae3f89247a258634c23ae5", "timestamp": 1589431081, "rssi": -111, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0959a78375811996a124cbecb8be370f", "timestamp": 1589431381, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "de80f337587360ba43e8ff815b0518bc", "timestamp": 1589431681, "rssi": -81, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c0490b8afd2818a4aefbc4026e4e432e", "timestamp": 1589431981, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a5f3cdcfcccf9f80f41b76ebdeb1f4bb", "timestamp": 1589432281, "rssi": -49, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3507c360946a4fce2f1c0330eb08ac7e", "timestamp": 1589432581, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "833fdf1ca09eb9a77c016c11491fed9b", "timestamp": 1589432881, "rssi": -79, "geohash": "81d58d1ff5"}, {"ephemeral_id": "47edddb837012f0311fb61d2e39f60d2", "timestamp": 1589433181, "rssi": -35, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4cfe583b5ad349f1f1cb4f415b529245", "timestamp": 1589433481, "rssi": -60, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f775c38c1e2bfb0dc3ecf47f901b7357", "timestamp": 1589433781, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ed0694a8df30bdf32b9e89c6939b16bf", "timestamp": 1589434081, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "56182e276b1e1d0eebea778b66960100", "timestamp": 1589434381, "rssi": -44, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a7de1da4326b3efdd2ed63b58fd48128", "timestamp": 1589434681, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "99fcc77357e2888f40a13c7e9bd64e41", "timestamp": 1589434981, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2245a28fe07fb31dabdc59c5dcadb00f", "timestamp": 1589435281, "rssi": -56, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a90e8497b97fde9bf9c8a58595d3c4d2", "timestamp": 1589435581, "rssi": -66, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a1ed1f9ce550668a6d1e95b296034e41", "timestamp": 1589435881, "rssi": -48, "geohash": "81d58d1ff5"}, {"ephemeral_id": "aa45797fcb5593025f72a691f0e87b20", "timestamp": 1589436181, "rssi": -86, "geohash": "81d58d1ff5"}, {"ephemeral_id": "82e29c869058b756860916aff52676cc", "timestamp": 1589436481, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5ce60ab8a646a9a2ef24bfa25103f301", "timestamp": 1589436781, "rssi": -25, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5c83fa7d69152bc28d3edacc9cec9443", "timestamp": 1589437081, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d996f02181e10ac37b791f1945095b22", "timestamp": 1589437381, "rssi": -74, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f2156a02d3afe9a2ed19c46980c15011", "timestamp": 1589437681, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "dc3bced597dcfc51a53caf937181f94a", "timestamp": 1589437981, "rssi": -102, "geohash": "81d58d1ff5"}, {"ephemeral_id": "394b7d3e23b527e817efe8bf4de57a8c", "timestamp": 1589438281, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8af311c445832d194a69b59abf32077c", "timestamp": 1589438581, "rssi": -87, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b2bffbf6376c132892aecee42fc50579", "timestamp": 1589438881, "rssi": -9, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c499be42d1162a0aad15283ebdd2815f", "timestamp": 1589439181, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6bd810798062ad0931c5bb954d59570d", "timestamp": 1589439481, "rssi": -31, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a73e0b9827c29448bf60315cbddb970b", "timestamp": 1589439781, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d02038a185917ad9a57843fa4389bb20", "timestamp": 1589440081, "rssi": -67, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3e00f39f625ab81fe850abb99815e75c", "timestamp": 1589440381, "rssi": -52, "geohash": "81d58d1ff5"}, {"ephemeral_id": "678eceec611ba10c129e5f93ef32a4d1", "timestamp": 1589440681, "rssi": -17, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6354d1afb94f7d7c656b8ee0c801518a", "timestamp": 1589440981, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "5a64a14723da63c1ac004e8f86735cea", "timestamp": 1589441281, "rssi": -36, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d81f926775fad46495d3a89f352afe7d", "timestamp": 1589441581, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f43ee1e06addafc278de70b54bee7087", "timestamp": 1589441881, "rssi": -34, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8c998f9c6342a926ad21e47270594147", "timestamp": 1589442181, "rssi": -110, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e7028e56fc6758da70ae4e4860ff97ad", "timestamp": 1589442481, "rssi": -63, "geohash": "81d58d1ff5"}, {"ephemeral_id": "89d2e0657feb936b53b3d5c3b3f9e66c", "timestamp": 1589442781, "rssi": -33, "geohash": "81d58d1ff5"}, {"ephemeral_id": "876cac6e7d65f2041cd39cad1ee634a2", "timestamp": 1589443081, "rssi": -82, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bc850fe15ef8259d5ac1fb3ec5572286", "timestamp": 1589443381, "rssi": -43, "geohash": "81d58d1ff5"}, {"ephemeral_id": "c49a70692b35b1cc9aa1fe1e0de16ff9", "timestamp": 1589443681, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "3a3cd13442b7269fe4bf62c30ea68683", "timestamp": 1589443981, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6fed7be64ea80cb54a7eb04475274d78", "timestamp": 1589444281, "rssi": -95, "geohash": "81d58d1ff5"}, {"ephemeral_id": "ab8dc97f15aa470e30a655c95d88247b", "timestamp": 1589444581, "rssi": -100, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6460cbbc8f96d2ea54074c350ae29248", "timestamp": 1589444881, "rssi": -62, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4972023cfec6531fc69081c57eb48e09", "timestamp": 1589445181, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6693efd44b826aabd6d8ebb19d7b984e", "timestamp": 1589445481, "rssi": -105, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6ad923f6ac61828e8eb263e801ae47fa", "timestamp": 1589445781, "rssi": -29, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9d0e01a9f5cf8718cfbc62e691bf666e", "timestamp": 1589446081, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2796608a23595b27a0b99fdaf02b36d9", "timestamp": 1589446381, "rssi": -65, "geohash": "81d58d1ff5"}, {"ephemeral_id": "302f7abcfc2c1ac59c9c26f2432587ad", "timestamp": 1589446681, "rssi": -90, "geohash": "81d58d1ff5"}, {"ephemeral_id": "f9821d9c78f31c42e6e6533356eef1f6", "timestamp": 1589446981, "rssi": -104, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e718941dacee1f6ad12da811901c9e7a", "timestamp": 1589447281, "rssi": -2, "geohash": "81d58d1ff5"}, {"ephemeral_id": "90feb5eaadb2696fa0aa898511a2a55e", "timestamp": 1589447581, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "a66b2313c91afacdd9ebcb927ec5aefe", "timestamp": 1589447881, "rssi": -113, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7f487ba09d868b77b63b4efb4812a685", "timestamp": 1589448181, "rssi": -75, "geohash": "81d58d1ff5"}, {"ephemeral_id": "accaf20fdc3ed22a3dc8bc0f38c197ea", "timestamp": 1589448481, "rssi": -92, "geohash": "81d58d1ff5"}, {"ephemeral_id": "af57c445fab45e98bcdc6baa5729dc20", "timestamp": 1589448781, "rssi": -24, "geohash": "81d58d1ff5"}, {"ephemeral_id": "4ce03337962a70ae586dc4a7d1a8174d", "timestamp": 1589449081, "rssi": -54, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0514d3c786f919d3cb016fec1f45c97c", "timestamp": 1589449381, "rssi": -72, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bad164660f972ed7d31cc979e630e3c2", "timestamp": 1589449681, "rssi": -4, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8c0e47c472f1cd9dbda9ff5639abf0f5", "timestamp": 1589449981, "rssi": -23, "geohash": "81d58d1ff5"}, {"ephemeral_id": "b6c8af9b668ff9530746310598a98d00", "timestamp": 1589450281, "rssi": -40, "geohash": "81d58d1ff5"}, {"ephemeral_id": "99a42d9dfa44c07c1daac4ad0d4e07fc", "timestamp": 1589450581, "rssi": -73, "geohash": "81d58d1ff5"}, {"ephemeral_id": "afd2e11b85af52a73d10d385a4bcd029", "timestamp": 1589450881, "rssi": -13, "geohash": "81d58d1ff5"}, {"ephemeral_id": "0d610f538e3f4c48c087b0457aa0ba2f", "timestamp": 1589451181, "rssi": -120, "geohash": "81d58d1ff5"}, {"ephemeral_id": "7bf1685ea34bd73c08e0ad3153b5c5b9", "timestamp": 1589451481, "rssi": -22, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d853038dd2ceba153b063fc669ffe936", "timestamp": 1589451781, "rssi": -16, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e37da774cbcd38c476d9604b682a69dd", "timestamp": 1589452081, "rssi": -101, "geohash": "81d58d1ff5"}, {"ephemeral_id": "6932a2a1a72e7005a5371397509a2049", "timestamp": 1589452381, "rssi": -46, "geohash": "81d58d1ff5"}, {"ephemeral_id": "e83c59bcdef31de857e81e0067a1365d", "timestamp": 1589452681, "rssi": -42, "geohash": "81d58d1ff5"}, {"ephemeral_id": "8973d1db9b44ff1b933aebc435ed9de5", "timestamp": 1589452981, "rssi": -97, "geohash": "81d58d1ff5"}, {"ephemeral_id": "bb412c711ff74c1f67ae423e1ccb91ac", "timestamp": 1589453281, "rssi": -53, "geohash": "81d58d1ff5"}, {"ephemeral_id": "9bfc2e62d29799fd0846fc0fc1f2d932", "timestamp": 1589453581, "rssi": -83, "geohash": "81d58d1ff5"}, {"ephemeral_id": "80e41c5b72d90b7971d9a832c50c93c1", "timestamp": 1589453881, "rssi": -77, "geohash": "81d58d1ff5"}, {"ephemeral_id": "d6f47ffe1a20ce9d555237a8485ecf35", "timestamp": 1589454181, "rssi": -68, "geohash": "81d58d1ff5"}, {"ephemeral_id": "2d95be48f6624d8af09eccb2d5e46031", "timestamp": 1589454481, "rssi": -108, "geohash": "81d58d1ff5"}, {"ephemeral_id": "fe1fbb26f5129e7c6ce99866f8b75211", "timestamp": 1589454781, "rssi": -93, "geohash": "81d58d1ff5"}, {"ephemeral_id": "84cb8b044a73e28c4d0ff184f1735e7d", "timestamp": 1589455081, "rssi": -51, "geohash": "81d58d1ff5"}]
\ No newline at end of file
diff --git a/ios/outputserverReponse.json b/ios/outputserverReponse.json
new file mode 100644
index 00000000..d37c969d
--- /dev/null
+++ b/ios/outputserverReponse.json
@@ -0,0 +1 @@
+{"startDay": 18391, "infected": [[[], [], [], [], [], [], [], [], [], [], [], ["d86acf8fcd88bccf59271479cb8ab4e7"], ["a1c50b8346cda9e99deae630eb082076"], ["8f3f28d171d634053945f8c45a9de13d"], ["4583836471de3b66a02f08ae967b6ff6"], ["2900e04006206507552090cbb72638c7"], ["bc528050879b017acac9cce31b1e40ab"], ["822d5175db672831405b0eb00586b0bb"], ["979150b9646e04092d0fceb50405f455"], ["18a905f08b4b6a03bcab0ab7f23f2a47"], ["ec1fb13ba29f9cac072781bf9e05de58"], ["8414f4341b6074e188bbda066b59fe22"], ["f8d0ef30fe99672a99acde3190d7ac6b"], ["d1d3fb2f76058524fa480ee146af2f4b"]], [["ab7fbfacec741e6a3b87699066089100"], ["73ac75c6d89f99910badaead43676727"], ["d3cf15f5504382b5e38183e656482f06"], ["98b5da9c93139135004bef54fff007c0"], ["d7560ec50893efe7cdc724d5d19cc346"], ["060cc0c4f0befc6d7d4ac552f21cb14d"], ["cf443854c7b3721f5a363600da824e65"], ["e6bda1c893e7bfdc46fb45b3f2399c8a"], ["33ba45a91e601813ec0c3a47d8c003b7"], ["5ac06c5919ad46b3dbfafed591e744e1"], ["68541fb793ee86c374305e7a6142e8d6"], ["bce1bcabee672c22465052d79396efae"], ["574fbce2594d4eb2c2b22f84fcff2985"], ["adf2841fb1392b20f57403244bd85a83"], ["66687d23c5de4ee21310a7b563b9fde5"], ["995b04f2d0bd6bed94e6bc41bd788932"], ["d8a2835a13878c3a3081f61e91183cfd"], ["eef0ac65fbed31ba70fa43c94af0ad7b"], ["c4d19c84cffddf1dd3ed3d954c058402"], ["31b93e0dfbe4b29633a2c2f0916d0570"], ["f3aa7d7b907c0d58b241d0843cd01edb"], ["81681a8484fa68381cc079e444c24ac9"], ["4d8d26a80cd3fe617b3ad2130c69a590"], ["4449e8cf936fccaa06fa0a14a53778b7"]], [["e6f62e01c37be1d40d489a3e59ccc30b"], ["a9e8139d001d699a92d5d9949faa2772"], ["58fb0f26e8e4ba9a4823ecac34c4e6fe"], ["9105885533a09562a866deffe143f836"], ["512acee6be9e551ce06598693d9e9c37"], ["ecb44b82828f080b17b4d7f036cdd7cc"], ["5a1fd4337d1bcf6a058f993d7dfd695b"], ["202ff2794dd72f7ed684b3239650d12f"], ["e40868dfb3e3a1a28dce1bc3d8b48fa6"], ["23d7edfe3c2c1944db47525ba52cb87b"], ["00c28e77ae15b1813f46c52a1bc19d62"], ["ab82491271aab40d6bc39a395e505035"], ["e5e713d791f464d3c98d43634db2bc4f"], ["1e7c6b82340f668ce8fed1b1d76334c9"], ["59d7d1904ec100266b87e888916474b0"], ["188d8bbf0394ed13eff0a431ecfc1647"], ["d6224a732fd898d377bc5c5b5e198df0"], ["773549f841f79a22cc5b23d5f7ce3104"], ["ef479261f2e3379dc59327948192fd4f"], ["c5ff03cfb85b7a8cddd65df3654a8029"], ["7e81b6399b171dee77b003c99e9b39b7"], ["e6e720c311119214eb2b1827e3ea785b"], ["de8200818cafd179e870853631f2d142"], ["61d478106464aad6691ca4e631402bbd"]], [["98c75234e78c3da10295ebab1ad60e44"], ["a42d0e96e906b90d2330fbe3bf958300"], ["dde5c88775275401f95b8ac232e52843"], ["faa892b404000a3a6c843010c98f54c3"], ["e6fa41ab94c48559ee30bc6c23d3a266"], ["d864eed72a26d7dcb6ba94a5d46ff172"], ["a1a2b817460d2526c8072d1b00c39774"], ["16a1df31beb6c2025cf7482aa03bf4aa"], ["c07549d1d17bc83995fe5ff466e94fd6"], ["d77d4286486ba1e4caf4e07fe1723c71"], ["b41e1da1a16a1491110898cf94967971"], ["1a7455899b879dece82145776ad77f72"], ["7e2b6dfc7df8b11d439c152a1e4d4812"], ["133fab9adfeb9da4c7f80bed5c58c424"], ["1f523b4f87408248373368bae7c5b711"], ["0736b002c41032bac14032aae1d91500"], ["49b99f9b4a4a80eac2a0ce6e5e502004"], ["9ad9470d6078ab69c2df8f01c7ec4506"], ["33b008843bc1ad094a9337eea17a8b5f"], ["46dd52218f0a3e7b4dd6cb92f13f65f3"], ["562f510864da2482e180c2f39758b029"], ["fd152b5da7baf407a3312b85330abbd7"], ["0ed7a1ee04642e8e3676ea2ca73df6b1"], ["a431c48d6d858f3afd9dc46526ec2793"]], [["a24bc113635f36b05ecd8279bc1ba129"], ["eb7906c6c4106f4f53af22a818ba7f93"], ["85e3864d81b87d23ae1f124ae4317381"], ["519ca4abe41f2fc49ba084e108b6f326"], ["6131c99a51ac8043c46a034e526c9e9f"], ["84a6e5bbe59e118124328e0ea238fa97"], ["2da86dbacad7ef1657397b336fa21e5d"], ["8498aca7e5b71b9223d1b49bc05425af"], ["d40437a9823ed4fa09363363f0540370"], ["489f379b8a6bc1a9508db8be97dac21a"], ["4acb35e55dd37fad239e29ce82a8ecea"], ["621f33c97d127d37571a8512a3d3d1e4"], ["cd94ee72811942a93d430eb0735f425a"], ["ad70249c823ed79feeb29d603c300554"], ["62f5b9ef6f302dc34e7922c4f25e7b8a"], ["18b87eaf4ed530b8532d651bf6afb812"], ["063cc9426201a5fe34935e196bc0c583"], ["b0f3bc65f0bdcdeb15079292f89482ed"], ["0ad3c8d5c6f676f5d48c295faeeb09d5"], ["34395ab165032d0bde56624098f72678"], ["e8759406306893dd63904884e8465bb0"], ["0c890b516186908f97bd1716fef2262f"], ["aad42ceb819a91b9fa40670e3f2a2fb8"], ["cef56d5506c9b160e616a05bf6dcc4e7"]], [["be51da228972bafe4bef4375e90deb77"], ["a61fc49dd43535365690404b0dea2bb7"], ["82f250e7bc612acb29635764c2df24ff"], ["2554c41aadb008dcb6ebddadd5f4efde"], ["bb9179a32416c00a8ecb41d43890d79f"], ["051af2488b9527901ffa044dffff1985"], ["8673fdfa780f5bb64cf82b5d66e98d00"], ["26a9d822ef9b5f0e6fb3d6ea0295163f"], ["8d5fe0cf86d228112e824b28324c3524"], ["e2c0e9fb515df2cb9c62ffb52ae1edef"], ["86fa346b218310fba4dfca6c8be4e826"], ["4927f7c5a624bf6d8aaf122044c4a8a0"], ["f7d0135808852d66afb7163773a66f65"], ["74393ed084aed9820712ee3d04ca62a1"], ["070ce965ebd0efdd7a22998ef06f2a70"], ["3de825066d19b0ddd38c961a0dbc46dd"], ["4c776ce81bc368412177842165be29f9"], ["abe6f476338af7a5cbed4c44814faf71"], ["115ab3bb2ead18ca29862220306c0bc9"], ["8b1dcc2f9eccf48f823773b4c574118b"], ["09a6e9503c852eec10baebb0c0becde3"], ["4d0ac7761e2f694167c1620f5b985ff5"], ["57be6be710c214db198f5adb1c944451"], ["7ff5f2c67a9c3a498c745de94a6e830c"]], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]]}
\ No newline at end of file
diff --git "a/ios/\327\224\327\236\327\222\327\237 QA.entitlements" "b/ios/\327\224\327\236\327\222\327\237 QA.entitlements"
index 396838c5..f17b1c54 100644
--- "a/ios/\327\224\327\236\327\222\327\237 QA.entitlements"
+++ "b/ios/\327\224\327\236\327\222\327\237 QA.entitlements"
@@ -2,6 +2,8 @@
+ aps-environment
+ development
com.apple.developer.associated-domains
com.apple.developer.networking.wifi-info
diff --git "a/ios/\327\224\327\236\327\222\327\237Release.entitlements" "b/ios/\327\224\327\236\327\222\327\237Release.entitlements"
new file mode 100644
index 00000000..75e36a14
--- /dev/null
+++ "b/ios/\327\224\327\236\327\222\327\237Release.entitlements"
@@ -0,0 +1,10 @@
+
+
+
+
+ aps-environment
+ development
+ com.apple.developer.networking.wifi-info
+
+
+
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 00000000..a40465a9
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,15747 @@
+{
+ "name": "hamagen",
+ "version": "0.0.1",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/core": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.2.tgz",
+ "integrity": "sha512-l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.2",
+ "@babel/helpers": "^7.6.2",
+ "@babel/parser": "^7.6.2",
+ "@babel/template": "^7.6.0",
+ "@babel/traverse": "^7.6.2",
+ "@babel/types": "^7.6.0",
+ "convert-source-map": "^1.1.0",
+ "debug": "^4.1.0",
+ "json5": "^2.1.0",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
+ "requires": {
+ "@babel/types": "^7.9.6",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+ "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
+ "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-builder-react-jsx": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz",
+ "integrity": "sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/types": "^7.9.0"
+ }
+ },
+ "@babel/helper-builder-react-jsx-experimental": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz",
+ "integrity": "sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/types": "^7.9.5"
+ }
+ },
+ "@babel/helper-create-class-features-plugin": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz",
+ "integrity": "sha512-6N9IeuyHvMBRyjNYOMJHrhwtu4WJMrYf8hVbEHD3pbbbmNOk1kmXSQs7bA4dYDUaIx4ZEzdnvo6NwC3WHd/Qow==",
+ "requires": {
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.9.6",
+ "@babel/helper-split-export-declaration": "^7.8.3"
+ }
+ },
+ "@babel/helper-create-regexp-features-plugin": {
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
+ "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3",
+ "regexpu-core": "^4.7.0"
+ }
+ },
+ "@babel/helper-define-map": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
+ "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
+ "requires": {
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/types": "^7.8.3",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
+ "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
+ "requires": {
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ=="
+ },
+ "@babel/helper-regex": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+ "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+ "requires": {
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
+ "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-wrap-function": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g=="
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
+ "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
+ "requires": {
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q=="
+ },
+ "@babel/plugin-external-helpers": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.8.3.tgz",
+ "integrity": "sha512-mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz",
+ "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-export-default-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.8.3.tgz",
+ "integrity": "sha512-PYtv2S2OdCdp7GSPDg5ndGZFm9DmWFvuLoS5nBxZCgOBggluLnhTScspJxng96alHQzPyrrHxvC9/w4bFuspeA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-export-default-from": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz",
+ "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-transform-parameters": "^7.9.5"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz",
+ "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz",
+ "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-export-default-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.8.3.tgz",
+ "integrity": "sha512-a1qnnsr73KLNIQcQlcQ4ZHxqqfBKM6iNQZW2OMTyxNbA2WC7SHWHtGVpFzWtQAuS2pspkWVzdEBXXx8Ik0Za4w==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-flow": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz",
+ "integrity": "sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-jsx": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz",
+ "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz",
+ "integrity": "sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-typescript": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz",
+ "integrity": "sha512-GO1MQ/SGGGoiEXY0e0bSpHimJvxqB7lktLLIq2pv8xG7WZ8IMEle74jIe1FhprHBWjwjZtXHkycDLZXIWM5Wfg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
+ "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
+ "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-remap-async-to-generator": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
+ "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
+ "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz",
+ "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-define-map": "^7.8.3",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
+ "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz",
+ "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
+ "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-flow-strip-types": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz",
+ "integrity": "sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-flow": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz",
+ "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
+ "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
+ "requires": {
+ "@babel/helper-function-name": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
+ "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-member-expression-literals": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
+ "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz",
+ "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==",
+ "requires": {
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-simple-access": "^7.8.3",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
+ },
+ "@babel/plugin-transform-object-assign": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.8.3.tgz",
+ "integrity": "sha512-i3LuN8tPDqUCRFu3dkzF2r1Nx0jp4scxtm7JxtIqI9he9Vk20YD+/zshdzR9JLsoBMlJlNR82a62vQExNEVx/Q==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
+ "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz",
+ "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-property-literals": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
+ "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-react-display-name": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz",
+ "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-react-jsx": {
+ "version": "7.9.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz",
+ "integrity": "sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==",
+ "requires": {
+ "@babel/helper-builder-react-jsx": "^7.9.0",
+ "@babel/helper-builder-react-jsx-experimental": "^7.9.0",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-jsx": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-react-jsx-source": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz",
+ "integrity": "sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-jsx": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.8.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
+ "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
+ "requires": {
+ "regenerator-transform": "^0.14.2"
+ }
+ },
+ "@babel/plugin-transform-runtime": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.6.tgz",
+ "integrity": "sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "resolve": "^1.8.1",
+ "semver": "^5.5.1"
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
+ "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
+ "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
+ "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
+ "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-typescript": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.6.tgz",
+ "integrity": "sha512-8OvsRdvpt3Iesf2qsAn+YdlwAJD7zJ+vhFZmDCa4b8dTp7MmHtKk5FF2mCsGxjZwuwsy/yIIay/nLmxST1ctVQ==",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.9.6",
+ "@babel/helper-plugin-utils": "^7.8.3",
+ "@babel/plugin-syntax-typescript": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
+ "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/register": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.9.0.tgz",
+ "integrity": "sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q==",
+ "requires": {
+ "find-cache-dir": "^2.0.0",
+ "lodash": "^4.17.13",
+ "make-dir": "^2.1.0",
+ "pirates": "^4.0.0",
+ "source-map-support": "^0.5.16"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.2.tgz",
+ "integrity": "sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg==",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.13.2"
+ }
+ },
+ "@babel/template": {
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "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.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.5",
+ "lodash": "^4.17.13",
+ "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"
+ }
+ },
+ "@hapi/address": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
+ "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ=="
+ },
+ "@hapi/bourne": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
+ "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA=="
+ },
+ "@hapi/hoek": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
+ "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow=="
+ },
+ "@hapi/joi": {
+ "version": "15.1.1",
+ "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
+ "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
+ "requires": {
+ "@hapi/address": "2.x.x",
+ "@hapi/bourne": "1.x.x",
+ "@hapi/hoek": "8.x.x",
+ "@hapi/topo": "3.x.x"
+ }
+ },
+ "@hapi/topo": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
+ "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
+ "requires": {
+ "@hapi/hoek": "^8.3.0"
+ }
+ },
+ "@istanbuljs/load-nyc-config": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz",
+ "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "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
+ }
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+ "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+ "dev": true
+ },
+ "@jest/console": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz",
+ "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==",
+ "requires": {
+ "@jest/source-map": "^24.9.0",
+ "chalk": "^2.0.1",
+ "slash": "^2.0.0"
+ },
+ "dependencies": {
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A=="
+ }
+ }
+ },
+ "@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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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/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,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/transform": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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,
+ "requires": {
+ "type-fest": "^0.11.0"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "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,
+ "requires": {
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "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"
+ }
+ },
+ "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,
+ "requires": {
+ "@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-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
+ },
+ "jest-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-validate": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "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
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "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
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ }
+ }
+ },
+ "@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,
+ "requires": {
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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-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,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "@jest/fake-timers": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz",
+ "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==",
+ "requires": {
+ "@jest/types": "^24.9.0",
+ "jest-message-util": "^24.9.0",
+ "jest-mock": "^24.9.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "expect": "^25.5.0"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "@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,
+ "requires": {
+ "@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",
+ "node-notifier": "^6.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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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/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,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/transform": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "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,
+ "requires": {
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "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"
+ }
+ },
+ "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,
+ "requires": {
+ "@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-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
+ },
+ "jest-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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-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,
+ "requires": {
+ "growly": "^1.3.0",
+ "is-wsl": "^2.1.1",
+ "semver": "^6.3.0",
+ "shellwords": "^0.1.1",
+ "which": "^1.3.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ }
+ }
+ },
+ "@jest/source-map": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz",
+ "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==",
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.1.15",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "@jest/test-result": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz",
+ "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==",
+ "requires": {
+ "@jest/console": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "@types/istanbul-lib-coverage": "^2.0.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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/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,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "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"
+ }
+ },
+ "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,
+ "requires": {
+ "@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-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "@jest/transform": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz",
+ "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^24.9.0",
+ "babel-plugin-istanbul": "^5.1.0",
+ "chalk": "^2.0.1",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.1.15",
+ "jest-haste-map": "^24.9.0",
+ "jest-regex-util": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "micromatch": "^3.1.10",
+ "pirates": "^4.0.1",
+ "realpath-native": "^1.1.0",
+ "slash": "^2.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "2.4.1"
+ },
+ "dependencies": {
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz",
+ "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ }
+ }
+ },
+ "@jest/types": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
+ "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^13.0.0"
+ }
+ },
+ "@react-native-community/async-storage": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.7.1.tgz",
+ "integrity": "sha512-/oX/x+EU4xNaqIaC/epVKzO8XghzImPA7l8cLz3USEFmtFiXFjBbTeeIFjjEm/u4/cv38Wi1xMEa10PHIWygRg=="
+ },
+ "@react-native-community/cli": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-2.9.0.tgz",
+ "integrity": "sha512-6TYkrR1pwIEPpiPZnOYscCGr5Xh8RijqBPVAOGTaEdpQQpc/J7GDPrePwbyTzwmCPtiK6XT+T5+1AiAK5bz/sw==",
+ "requires": {
+ "@hapi/joi": "^15.0.3",
+ "@react-native-community/cli-platform-android": "^2.9.0",
+ "@react-native-community/cli-platform-ios": "^2.9.0",
+ "@react-native-community/cli-tools": "^2.8.3",
+ "chalk": "^2.4.2",
+ "commander": "^2.19.0",
+ "compression": "^1.7.1",
+ "connect": "^3.6.5",
+ "cosmiconfig": "^5.1.0",
+ "deepmerge": "^3.2.0",
+ "envinfo": "^7.1.0",
+ "errorhandler": "^1.5.0",
+ "execa": "^1.0.0",
+ "fs-extra": "^7.0.1",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.1.3",
+ "inquirer": "^3.0.6",
+ "lodash": "^4.17.5",
+ "metro": "^0.54.1",
+ "metro-config": "^0.54.1",
+ "metro-core": "^0.54.1",
+ "metro-react-native-babel-transformer": "^0.54.1",
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "morgan": "^1.9.0",
+ "node-notifier": "^5.2.1",
+ "open": "^6.2.0",
+ "ora": "^3.4.0",
+ "plist": "^3.0.0",
+ "semver": "^5.0.3",
+ "serve-static": "^1.13.1",
+ "shell-quote": "1.6.1",
+ "ws": "^1.1.0"
+ }
+ },
+ "@react-native-community/cli-debugger-ui": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-3.0.0.tgz",
+ "integrity": "sha512-m3X+iWLsK/H7/b7PpbNO33eQayR/+M26la4ZbYe1KRke5Umg4PIWsvg21O8Tw4uJcY8LA5hsP+rBi/syBkBf0g==",
+ "requires": {
+ "serve-static": "^1.13.1"
+ }
+ },
+ "@react-native-community/cli-platform-android": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-2.9.0.tgz",
+ "integrity": "sha512-VEQs4Q6R5tnlYFrQIFoPEWjLc43whRHC9HeH+idbFymwDqysLVUffQbb9D6PJUj+C/AvrDhBhU6S3tDjGbSsag==",
+ "requires": {
+ "@react-native-community/cli-tools": "^2.8.3",
+ "chalk": "^2.4.2",
+ "execa": "^1.0.0",
+ "jetifier": "^1.6.2",
+ "logkitty": "^0.6.0",
+ "slash": "^3.0.0",
+ "xmldoc": "^1.1.2"
+ }
+ },
+ "@react-native-community/cli-platform-ios": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-2.10.0.tgz",
+ "integrity": "sha512-z5BQKyT/bgTSdHhvsFNf++6VP50vtOOaITnNKvw4954wURjv5JOQh1De3BngyaDOoGfV1mXkCxutqAXqSeuIjw==",
+ "requires": {
+ "@react-native-community/cli-tools": "^2.8.3",
+ "chalk": "^2.4.2",
+ "xcode": "^2.0.0"
+ }
+ },
+ "@react-native-community/cli-tools": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-2.8.3.tgz",
+ "integrity": "sha512-N5Pz+pR+GFq3JApjd0SW4jp9KC7kbKsMH65QLRh30JNsxdPvNkYox6/ZZdkvdXaI5ev3EckR7eqlcwi5gpVTYQ==",
+ "requires": {
+ "chalk": "^2.4.2",
+ "lodash": "^4.17.5",
+ "mime": "^2.4.1",
+ "node-fetch": "^2.5.0"
+ }
+ },
+ "@react-native-community/cli-types": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-3.0.0.tgz",
+ "integrity": "sha512-ng6Tm537E/M42GjE4TRUxQyL8sRfClcL7bQWblOCoxPZzJ2J3bdALsjeG3vDnVCIfI/R0AeFalN9KjMt0+Z/Zg=="
+ },
+ "@react-native-community/cookies": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cookies/-/cookies-2.0.9.tgz",
+ "integrity": "sha512-gZvnLQjkpZX//4/CIOX4lOFdfOT2gQi/Ov1t+K6D2KZ0GyqY1CQ9xe0F1NsRSIGciTUkxOPTeway/LRWgwHsxQ==",
+ "requires": {
+ "invariant": "^2.2.4"
+ }
+ },
+ "@react-native-community/eslint-config": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-0.0.5.tgz",
+ "integrity": "sha512-jwO2tnKaTPTLX5XYXMHGEnFdf543SU7jz98/OF5mDH3b7lP+BOaCD+jVfqqHoDRkcqyPlYiR1CgwVGWpi0vMWg==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/eslint-plugin": "^1.5.0",
+ "@typescript-eslint/parser": "^1.5.0",
+ "babel-eslint": "10.0.1",
+ "eslint-plugin-eslint-comments": "^3.1.1",
+ "eslint-plugin-flowtype": "2.50.3",
+ "eslint-plugin-jest": "22.4.1",
+ "eslint-plugin-prettier": "2.6.2",
+ "eslint-plugin-react": "7.12.4",
+ "eslint-plugin-react-hooks": "^1.5.1",
+ "eslint-plugin-react-native": "3.6.0",
+ "prettier": "1.16.4"
+ },
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz",
+ "integrity": "sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/experimental-utils": "1.13.0",
+ "eslint-utils": "^1.3.1",
+ "functional-red-black-tree": "^1.0.1",
+ "regexpp": "^2.0.1",
+ "tsutils": "^3.7.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-1.13.0.tgz",
+ "integrity": "sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ==",
+ "dev": true,
+ "requires": {
+ "@types/eslint-visitor-keys": "^1.0.0",
+ "@typescript-eslint/experimental-utils": "1.13.0",
+ "@typescript-eslint/typescript-estree": "1.13.0",
+ "eslint-visitor-keys": "^1.0.0"
+ }
+ },
+ "eslint-plugin-react": {
+ "version": "7.12.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz",
+ "integrity": "sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "doctrine": "^2.1.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.0.1",
+ "object.fromentries": "^2.0.0",
+ "prop-types": "^15.6.2",
+ "resolve": "^1.9.0"
+ }
+ }
+ }
+ },
+ "@react-native-community/masked-view": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.10.tgz",
+ "integrity": "sha512-rk4sWFsmtOw8oyx8SD3KSvawwaK7gRBSEIy2TAwURyGt+3TizssXP1r8nx3zY+R7v2vYYHXZ+k2/GULAT/bcaQ=="
+ },
+ "@react-native-community/netinfo": {
+ "version": "5.6.2",
+ "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-5.6.2.tgz",
+ "integrity": "sha512-IkzS78nOiPNM/MboBqqbk2eMBrflp8VML/p33pd50KZq+PvBq8Oywt1JKOgdaMxUIbGjP73zVz+f6r2f80u2Eg=="
+ },
+ "@react-navigation/bottom-tabs": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-5.0.3.tgz",
+ "integrity": "sha512-/rGlulcpvoJeAE5j/9HWTQzmu2UxxT5eoTh+kGnTAYjPwPordLgwP36NeX2Jvhv5tIvTtlzhF7bCDquBBgiN6g==",
+ "requires": {
+ "color": "^3.1.2",
+ "react-native-iphone-x-helper": "^1.2.1"
+ }
+ },
+ "@react-navigation/core": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-5.7.0.tgz",
+ "integrity": "sha512-dVnfmTiOWV9YwaTq2BSDUgwUK1G1WkpD+w4oXqKCcy1LtJb+HWWUz5xiCdR1TtxvgaQn+RISxKm8yZAXVWPbXQ==",
+ "requires": {
+ "@react-navigation/routers": "^5.4.4",
+ "escape-string-regexp": "^4.0.0",
+ "nanoid": "^3.1.5",
+ "query-string": "^6.12.1",
+ "react-is": "^16.13.0",
+ "use-subscription": "^1.4.0"
+ },
+ "dependencies": {
+ "@react-navigation/routers": {
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-5.4.4.tgz",
+ "integrity": "sha512-Q8ZIubVYc1569JOs2oMWbhNXBNzZHvRfP5cEZ6/ksj9cPF7DkwOXsAdF0b+Oe0ei0f7OaK9LTRmfiNdtAPWVzw==",
+ "requires": {
+ "nanoid": "^3.1.5"
+ }
+ },
+ "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=="
+ }
+ }
+ },
+ "@react-navigation/drawer": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-5.4.0.tgz",
+ "integrity": "sha512-IOXBRfFaURA3o9+fEaC7lwomftGQYoyqzZKkcWI/fybtDwmhSS6QOyZKMm3fWRp1x++m3QLgQHsaMSXjUoRygA==",
+ "requires": {
+ "color": "^3.1.2",
+ "react-native-iphone-x-helper": "^1.2.1"
+ }
+ },
+ "@react-navigation/native": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-5.0.3.tgz",
+ "integrity": "sha512-caJVWRkpTY6zFkpZvQE1Dg0gTu+a09XnleKaDEV9TOK8AxkBhp+X4GvCP/7sV9Ke8Cw8mvcnh9R1UCKIO4fTCQ==",
+ "requires": {
+ "@react-navigation/core": "^5.1.2"
+ }
+ },
+ "@react-navigation/routers": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-5.1.0.tgz",
+ "integrity": "sha512-sY+eCIcWheflQIfGMSnWomnjP8d+7ZPmH1dKZ1pRezTqLWVlCFntQfQSr2FfM5LLVWty4gZ/K9D+o6UT4ntc3w==",
+ "requires": {
+ "shortid": "^2.2.15"
+ }
+ },
+ "@react-navigation/stack": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-5.0.3.tgz",
+ "integrity": "sha512-CAFfURsfY6/zmIQsUunDoiuCrvZLNqUwN5D1usN8I8VFkJg1kKCZbIxaVftAbZiPcfwORarsuWMxqkCVmVvEuA==",
+ "requires": {
+ "color": "^3.1.2",
+ "react-native-iphone-x-helper": "^1.2.1"
+ }
+ },
+ "@redux-offline/redux-offline": {
+ "version": "2.5.2-native.3",
+ "resolved": "https://registry.npmjs.org/@redux-offline/redux-offline/-/redux-offline-2.5.2-native.3.tgz",
+ "integrity": "sha512-xo1M4wFJDJjANn9w6faru0/8rerd28vQpbNTbEe7DX57RyRqSGsDilb0temH/kAg3GheQTlO59ipRum2bcmXvw==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "redux-persist": "^4.6.0"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ }
+ }
+ },
+ "@sinonjs/commons": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.2.tgz",
+ "integrity": "sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw==",
+ "dev": true,
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@tmcw/togeojson": {
+ "version": "git+https://github.com/tmcw/togeojson.git#cdae0c2243f536a9c37e15e434e00f77a53102f4",
+ "from": "git+https://github.com/tmcw/togeojson.git"
+ },
+ "@types/async-lock": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/async-lock/-/async-lock-1.1.1.tgz",
+ "integrity": "sha512-TU1X8jmAU2BjwKryBFV/GDezz7Ge0xu9ZuYC7dy6wKj4hnL0JcxeseCOr/G2JkGylff6hdUBrR+Ee5ApAQeU5g==",
+ "dev": true
+ },
+ "@types/babel__core": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz",
+ "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "@types/babel__generator": {
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz",
+ "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__traverse": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.11.tgz",
+ "integrity": "sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@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=="
+ },
+ "@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
+ },
+ "@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==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/hoist-non-react-statics": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
+ "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
+ "dev": true,
+ "requires": {
+ "@types/react": "*",
+ "hoist-non-react-statics": "^3.3.0"
+ },
+ "dependencies": {
+ "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==",
+ "dev": true,
+ "requires": {
+ "react-is": "^16.7.0"
+ }
+ }
+ }
+ },
+ "@types/istanbul-lib-coverage": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz",
+ "integrity": "sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w=="
+ },
+ "@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "requires": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "@types/istanbul-reports": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+ "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
+ "requires": {
+ "@types/istanbul-lib-coverage": "*",
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "@types/jest": {
+ "version": "25.2.3",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz",
+ "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==",
+ "dev": true,
+ "requires": {
+ "jest-diff": "^25.2.1",
+ "pretty-format": "^25.2.1"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "@types/json-schema": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
+ "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==",
+ "dev": true
+ },
+ "@types/jsrsasign": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/@types/jsrsasign/-/jsrsasign-8.0.3.tgz",
+ "integrity": "sha512-k04lvcT2VkdEwOkVMJuBPENJHZebD90NjKKp0hXvNgQ43StwnsUIHq+GULCgYIImGKpO2WhlpsCVolBYYzu1+Q==",
+ "dev": true
+ },
+ "@types/latlon-geohash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/latlon-geohash/-/latlon-geohash-2.0.0.tgz",
+ "integrity": "sha512-bwTttcqf8StBA+ABJ4gxbgA+PgueUJGxjYzuWrlFfzDbIQd2FvOcE5l/0fY+BOKqmeWYAzjBQFdnKweI8KKNpA==",
+ "dev": true
+ },
+ "@types/lodash": {
+ "version": "4.14.149",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz",
+ "integrity": "sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.0.tgz",
+ "integrity": "sha512-zwrxviZS08kRX40nqBrmERElF2vpw4IUTd5khkhBTfFH8AOaeoLVx48EC4+ZzS2/Iga7NevncqnsUSYjM4OWYA==",
+ "dev": true
+ },
+ "@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
+ },
+ "@types/prettier": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
+ "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
+ "dev": true
+ },
+ "@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==",
+ "dev": true
+ },
+ "@types/react": {
+ "version": "16.9.19",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.19.tgz",
+ "integrity": "sha512-LJV97//H+zqKWMms0kvxaKYJDG05U2TtQB3chRLF8MPNs+MQh/H1aGlyDUxjaHvu08EAGerdX2z4LTBc7ns77A==",
+ "dev": true,
+ "requires": {
+ "@types/prop-types": "*",
+ "csstype": "^2.2.0"
+ }
+ },
+ "@types/react-native": {
+ "version": "0.60.25",
+ "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.60.25.tgz",
+ "integrity": "sha512-827dIVvSTxSH5uTpsJJH7O4wpRuw0rm3yIzRL3a2yKawA0nyhgC1GPKTXHFIn2GfSdXn1Gty2dJ+k6uDZF3MWQ==",
+ "dev": true,
+ "requires": {
+ "@types/prop-types": "*",
+ "@types/react": "*"
+ }
+ },
+ "@types/react-native-background-timer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/react-native-background-timer/-/react-native-background-timer-2.0.0.tgz",
+ "integrity": "sha512-y5VW82dL/ESOLg+5QQHyBdsFVA4ZklENxmOyxv8o06T+3HBG2JOSuz/CIPz1vKdB7dmWDGPZNuPosdtnp+xv2A==",
+ "dev": true
+ },
+ "@types/react-native-sqlite-storage": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/@types/react-native-sqlite-storage/-/react-native-sqlite-storage-3.3.2.tgz",
+ "integrity": "sha512-LzRrAidwgOVql64I3XU+jQ+SO09P/UF8mZOiy4qGw9uyWMxIC/3+i9EYPEfGfw0OqIJ5YpQCha9Gjiq3pWticA==",
+ "dev": true
+ },
+ "@types/react-native-uuid-generator": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/react-native-uuid-generator/-/react-native-uuid-generator-4.0.0.tgz",
+ "integrity": "sha512-iAt2ILkYpatLaxw7MOryWbaH0L3h1hDa+ClIF3VO7bn03q7WLORTmczRm1oezBP21RYJKGL7JGQx2U3iXrLN0w==",
+ "dev": true
+ },
+ "@types/react-redux": {
+ "version": "7.1.5",
+ "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.5.tgz",
+ "integrity": "sha512-ZoNGQMDxh5ENY7PzU7MVonxDzS1l/EWiy8nUhDqxFqUZn4ovboCyvk4Djf68x6COb7vhGTKjyjxHxtFdAA5sUA==",
+ "dev": true,
+ "requires": {
+ "@types/hoist-non-react-statics": "^3.3.0",
+ "@types/react": "*",
+ "hoist-non-react-statics": "^3.3.0",
+ "redux": "^4.0.0"
+ },
+ "dependencies": {
+ "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==",
+ "dev": true,
+ "requires": {
+ "react-is": "^16.7.0"
+ }
+ }
+ }
+ },
+ "@types/react-test-renderer": {
+ "version": "16.9.1",
+ "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-16.9.1.tgz",
+ "integrity": "sha512-nCXQokZN1jp+QkoDNmDZwoWpKY8HDczqevIDO4Uv9/s9rbGPbSpy8Uaxa5ixHKkcm/Wt0Y9C3wCxZivh4Al+rQ==",
+ "dev": true,
+ "requires": {
+ "@types/react": "*"
+ }
+ },
+ "@types/redux-mock-store": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@types/redux-mock-store/-/redux-mock-store-1.0.2.tgz",
+ "integrity": "sha512-6LBtAQBN34i7SI5X+Qs4zpTEZO1tTDZ6sZ9fzFjYwTl3nLQXaBtwYdoV44CzNnyKu438xJ1lSIYyw0YMvunESw==",
+ "dev": true,
+ "requires": {
+ "redux": "^4.0.5"
+ }
+ },
+ "@types/seedrandom": {
+ "version": "2.4.28",
+ "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.28.tgz",
+ "integrity": "sha512-SMA+fUwULwK7sd/ZJicUztiPs8F1yCPwF3O23Z9uQ32ME5Ha0NmDK9+QTsYE4O2tHXChzXomSWWeIhCnoN1LqA==",
+ "dev": true
+ },
+ "@types/stack-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
+ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw=="
+ },
+ "@types/xmldom": {
+ "version": "0.1.29",
+ "resolved": "https://registry.npmjs.org/@types/xmldom/-/xmldom-0.1.29.tgz",
+ "integrity": "sha1-xEKLDKhtO4gUdXJv2UmAs4onw4E=",
+ "dev": true
+ },
+ "@types/yargs": {
+ "version": "13.0.9",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.9.tgz",
+ "integrity": "sha512-xrvhZ4DZewMDhoH1utLtOAwYQy60eYFoXeje30TzM3VOvQlBwQaEpKFq5m34k1wOw2AKIi2pwtiAjdmhvlBUzg==",
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@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=="
+ },
+ "@typescript-eslint/eslint-plugin": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.12.0.tgz",
+ "integrity": "sha512-1t4r9rpLuEwl3hgt90jY18wJHSyb0E3orVL3DaqwmpiSDHmHiSspVsvsFF78BJ/3NNG3qmeso836jpuBWYziAA==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/experimental-utils": "2.12.0",
+ "eslint-utils": "^1.4.3",
+ "functional-red-black-tree": "^1.0.1",
+ "regexpp": "^3.0.0",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.12.0.tgz",
+ "integrity": "sha512-jv4gYpw5N5BrWF3ntROvCuLe1IjRenLy5+U57J24NbPGwZFAjhnM45qpq0nDH1y/AZMb3Br25YiNVwyPbz6RkA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/typescript-estree": "2.12.0",
+ "eslint-scope": "^5.0.0"
+ }
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.12.0.tgz",
+ "integrity": "sha512-rGehVfjHEn8Frh9UW02ZZIfJs6SIIxIu/K1bbci8rFfDE/1lQ8krIJy5OXOV3DVnNdDPtoiPOdEANkLMrwXbiQ==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "eslint-visitor-keys": "^1.1.0",
+ "glob": "^7.1.6",
+ "is-glob": "^4.0.1",
+ "lodash.unescape": "4.0.1",
+ "semver": "^6.3.0",
+ "tsutils": "^3.17.1"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "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
+ },
+ "regexpp": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/experimental-utils": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz",
+ "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/typescript-estree": "1.13.0",
+ "eslint-scope": "^4.0.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.12.0.tgz",
+ "integrity": "sha512-lPdkwpdzxEfjI8TyTzZqPatkrswLSVu4bqUgnB03fHSOwpC7KSerPgJRgIAf11UGNf7HKjJV6oaPZI4AghLU6g==",
+ "dev": true,
+ "requires": {
+ "@types/eslint-visitor-keys": "^1.0.0",
+ "@typescript-eslint/experimental-utils": "2.12.0",
+ "@typescript-eslint/typescript-estree": "2.12.0",
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.12.0.tgz",
+ "integrity": "sha512-jv4gYpw5N5BrWF3ntROvCuLe1IjRenLy5+U57J24NbPGwZFAjhnM45qpq0nDH1y/AZMb3Br25YiNVwyPbz6RkA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/typescript-estree": "2.12.0",
+ "eslint-scope": "^5.0.0"
+ }
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.12.0.tgz",
+ "integrity": "sha512-rGehVfjHEn8Frh9UW02ZZIfJs6SIIxIu/K1bbci8rFfDE/1lQ8krIJy5OXOV3DVnNdDPtoiPOdEANkLMrwXbiQ==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "eslint-visitor-keys": "^1.1.0",
+ "glob": "^7.1.6",
+ "is-glob": "^4.0.1",
+ "lodash.unescape": "4.0.1",
+ "semver": "^6.3.0",
+ "tsutils": "^3.17.1"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz",
+ "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==",
+ "dev": true,
+ "requires": {
+ "lodash.unescape": "4.0.1",
+ "semver": "5.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "dev": true
+ }
+ }
+ },
+ "abab": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+ "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
+ "dev": true
+ },
+ "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==",
+ "requires": {
+ "event-target-shim": "^5.0.0"
+ }
+ },
+ "absolute-path": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz",
+ "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c="
+ },
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ },
+ "acorn": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "acorn": "^6.0.1",
+ "acorn-walk": "^6.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
+ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
+ "dev": true
+ }
+ }
+ },
+ "acorn-jsx": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
+ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
+ "dev": true
+ },
+ "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
+ },
+ "ajv": {
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "requires": {
+ "ansi-wrap": "^0.1.0"
+ }
+ },
+ "ansi-cyan": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
+ "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="
+ },
+ "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==",
+ "requires": {
+ "colorette": "^1.0.7",
+ "slice-ansi": "^2.0.0",
+ "strip-ansi": "^5.0.0"
+ }
+ },
+ "ansi-gray": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "ansi-red": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ },
+ "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"
+ }
+ },
+ "ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768="
+ },
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "aria-query": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz",
+ "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
+ "dev": true,
+ "requires": {
+ "ast-types-flow": "0.0.7",
+ "commander": "^2.11.0"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "dev": true
+ },
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
+ },
+ "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,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0",
+ "is-string": "^1.0.5"
+ }
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
+ },
+ "array-slice": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU="
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ },
+ "art": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/art/-/art-0.10.3.tgz",
+ "integrity": "sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ=="
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+ },
+ "ast-types-flow": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
+ "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="
+ },
+ "async": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
+ "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "requires": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "async-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=="
+ },
+ "async-lock": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.2.2.tgz",
+ "integrity": "sha512-uczz62z2fMWOFbyo6rG4NlV2SdxugJT6sZA2QcfB1XaSjEiOh8CuOb/TttyMnYQCda6nkWecJe465tGQDPJiKw=="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
+ "dev": true
+ },
+ "axios": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz",
+ "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==",
+ "requires": {
+ "follow-redirects": "1.5.10",
+ "is-buffer": "^2.0.2"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
+ }
+ }
+ },
+ "axobject-query": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.1.2.tgz",
+ "integrity": "sha512-ICt34ZmrVt8UQnvPl6TVyDTkmhXmAyAT4Jh5ugfGUX4MOrZ+U/ZY6/sdylRw3qGNr9Ub5AJsaHeDMzNLehRdOQ==",
+ "dev": true
+ },
+ "babel-eslint": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz",
+ "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "eslint-scope": "3.7.1",
+ "eslint-visitor-keys": "^1.0.0"
+ },
+ "dependencies": {
+ "eslint-scope": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ }
+ }
+ },
+ "babel-jest": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz",
+ "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==",
+ "dev": true,
+ "requires": {
+ "@jest/transform": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "@types/babel__core": "^7.1.0",
+ "babel-plugin-istanbul": "^5.1.0",
+ "babel-preset-jest": "^24.9.0",
+ "chalk": "^2.4.2",
+ "slash": "^2.0.0"
+ },
+ "dependencies": {
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+ "dev": true
+ }
+ }
+ },
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "requires": {
+ "object.assign": "^4.1.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
+ "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "find-up": "^3.0.0",
+ "istanbul-lib-instrument": "^3.3.0",
+ "test-exclude": "^5.2.3"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz",
+ "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==",
+ "dev": true,
+ "requires": {
+ "@types/babel__traverse": "^7.0.6"
+ }
+ },
+ "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=="
+ },
+ "babel-preset-current-node-syntax": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz",
+ "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ }
+ },
+ "babel-preset-fbjs": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz",
+ "integrity": "sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw==",
+ "requires": {
+ "@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"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz",
+ "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
+ "babel-plugin-jest-hoist": "^24.9.0"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "base-64": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
+ "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs="
+ },
+ "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=="
+ },
+ "basic-auth": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
+ "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "big-integer": {
+ "version": "1.6.48",
+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz",
+ "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w=="
+ },
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "optional": true,
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
+ "bplist-creator": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz",
+ "integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==",
+ "requires": {
+ "stream-buffers": "~2.2.0"
+ }
+ },
+ "bplist-parser": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
+ "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
+ "requires": {
+ "big-integer": "^1.6.44"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "requires": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
+ },
+ "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=="
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "caller-callsite": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+ "requires": {
+ "callsites": "^2.0.0"
+ }
+ },
+ "caller-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "requires": {
+ "caller-callsite": "^2.0.0"
+ }
+ },
+ "callsites": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA="
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+ },
+ "capture-exit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
+ "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
+ "requires": {
+ "rsvp": "^4.8.4"
+ }
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "chardet": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I="
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "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=",
+ "requires": {
+ "restore-cursor": "^2.0.0"
+ }
+ },
+ "cli-spinners": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz",
+ "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w=="
+ },
+ "cli-width": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw=="
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ },
+ "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
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
+ "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
+ "requires": {
+ "color-convert": "^1.9.1",
+ "color-string": "^1.5.2"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "color-string": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
+ "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+ "requires": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
+ },
+ "colorette": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.0.tgz",
+ "integrity": "sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw=="
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "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=="
+ },
+ "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=="
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+ },
+ "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=="
+ },
+ "compressible": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+ "requires": {
+ "mime-db": ">= 1.43.0 < 2"
+ }
+ },
+ "compression": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+ "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+ "requires": {
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.16",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.2",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "confusing-browser-globals": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz",
+ "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==",
+ "dev": true
+ },
+ "connect": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+ "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+ "requires": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.2",
+ "parseurl": "~1.3.3",
+ "utils-merge": "1.0.1"
+ }
+ },
+ "contains-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+ "dev": true
+ },
+ "convert-hex": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/convert-hex/-/convert-hex-0.1.0.tgz",
+ "integrity": "sha1-CMBFaJIsJ3drii6BqV05M2LqC2U="
+ },
+ "convert-source-map": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "convert-string": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/convert-string/-/convert-string-0.1.0.tgz",
+ "integrity": "sha1-ec5BqbsNA7z3LNxqjzxW+7xkQQo="
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+ },
+ "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=="
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "cosmiconfig": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "requires": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ }
+ },
+ "create-react-class": {
+ "version": "15.6.3",
+ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
+ "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
+ "requires": {
+ "fbjs": "^0.8.9",
+ "loose-envify": "^1.3.1",
+ "object-assign": "^4.1.1"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ },
+ "fbjs": {
+ "version": "0.8.17",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
+ "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
+ "requires": {
+ "core-js": "^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"
+ }
+ }
+ }
+ },
+ "cross-fetch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.4.tgz",
+ "integrity": "sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw==",
+ "dev": true,
+ "requires": {
+ "node-fetch": "2.6.0",
+ "whatwg-fetch": "3.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dev": true,
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ }
+ }
+ },
+ "csstype": {
+ "version": "2.6.10",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz",
+ "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==",
+ "dev": true
+ },
+ "damerau-levenshtein": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz",
+ "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==",
+ "dev": true
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "abab": "^2.0.0",
+ "whatwg-mimetype": "^2.2.0",
+ "whatwg-url": "^7.0.0"
+ }
+ },
+ "dayjs": {
+ "version": "1.8.27",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.27.tgz",
+ "integrity": "sha512-Jpa2acjWIeOkg8KURUHICk0EqnEFSSF5eMEscsOgyJ92ZukXwmpmRkPSUka7KHSfbj5eKH30ieosYip+ky9emQ=="
+ },
+ "debounce": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz",
+ "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg=="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ },
+ "dedent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz",
+ "integrity": "sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s="
+ },
+ "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
+ },
+ "deepmerge": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz",
+ "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA=="
+ },
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "requires": {
+ "clone": "^1.0.2"
+ }
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "denodeify": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz",
+ "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE="
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
+ "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
+ },
+ "didyoumean": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz",
+ "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8="
+ },
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "dev": true
+ },
+ "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
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "dom-walk": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
+ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
+ },
+ "domexception": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+ "dev": true,
+ "requires": {
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "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
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
+ },
+ "encoding": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "requires": {
+ "iconv-lite": "~0.4.13"
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "envinfo": {
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.1.tgz",
+ "integrity": "sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ=="
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "errorhandler": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz",
+ "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==",
+ "requires": {
+ "accepts": "~1.3.7",
+ "escape-html": "~1.0.3"
+ }
+ },
+ "es-abstract": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "escodegen": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
+ "dev": true,
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "eslint": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz",
+ "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==",
+ "dev": true,
+ "requires": {
+ "@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.2",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.1.1",
+ "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": "^11.7.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^6.4.1",
+ "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.2",
+ "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"
+ },
+ "dependencies": {
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "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,
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
+ "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
+ },
+ "import-fresh": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "inquirer": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
+ "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^3.2.0",
+ "chalk": "^2.4.2",
+ "cli-cursor": "^2.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^2.0.0",
+ "lodash": "^4.17.12",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.4.0",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^5.1.0",
+ "through": "^2.3.6"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "rxjs": {
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+ "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-config-airbnb": {
+ "version": "17.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz",
+ "integrity": "sha512-R9jw28hFfEQnpPau01NO5K/JWMGLi6aymiF6RsnMURjTk+MqZKllCqGK/0tOvHkPi/NWSSOU2Ced/GX++YxLnw==",
+ "dev": true,
+ "requires": {
+ "eslint-config-airbnb-base": "^13.1.0",
+ "object.assign": "^4.1.0",
+ "object.entries": "^1.0.4"
+ }
+ },
+ "eslint-config-airbnb-base": {
+ "version": "13.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz",
+ "integrity": "sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w==",
+ "dev": true,
+ "requires": {
+ "confusing-browser-globals": "^1.0.5",
+ "object.assign": "^4.1.0",
+ "object.entries": "^1.1.0"
+ }
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz",
+ "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.2.0",
+ "object-assign": "^4.0.1",
+ "resolve": "^1.1.6"
+ }
+ },
+ "eslint-import-resolver-reactnative": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-reactnative/-/eslint-import-resolver-reactnative-1.0.2.tgz",
+ "integrity": "sha1-yLNkBdduLeF/cDuAZteIfNc6+0k=",
+ "dev": true,
+ "requires": {
+ "eslint-import-resolver-node": "^0.2.3",
+ "find-root": "^1.0.0"
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
+ "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.9",
+ "pkg-dir": "^2.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ }
+ }
+ },
+ "eslint-plugin-eslint-comments": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.1.2.tgz",
+ "integrity": "sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5",
+ "ignore": "^5.0.5"
+ }
+ },
+ "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,
+ "requires": {
+ "lodash": "^4.17.10"
+ }
+ },
+ "eslint-plugin-import": {
+ "version": "2.17.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.17.3.tgz",
+ "integrity": "sha512-qeVf/UwXFJbeyLbxuY8RgqDyEKCkqV7YC+E5S5uOjAp4tOc8zj01JP3ucoBM8JcEqd1qRasJSg6LLlisirfy0Q==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.2",
+ "eslint-module-utils": "^2.4.0",
+ "has": "^1.0.3",
+ "lodash": "^4.17.11",
+ "minimatch": "^3.0.4",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.11.0"
+ },
+ "dependencies": {
+ "doctrine": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
+ }
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz",
+ "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.9",
+ "resolve": "^1.13.1"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "eslint-plugin-jsx-a11y": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz",
+ "integrity": "sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w==",
+ "dev": true,
+ "requires": {
+ "aria-query": "^3.0.0",
+ "array-includes": "^3.0.3",
+ "ast-types-flow": "^0.0.7",
+ "axobject-query": "^2.0.2",
+ "damerau-levenshtein": "^1.0.4",
+ "emoji-regex": "^7.0.2",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.0.1"
+ }
+ },
+ "eslint-plugin-prettier": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz",
+ "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==",
+ "dev": true,
+ "requires": {
+ "fast-diff": "^1.1.1",
+ "jest-docblock": "^21.0.0"
+ }
+ },
+ "eslint-plugin-react": {
+ "version": "7.13.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.13.0.tgz",
+ "integrity": "sha512-uA5LrHylu8lW/eAH3bEQe9YdzpPaFd9yAJTwTi/i/BKTD7j6aQMKVAdGM/ML72zD6womuSK7EiGtMKuK06lWjQ==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "doctrine": "^2.1.0",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^2.1.0",
+ "object.fromentries": "^2.0.0",
+ "prop-types": "^15.7.2",
+ "resolve": "^1.10.1"
+ }
+ },
+ "eslint-plugin-react-hooks": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.0.tgz",
+ "integrity": "sha512-lHBVRIaz5ibnIgNG07JNiAuBUeKhEf8l4etNx5vfAEwqQ5tcuK3jV9yjmopPgQDagQb7HwIuQVsE3IVcGrRnag==",
+ "dev": true
+ },
+ "eslint-plugin-react-native": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.6.0.tgz",
+ "integrity": "sha512-BEQcHZ06hZSBYWFVuNEq0xuui5VEsWpHDsZGBtfadHfCRqRMUrkYPgdDb3bpc60qShHE83kqIv59uKdinEg91Q==",
+ "dev": true,
+ "requires": {
+ "eslint-plugin-react-native-globals": "^0.1.1"
+ }
+ },
+ "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
+ },
+ "eslint-scope": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "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,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
+ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
+ "dev": true
+ },
+ "espree": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
+ "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-jsx": "^5.2.0",
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ },
+ "esquery": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
+ "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
+ "dev": true
+ }
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.1.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+ },
+ "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=="
+ },
+ "eventemitter3": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
+ "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="
+ },
+ "events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
+ },
+ "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=="
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "expect": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
+ "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
+ "dev": true,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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-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
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "external-editor": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
+ "requires": {
+ "chardet": "^0.4.0",
+ "iconv-lite": "^0.4.17",
+ "tmp": "^0.0.33"
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fancy-log": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
+ "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
+ "requires": {
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "parse-node-version": "^1.0.0",
+ "time-stamp": "^1.0.0"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+ "dev": true
+ },
+ "fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fast-plist": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/fast-plist/-/fast-plist-0.1.2.tgz",
+ "integrity": "sha1-pFr/NFGWAG1AbKbNzQX2kFHvNbg="
+ },
+ "fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "requires": {
+ "bser": "2.1.1"
+ }
+ },
+ "fbjs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz",
+ "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==",
+ "requires": {
+ "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"
+ }
+ },
+ "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=="
+ },
+ "fbjs-scripts": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.2.0.tgz",
+ "integrity": "sha512-5krZ8T0Bf8uky0abPoCLrfa7Orxd8UH4Qq8hRUF2RZYNMu+FmEOrBc7Ib3YVONmxTXTlLAvyrrdrVmksDb2OqQ==",
+ "requires": {
+ "@babel/core": "^7.0.0",
+ "ansi-colors": "^1.0.1",
+ "babel-preset-fbjs": "^3.2.0",
+ "core-js": "^2.4.1",
+ "cross-spawn": "^5.1.0",
+ "fancy-log": "^1.3.2",
+ "object-assign": "^4.0.1",
+ "plugin-error": "^0.1.2",
+ "semver": "^5.1.0",
+ "through2": "^2.0.0"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-entry-cache": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^2.0.1"
+ }
+ },
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "optional": true
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ }
+ },
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ }
+ },
+ "find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
+ "dev": true
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+ "dev": true,
+ "requires": {
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "flatted": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
+ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
+ "dev": true
+ },
+ "follow-redirects": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
+ "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+ "requires": {
+ "debug": "=3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+ },
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "fsevents": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg=="
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "global": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
+ "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
+ "requires": {
+ "min-document": "^2.19.0",
+ "process": "^0.11.10"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "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=="
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
+ },
+ "hammerjs": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
+ "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "haversine": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/haversine/-/haversine-1.1.1.tgz",
+ "integrity": "sha512-KW4MS8+krLIeiw8bF5z532CptG0ZyGGFj0UbKMxx25lKnnJ1hMUbuzQl+PXQjNiDLnl1bOyz23U6hSK10r4guw=="
+ },
+ "hermes-engine": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.2.1.tgz",
+ "integrity": "sha512-eNHUQHuadDMJARpaqvlCZoK/Nitpj6oywq3vQ3wCwEsww5morX34mW5PmKWQTO7aU0ck0hgulxR+EVDlXygGxQ=="
+ },
+ "hoist-non-react-statics": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
+ "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
+ },
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="
+ },
+ "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,
+ "requires": {
+ "whatwg-encoding": "^1.0.1"
+ }
+ },
+ "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
+ },
+ "http-errors": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
+ "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ }
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "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
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
+ "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
+ "dev": true
+ },
+ "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=="
+ },
+ "import-fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "requires": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ }
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "inquirer": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
+ "requires": {
+ "ansi-escapes": "^3.0.0",
+ "chalk": "^2.0.0",
+ "cli-cursor": "^2.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^2.0.4",
+ "figures": "^2.0.0",
+ "lodash": "^4.3.0",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rx-lite": "^4.0.8",
+ "rx-lite-aggregates": "^4.0.8",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^4.0.0",
+ "through": "^2.3.6"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
+ },
+ "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
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "is-callable": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+ }
+ }
+ },
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
+ },
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+ "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "dev": true,
+ "optional": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ },
+ "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
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-regex": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+ "dev": true
+ },
+ "is-symbol": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
+ },
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ },
+ "dependencies": {
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ }
+ }
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "istanbul-lib-coverage": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "dev": true
+ },
+ "istanbul-lib-instrument": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
+ "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
+ "dev": true,
+ "requires": {
+ "@babel/generator": "^7.4.0",
+ "@babel/parser": "^7.4.3",
+ "@babel/template": "^7.4.0",
+ "@babel/traverse": "^7.4.3",
+ "@babel/types": "^7.4.0",
+ "istanbul-lib-coverage": "^2.0.5",
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "istanbul-lib-coverage": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
+ "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "import-local": "^3.0.2",
+ "jest-cli": "^25.5.4"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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/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,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true
+ },
+ "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
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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-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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-validate": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "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
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "yargs": {
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+ "dev": true,
+ "requires": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "execa": "^3.2.0",
+ "throat": "^5.0.0"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
+ "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "execa": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
+ "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@jest/transform": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@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"
+ }
+ },
+ "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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "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,
+ "requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__traverse": "^7.0.6"
+ }
+ },
+ "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,
+ "requires": {
+ "babel-plugin-jest-hoist": "^25.5.0",
+ "babel-preset-current-node-syntax": "^0.1.2"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "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"
+ }
+ },
+ "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
+ },
+ "jest-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-validate": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "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
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ }
+ }
+ },
+ "jest-diff": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
+ "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "diff-sequences": "^25.2.6",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-docblock": {
+ "version": "21.2.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz",
+ "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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-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,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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-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,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "jest-fetch-mock": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz",
+ "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==",
+ "dev": true,
+ "requires": {
+ "cross-fetch": "^3.0.4",
+ "promise-polyfill": "^8.1.3"
+ }
+ },
+ "jest-get-type": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
+ "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q=="
+ },
+ "jest-haste-map": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz",
+ "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==",
+ "requires": {
+ "@jest/types": "^24.9.0",
+ "anymatch": "^2.0.0",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^1.2.7",
+ "graceful-fs": "^4.1.15",
+ "invariant": "^2.2.4",
+ "jest-serializer": "^24.9.0",
+ "jest-util": "^24.9.0",
+ "jest-worker": "^24.9.0",
+ "micromatch": "^3.1.10",
+ "sane": "^4.0.3",
+ "walker": "^1.0.7"
+ }
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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/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,
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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-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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "chalk": "^3.0.0",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-message-util": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz",
+ "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "@types/stack-utils": "^1.0.1",
+ "chalk": "^2.0.1",
+ "micromatch": "^3.1.10",
+ "slash": "^2.0.0",
+ "stack-utils": "^1.0.1"
+ },
+ "dependencies": {
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A=="
+ }
+ }
+ },
+ "jest-mock": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz",
+ "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==",
+ "requires": {
+ "@jest/types": "^24.9.0"
+ }
+ },
+ "jest-pnp-resolver": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
+ "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz",
+ "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "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
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "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
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-snapshot": "^25.5.1"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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/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,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "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"
+ }
+ },
+ "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,
+ "requires": {
+ "@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-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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/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,
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/transform": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true
+ },
+ "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
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "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"
+ }
+ },
+ "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,
+ "requires": {
+ "@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-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,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "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
+ },
+ "jest-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-validate": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "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
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "dev": true
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "strip-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
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "yargs": {
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+ "dev": true,
+ "requires": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "jest-serializer": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz",
+ "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ=="
+ },
+ "jest-snapshot": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
+ "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
+ "dev": true,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ }
+ }
+ },
+ "jest-util": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz",
+ "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==",
+ "requires": {
+ "@jest/console": "^24.9.0",
+ "@jest/fake-timers": "^24.9.0",
+ "@jest/source-map": "^24.9.0",
+ "@jest/test-result": "^24.9.0",
+ "@jest/types": "^24.9.0",
+ "callsites": "^3.0.0",
+ "chalk": "^2.0.1",
+ "graceful-fs": "^4.1.15",
+ "is-ci": "^2.0.0",
+ "mkdirp": "^0.5.1",
+ "slash": "^2.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
+ },
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A=="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "jest-validate": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz",
+ "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==",
+ "requires": {
+ "@jest/types": "^24.9.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^2.0.1",
+ "jest-get-type": "^24.9.0",
+ "leven": "^3.1.0",
+ "pretty-format": "^24.9.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "@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,
+ "requires": {
+ "@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/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,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "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,
+ "requires": {
+ "type-fest": "^0.11.0"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@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-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,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "jest-worker": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
+ "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "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=="
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "jetifier": {
+ "version": "1.6.5",
+ "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.5.tgz",
+ "integrity": "sha512-T7yzBSu9PR+DqjYt+I0KVO1XTb1QhAfHnXV5Nd3xpbXM6Xg4e3vP60Q4qkNU8Fh6PHC2PivPUNN3rY7G2MxcDQ=="
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true
+ },
+ "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=="
+ },
+ "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,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "ws": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+ "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
+ "dev": true
+ }
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ },
+ "json5": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "jsrsasign": {
+ "version": "8.0.15",
+ "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-8.0.15.tgz",
+ "integrity": "sha512-6UKHqnNs5lYROn03wf1BTw7DQx5tW616DTigjbo0JHV97D3HzIqYmPVCBSNsfEfQOrfpFqmPZJvaC3cMNOT0Yw=="
+ },
+ "jsx-ast-utils": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz",
+ "integrity": "sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "object.assign": "^4.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
+ },
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "requires": {
+ "graceful-fs": "^4.1.9"
+ }
+ },
+ "kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true
+ },
+ "latlon-geohash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/latlon-geohash/-/latlon-geohash-2.0.0.tgz",
+ "integrity": "sha512-OKBswTwrvTdtenV+9C9euBmvgGuqyjJNAzpQCarRz1m8/pYD2nz9fKkXmLs2S3jeXaLi3Ry76twQplKKUlgS/g=="
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ }
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+ },
+ "lodash-es": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz",
+ "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ=="
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
+ "dev": true
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "lodash.throttle": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
+ },
+ "lodash.unescape": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz",
+ "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "logkitty": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.6.1.tgz",
+ "integrity": "sha512-cHuXN8qUZuzX/7kB6VyS7kB4xyD24e8gyHXIFNhIv+fjW3P+jEXNUhj0o/7qWJtv7UZpbnPgUqzu/AZQ8RAqxQ==",
+ "requires": {
+ "ansi-fragments": "^0.2.1",
+ "dayjs": "^1.8.15",
+ "yargs": "^12.0.5"
+ }
+ },
+ "lolex": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
+ "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lottie-ios": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/lottie-ios/-/lottie-ios-3.1.6.tgz",
+ "integrity": "sha512-pnwkPpM3e6CiHY/Mc1eXlDEfvv/CW9jx/TNsX/JWABVF0RiyEidQd8uXBiu5GUxY813pZJN53+k+/cOiAufE5A=="
+ },
+ "lottie-react-native": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-3.3.2.tgz",
+ "integrity": "sha512-FS8sXDL7s7TUj3Aq0raAZKNOJUO7tuqqOAv5r5yzsZgc0t7Oo4QDxCREsaO2oqSGtTyJKlLlF6/e2g+J5XFSAQ==",
+ "requires": {
+ "invariant": "^2.2.2",
+ "lottie-ios": "^3.1.3",
+ "prop-types": "^15.5.10",
+ "react-native-safe-modules": "^1.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "requires": {
+ "tmpl": "1.0.x"
+ }
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^2.0.0",
+ "p-is-promise": "^2.0.0"
+ }
+ },
+ "merge-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+ "requires": {
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "metro": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro/-/metro-0.54.1.tgz",
+ "integrity": "sha512-6ODPT4mEo4FCpbExRNnQAcZmf1VeNvYOTMj2Na03FjGqhNODHhI2U/wF/Ul5gqTyJ2dVdkXeyvKW3gl/LrnJRg==",
+ "requires": {
+ "@babel/core": "^7.0.0",
+ "@babel/generator": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/plugin-external-helpers": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "absolute-path": "^0.0.0",
+ "async": "^2.4.0",
+ "babel-preset-fbjs": "^3.1.2",
+ "buffer-crc32": "^0.2.13",
+ "chalk": "^2.4.1",
+ "concat-stream": "^1.6.0",
+ "connect": "^3.6.5",
+ "debug": "^2.2.0",
+ "denodeify": "^1.2.1",
+ "eventemitter3": "^3.0.0",
+ "fbjs": "^1.0.0",
+ "fs-extra": "^1.0.0",
+ "graceful-fs": "^4.1.3",
+ "image-size": "^0.6.0",
+ "invariant": "^2.2.4",
+ "jest-haste-map": "^24.7.1",
+ "jest-worker": "^24.6.0",
+ "json-stable-stringify": "^1.0.1",
+ "lodash.throttle": "^4.1.1",
+ "merge-stream": "^1.0.1",
+ "metro-babel-register": "0.54.1",
+ "metro-babel-transformer": "0.54.1",
+ "metro-cache": "0.54.1",
+ "metro-config": "0.54.1",
+ "metro-core": "0.54.1",
+ "metro-inspector-proxy": "0.54.1",
+ "metro-minify-uglify": "0.54.1",
+ "metro-react-native-babel-preset": "0.54.1",
+ "metro-resolver": "0.54.1",
+ "metro-source-map": "0.54.1",
+ "mime-types": "2.1.11",
+ "mkdirp": "^0.5.1",
+ "node-fetch": "^2.2.0",
+ "nullthrows": "^1.1.0",
+ "react-transform-hmr": "^1.0.4",
+ "resolve": "^1.5.0",
+ "rimraf": "^2.5.4",
+ "serialize-error": "^2.1.0",
+ "source-map": "^0.5.6",
+ "temp": "0.8.3",
+ "throat": "^4.1.0",
+ "wordwrap": "^1.0.0",
+ "write-file-atomic": "^1.2.0",
+ "ws": "^1.1.5",
+ "xpipe": "^1.0.5",
+ "yargs": "^9.0.0"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "fs-extra": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
+ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0",
+ "klaw": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "mem": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "metro-react-native-babel-preset": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.54.1.tgz",
+ "integrity": "sha512-Hfr32+u5yYl3qhYQJU8NQ26g4kQlc3yFMg7keVR/3H8rwBIbFqXgsKt8oe0dOrv7WvrMqBHhDtVdU9ls3sSq8g==",
+ "requires": {
+ "@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-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-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.0.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "metro-babel7-plugin-react-transform": "0.54.1",
+ "react-transform-hmr": "^1.0.4"
+ }
+ },
+ "mime-db": {
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
+ "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk="
+ },
+ "mime-types": {
+ "version": "2.1.11",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
+ "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=",
+ "requires": {
+ "mime-db": "~1.23.0"
+ }
+ },
+ "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=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "requires": {
+ "execa": "^0.7.0",
+ "lcid": "^1.0.0",
+ "mem": "^1.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "requires": {
+ "camelcase": "^4.1.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "read-pkg-up": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^7.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ }
+ }
+ },
+ "metro-babel-register": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.54.1.tgz",
+ "integrity": "sha512-j3VydgncUG8HP6AZala6GTIt3V01nptodnnOke3JMYLqgk8EJ1LOVOdotK9pXi80o7EmmNKFs/LyyH8z+uAJzQ==",
+ "requires": {
+ "@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-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-transform-async-to-generator": "^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",
+ "core-js": "^2.2.2",
+ "escape-string-regexp": "^1.0.5"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "metro-babel-transformer": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.54.1.tgz",
+ "integrity": "sha512-2aiAnuYBdcLV1VINb8ENAA4keIaJIepHgR9+iRvIde+9GSjKnexqx4nNmJN392285gRDp1fVZ7uY0uQawK/A5g==",
+ "requires": {
+ "@babel/core": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "metro-babel7-plugin-react-transform": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.54.1.tgz",
+ "integrity": "sha512-jWm5myuMoZAOhoPsa8ItfDxdTcOzKhTTzzhFlbZnRamE7i9qybeMdrZt8KHQpF7i2p/mKzE9Yhf4ouOz5K/jHg==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0"
+ }
+ },
+ "metro-cache": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.54.1.tgz",
+ "integrity": "sha512-RxCFoNcANHXZYi4MIQNnqh68gUnC3bMpzCFJY5pBoqqdrkkn8ibYglBweA0/DW7hx1OZTJWelwS1Dp8xxmE2CA==",
+ "requires": {
+ "jest-serializer": "^24.4.0",
+ "metro-core": "0.54.1",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4"
+ }
+ },
+ "metro-config": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.54.1.tgz",
+ "integrity": "sha512-FpxrA+63rGkPGvGI653dvuSreJzU+eOTILItVnnhmqwn2SAK5V00N/qGTOIJe2YIuWEFXwCzw9lXmANrXbwuGg==",
+ "requires": {
+ "cosmiconfig": "^5.0.5",
+ "jest-validate": "^24.7.0",
+ "metro": "0.54.1",
+ "metro-cache": "0.54.1",
+ "metro-core": "0.54.1",
+ "pretty-format": "^24.7.0"
+ }
+ },
+ "metro-core": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.54.1.tgz",
+ "integrity": "sha512-8oz3Ck7QFBzW9dG9tKFhrXHKPu2Ajx3R7eatf61Gl6Jf/tF7PNouv3wHxPsJW3oXDFiwKLszd89+OgleTGkB5g==",
+ "requires": {
+ "jest-haste-map": "^24.7.1",
+ "lodash.throttle": "^4.1.1",
+ "metro-resolver": "0.54.1",
+ "wordwrap": "^1.0.0"
+ }
+ },
+ "metro-inspector-proxy": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.54.1.tgz",
+ "integrity": "sha512-sf6kNu7PgFW6U+hU7YGZfbAUKAPVvCJhY8YVu/A1RMKH9nNULrCo+jlWh0gWgmFfWRQiAPCElevROg+5somk8A==",
+ "requires": {
+ "connect": "^3.6.5",
+ "debug": "^2.2.0",
+ "rxjs": "^5.4.3",
+ "ws": "^1.1.5",
+ "yargs": "^9.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "mem": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "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=="
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "requires": {
+ "execa": "^0.7.0",
+ "lcid": "^1.0.0",
+ "mem": "^1.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "requires": {
+ "camelcase": "^4.1.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "read-pkg-up": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^7.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ }
+ }
+ },
+ "metro-minify-uglify": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.54.1.tgz",
+ "integrity": "sha512-z+pOPna/8IxD4OhjW6Xo1mV2EszgqqQHqBm1FdmtdF6IpWkQp33qpDBNEi9NGZTOr7pp2bvcxZnvNJdC2lrK9Q==",
+ "requires": {
+ "uglify-es": "^3.1.9"
+ }
+ },
+ "metro-react-native-babel-preset": {
+ "version": "0.56.0",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.0.tgz",
+ "integrity": "sha512-MAo1fm0dNn6MVZmylaz6k2HC1MINHLTLfE7O3a9Xz3fAtbGbApisp06rBUfK5uUqIJDmAaKgbiT34lHJSIiE6Q==",
+ "dev": true,
+ "requires": {
+ "@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-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-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.0.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "react-refresh": "^0.4.0"
+ }
+ },
+ "metro-react-native-babel-transformer": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.54.1.tgz",
+ "integrity": "sha512-ECw7xG91t8dk/PHdiyoC5SP1s9OQzfmJzG5m0YOZaKtHMe534qTDbncxaKfTI3CP99yti2maXFBRVj+xyvph/g==",
+ "requires": {
+ "@babel/core": "^7.0.0",
+ "babel-preset-fbjs": "^3.1.2",
+ "metro-babel-transformer": "0.54.1",
+ "metro-react-native-babel-preset": "0.54.1"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "metro-react-native-babel-preset": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.54.1.tgz",
+ "integrity": "sha512-Hfr32+u5yYl3qhYQJU8NQ26g4kQlc3yFMg7keVR/3H8rwBIbFqXgsKt8oe0dOrv7WvrMqBHhDtVdU9ls3sSq8g==",
+ "requires": {
+ "@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-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-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.0.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "metro-babel7-plugin-react-transform": "0.54.1",
+ "react-transform-hmr": "^1.0.4"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "metro-resolver": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.54.1.tgz",
+ "integrity": "sha512-Byv1LIawYAASy9CFRwzrncYnqaFGLe8vpw178EtzStqP05Hu6hXSqkNTrfoXa+3V9bPFGCrVzFx2NY3gFp2btg==",
+ "requires": {
+ "absolute-path": "^0.0.0"
+ }
+ },
+ "metro-source-map": {
+ "version": "0.54.1",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.54.1.tgz",
+ "integrity": "sha512-E9iSYMSUSq5qYi1R2hTQtxH4Mxjzfgr/jaSmQIWi7h3fG2P1qOZNNSzeaeUeTK+s2N/ksVlkcL5kMikol8CDrQ==",
+ "requires": {
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "source-map": "^0.5.6"
+ }
+ },
+ "metro-symbolicate": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.56.4.tgz",
+ "integrity": "sha512-8mCNNn6zV5FFKCIcRgI7736Xl+owgvYuy8qanPxZN36f7utiWRYeB+PirEBPcglBk4qQvoy2lT6oPULNXZQbbQ==",
+ "requires": {
+ "invariant": "^2.2.4",
+ "metro-source-map": "^0.56.4",
+ "source-map": "^0.5.6",
+ "through2": "^2.0.1",
+ "vlq": "^1.0.0"
+ },
+ "dependencies": {
+ "metro-source-map": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.56.4.tgz",
+ "integrity": "sha512-f1P9/rpFmG3Z0Jatiw2zvLItx1TwR7mXTSDj4qLDCWeVMB3kEXAr3R0ucumTW8c6HfpJljeRBWzYFXF33fd81g==",
+ "requires": {
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "invariant": "^2.2.4",
+ "metro-symbolicate": "^0.56.4",
+ "ob1": "^0.56.4",
+ "source-map": "^0.5.6",
+ "vlq": "^1.0.0"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "mime": {
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz",
+ "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w=="
+ },
+ "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=="
+ },
+ "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==",
+ "requires": {
+ "mime-db": "1.44.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ },
+ "min-document": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
+ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
+ "requires": {
+ "dom-walk": "^0.1.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "mock-async-storage": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/mock-async-storage/-/mock-async-storage-2.2.0.tgz",
+ "integrity": "sha512-HpMe9KNKxlyiRyOXFBrEOSQ1Idcoz1k5W5J+6C8zYzjasSxFJlrA5wVVjPR4U6zJJtrbuky1c0s1o3whzgghSQ==",
+ "dev": true,
+ "requires": {
+ "deepmerge": "^3.3.0"
+ }
+ },
+ "moment": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
+ "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
+ },
+ "moment-timezone": {
+ "version": "0.5.28",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz",
+ "integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==",
+ "requires": {
+ "moment": ">= 2.9.0"
+ }
+ },
+ "morgan": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
+ "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
+ "requires": {
+ "basic-auth": "~2.0.1",
+ "debug": "2.6.9",
+ "depd": "~2.0.0",
+ "on-finished": "~2.3.0",
+ "on-headers": "~1.0.2"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "mute-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
+ },
+ "nan": {
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
+ "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
+ "optional": true
+ },
+ "nanoid": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.9.tgz",
+ "integrity": "sha512-fFiXlFo4Wkuei3i6w9SQI6yuzGRTGi8Z2zZKZpUxv/bQlBi4jtbVPBSNFZHQA9PNjofWqtIa8p+pnsc0kgZrhQ=="
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "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
+ },
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
+ },
+ "node-fetch": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
+ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
+ },
+ "node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
+ },
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA="
+ },
+ "node-notifier": {
+ "version": "5.4.3",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
+ "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
+ "requires": {
+ "growly": "^1.3.0",
+ "is-wsl": "^1.1.0",
+ "semver": "^5.5.0",
+ "shellwords": "^0.1.1",
+ "which": "^1.3.0"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "nullthrows": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
+ "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw=="
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ },
+ "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
+ },
+ "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
+ },
+ "ob1": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.56.4.tgz",
+ "integrity": "sha512-URgFof9z2wotiYFsqlydXtQfGV81gvBI2ODy64xfd3vPo+AYom5PVDX4t4zn23t/O+S2IxqApSQM8uJAybmz7w=="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ }
+ },
+ "object.entries": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz",
+ "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
+ "object.fromentries": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz",
+ "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
+ "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "on-headers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ },
+ "dependencies": {
+ "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=="
+ }
+ }
+ },
+ "open": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz",
+ "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==",
+ "requires": {
+ "is-wsl": "^1.1.0"
+ }
+ },
+ "opencollective-postinstall": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
+ "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw=="
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "options": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
+ "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
+ },
+ "ora": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
+ "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
+ "requires": {
+ "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"
+ }
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "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="
+ },
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
+ },
+ "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
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ },
+ "p-is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg=="
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "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=="
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ }
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "parse-node-version": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
+ "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA=="
+ },
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "requires": {
+ "pify": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ }
+ }
+ },
+ "pegjs": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
+ "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0="
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
+ },
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "requires": {
+ "node-modules-regexp": "^1.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ },
+ "plist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
+ "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
+ "requires": {
+ "base64-js": "^1.2.3",
+ "xmlbuilder": "^9.0.7",
+ "xmldom": "0.1.x"
+ },
+ "dependencies": {
+ "xmldom": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
+ "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ=="
+ }
+ }
+ },
+ "plugin-error": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
+ "requires": {
+ "ansi-cyan": "^0.1.1",
+ "ansi-red": "^0.1.1",
+ "arr-diff": "^1.0.1",
+ "arr-union": "^2.0.1",
+ "extend-shallow": "^1.1.2"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
+ "requires": {
+ "arr-flatten": "^1.0.1",
+ "array-slice": "^0.2.3"
+ }
+ },
+ "arr-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0="
+ },
+ "extend-shallow": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
+ "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
+ "requires": {
+ "kind-of": "^1.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+ "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ="
+ }
+ }
+ },
+ "pn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+ "dev": true
+ },
+ "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="
+ },
+ "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
+ },
+ "prettier": {
+ "version": "1.16.4",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz",
+ "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==",
+ "dev": true
+ },
+ "pretty-format": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
+ "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
+ "requires": {
+ "@jest/types": "^24.9.0",
+ "ansi-regex": "^4.0.0",
+ "ansi-styles": "^3.2.0",
+ "react-is": "^16.8.4"
+ }
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "requires": {
+ "asap": "~2.0.3"
+ }
+ },
+ "promise-polyfill": {
+ "version": "8.1.3",
+ "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz",
+ "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==",
+ "dev": true
+ },
+ "prompts": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
+ "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
+ "dev": true,
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.4"
+ }
+ },
+ "prop-types": {
+ "version": "15.7.2",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
+ "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.8.1"
+ }
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ },
+ "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
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "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
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "query-string": {
+ "version": "6.12.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.12.1.tgz",
+ "integrity": "sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA==",
+ "requires": {
+ "decode-uri-component": "^0.2.0",
+ "split-on-first": "^1.0.0",
+ "strict-uri-encode": "^2.0.0"
+ }
+ },
+ "random-location": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/random-location/-/random-location-1.1.3.tgz",
+ "integrity": "sha512-+9SZa8R0JTfjrdgImCyq4TJRDzGHfUM9qghsA3D7zrMnUaQVn/xIDtFI+yPegJGO7KuIkduNlL8JXqu3M7Au7w=="
+ },
+ "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=="
+ },
+ "react": {
+ "version": "16.9.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.9.0.tgz",
+ "integrity": "sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w==",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2"
+ }
+ },
+ "react-deep-force-update": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.2.tgz",
+ "integrity": "sha512-WUSQJ4P/wWcusaH+zZmbECOk7H5N2pOIl0vzheeornkIMhu+qrNdGFm0bDZLCb0hSF0jf/kH1SgkNGfBdTc4wA=="
+ },
+ "react-devtools-core": {
+ "version": "3.6.3",
+ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.6.3.tgz",
+ "integrity": "sha512-+P+eFy/yo8Z/UH9J0DqHZuUM5+RI2wl249TNvMx3J2jpUomLQa4Zxl56GEotGfw3PIP1eI+hVf1s53FlUONStQ==",
+ "requires": {
+ "shell-quote": "^1.6.1",
+ "ws": "^3.3.1"
+ },
+ "dependencies": {
+ "ultron": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
+ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
+ },
+ "ws": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+ "requires": {
+ "async-limiter": "~1.0.0",
+ "safe-buffer": "~5.1.0",
+ "ultron": "~1.1.0"
+ }
+ }
+ }
+ },
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "react-native": {
+ "version": "0.61.5",
+ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.61.5.tgz",
+ "integrity": "sha512-MXqE3NoGO0T3dUKIKkIppijBhRRMpfN6ANbhMXHDuyfA+fSilRWgCwYgR/YNCC7ntECoJYikKaNTUBB0DeQy6Q==",
+ "requires": {
+ "@babel/runtime": "^7.0.0",
+ "@react-native-community/cli": "^3.0.0",
+ "@react-native-community/cli-platform-android": "^3.0.0",
+ "@react-native-community/cli-platform-ios": "^3.0.0",
+ "abort-controller": "^3.0.0",
+ "art": "^0.10.0",
+ "base64-js": "^1.1.2",
+ "connect": "^3.6.5",
+ "create-react-class": "^15.6.3",
+ "escape-string-regexp": "^1.0.5",
+ "event-target-shim": "^5.0.1",
+ "fbjs": "^1.0.0",
+ "fbjs-scripts": "^1.1.0",
+ "hermes-engine": "^0.2.1",
+ "invariant": "^2.2.4",
+ "jsc-android": "^245459.0.0",
+ "metro-babel-register": "^0.56.0",
+ "metro-react-native-babel-transformer": "^0.56.0",
+ "metro-source-map": "^0.56.0",
+ "nullthrows": "^1.1.0",
+ "pretty-format": "^24.7.0",
+ "promise": "^7.1.1",
+ "prop-types": "^15.7.2",
+ "react-devtools-core": "^3.6.3",
+ "react-refresh": "^0.4.0",
+ "regenerator-runtime": "^0.13.2",
+ "scheduler": "0.15.0",
+ "stacktrace-parser": "^0.1.3",
+ "whatwg-fetch": "^3.0.0"
+ },
+ "dependencies": {
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ }
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ }
+ }
+ },
+ "@react-native-community/cli": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-3.2.1.tgz",
+ "integrity": "sha512-bZ/bfZ+9r1gQSxp6t7+00DcpC6vmbVYSvzUCFM/yo5k8bhsDdcy8aocscIaXXVGG+v9Edri/Q7hH9ks7L18/Rg==",
+ "requires": {
+ "@hapi/joi": "^15.0.3",
+ "@react-native-community/cli-debugger-ui": "^3.0.0",
+ "@react-native-community/cli-tools": "^3.0.0",
+ "@react-native-community/cli-types": "^3.0.0",
+ "chalk": "^2.4.2",
+ "command-exists": "^1.2.8",
+ "commander": "^2.19.0",
+ "compression": "^1.7.1",
+ "connect": "^3.6.5",
+ "cosmiconfig": "^5.1.0",
+ "deepmerge": "^3.2.0",
+ "didyoumean": "^1.2.1",
+ "envinfo": "^7.1.0",
+ "errorhandler": "^1.5.0",
+ "execa": "^1.0.0",
+ "find-up": "^4.1.0",
+ "fs-extra": "^7.0.1",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.1.3",
+ "inquirer": "^3.0.6",
+ "lodash": "^4.17.5",
+ "metro": "^0.56.0",
+ "metro-config": "^0.56.0",
+ "metro-core": "^0.56.0",
+ "metro-react-native-babel-transformer": "^0.56.0",
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "morgan": "^1.9.0",
+ "node-notifier": "^5.2.1",
+ "open": "^6.2.0",
+ "ora": "^3.4.0",
+ "plist": "^3.0.0",
+ "pretty-format": "^25.1.0",
+ "semver": "^6.3.0",
+ "serve-static": "^1.13.1",
+ "shell-quote": "1.6.1",
+ "strip-ansi": "^5.2.0",
+ "sudo-prompt": "^9.0.0",
+ "wcwidth": "^1.0.1",
+ "ws": "^1.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
+ },
+ "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==",
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ }
+ }
+ }
+ },
+ "@react-native-community/cli-platform-android": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-3.1.4.tgz",
+ "integrity": "sha512-ClSdY20F0gzWVLTqCv7vHjnUqOcuq10jd9GgHX6lGSc2GI+Ql3/aQg3tmG4uY3KXNNwAv3U8QCoYgg1WGfwiHA==",
+ "requires": {
+ "@react-native-community/cli-tools": "^3.0.0",
+ "chalk": "^2.4.2",
+ "execa": "^1.0.0",
+ "jetifier": "^1.6.2",
+ "logkitty": "^0.6.0",
+ "slash": "^3.0.0",
+ "xmldoc": "^1.1.2"
+ }
+ },
+ "@react-native-community/cli-platform-ios": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.2.0.tgz",
+ "integrity": "sha512-pzEnx68H6+mHBq5jsMrr3UmAmkrLSMlC9BZ4yoUdfUXCQq6/R70zNYvH4hjUw8h2Al7Kgq53UzHUsM0ph8TSWQ==",
+ "requires": {
+ "@react-native-community/cli-tools": "^3.0.0",
+ "chalk": "^2.4.2",
+ "js-yaml": "^3.13.1",
+ "xcode": "^2.0.0"
+ }
+ },
+ "@react-native-community/cli-tools": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-3.0.0.tgz",
+ "integrity": "sha512-8IhQKZdf3E4CR8T7HhkPGgorot/cLkRDgneJFDSWk/wCYZAuUh4NEAdumQV7N0jLSMWX7xxiWUPi94lOBxVY9g==",
+ "requires": {
+ "chalk": "^2.4.2",
+ "lodash": "^4.17.5",
+ "mime": "^2.4.1",
+ "node-fetch": "^2.5.0"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "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==",
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "mem": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "metro": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro/-/metro-0.56.4.tgz",
+ "integrity": "sha512-Kt3OQJQtQdts0JrKnyGdLpKHDjqYBgIfzvYrvfhmFCkKuZ8aqRlVnvpfjQ4/OBm0Fmm9NyyxbNRD9VIbj7WjnA==",
+ "requires": {
+ "@babel/core": "^7.0.0",
+ "@babel/generator": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/plugin-external-helpers": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "absolute-path": "^0.0.0",
+ "async": "^2.4.0",
+ "babel-preset-fbjs": "^3.1.2",
+ "buffer-crc32": "^0.2.13",
+ "chalk": "^2.4.1",
+ "concat-stream": "^1.6.0",
+ "connect": "^3.6.5",
+ "debug": "^2.2.0",
+ "denodeify": "^1.2.1",
+ "eventemitter3": "^3.0.0",
+ "fbjs": "^1.0.0",
+ "fs-extra": "^1.0.0",
+ "graceful-fs": "^4.1.3",
+ "image-size": "^0.6.0",
+ "invariant": "^2.2.4",
+ "jest-haste-map": "^24.7.1",
+ "jest-worker": "^24.6.0",
+ "json-stable-stringify": "^1.0.1",
+ "lodash.throttle": "^4.1.1",
+ "merge-stream": "^1.0.1",
+ "metro-babel-register": "^0.56.4",
+ "metro-babel-transformer": "^0.56.4",
+ "metro-cache": "^0.56.4",
+ "metro-config": "^0.56.4",
+ "metro-core": "^0.56.4",
+ "metro-inspector-proxy": "^0.56.4",
+ "metro-minify-uglify": "^0.56.4",
+ "metro-react-native-babel-preset": "^0.56.4",
+ "metro-resolver": "^0.56.4",
+ "metro-source-map": "^0.56.4",
+ "metro-symbolicate": "^0.56.4",
+ "mime-types": "2.1.11",
+ "mkdirp": "^0.5.1",
+ "node-fetch": "^2.2.0",
+ "nullthrows": "^1.1.0",
+ "resolve": "^1.5.0",
+ "rimraf": "^2.5.4",
+ "serialize-error": "^2.1.0",
+ "source-map": "^0.5.6",
+ "temp": "0.8.3",
+ "throat": "^4.1.0",
+ "wordwrap": "^1.0.0",
+ "write-file-atomic": "^1.2.0",
+ "ws": "^1.1.5",
+ "xpipe": "^1.0.5",
+ "yargs": "^9.0.0"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
+ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0",
+ "klaw": "^1.0.0"
+ }
+ }
+ }
+ },
+ "metro-babel-register": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.56.4.tgz",
+ "integrity": "sha512-Phm6hMluOWYqfykftjJ1jsTpWvbgb49AC/1taxEctxUdRCZlFgZwBleJZAhQYxJD5J+ikFkEbHDzePEXb29KVA==",
+ "requires": {
+ "@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-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-transform-async-to-generator": "^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",
+ "core-js": "^2.2.2",
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "metro-babel-transformer": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.56.4.tgz",
+ "integrity": "sha512-IOi4ILgZvaX7GCGHBJp79paNVOq5QxhhbyqAdEJgDP8bHfl/OVHoVKSypfrsMSKSiBrqxhIjyc4XjkXsQtkx5g==",
+ "requires": {
+ "@babel/core": "^7.0.0",
+ "metro-source-map": "^0.56.4"
+ }
+ },
+ "metro-cache": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.56.4.tgz",
+ "integrity": "sha512-d1hiUSKwtRsuMxUhHVJ3tjK2BbpUlJGvTyMWohK8Wxx+0GbnWRWWFcI4vlCzlZfoK0VtZK2MJEl5t7Du1mIniQ==",
+ "requires": {
+ "jest-serializer": "^24.4.0",
+ "metro-core": "^0.56.4",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4"
+ }
+ },
+ "metro-config": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.56.4.tgz",
+ "integrity": "sha512-O85QDHwWdMn/8ERe13y4a6vbZL0AHyO8atTvL+9BCulLEO+FQBi1iJjr3+ViLa8cf0m5dRftDsa7P47m5euk4A==",
+ "requires": {
+ "cosmiconfig": "^5.0.5",
+ "jest-validate": "^24.7.0",
+ "metro": "^0.56.4",
+ "metro-cache": "^0.56.4",
+ "metro-core": "^0.56.4",
+ "pretty-format": "^24.7.0"
+ }
+ },
+ "metro-core": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.56.4.tgz",
+ "integrity": "sha512-hMzkBdgPt5Zm9nr/1KtIT+A6H7TNiLVCEGG5OiAXj8gTRsA2yy7wAdQpwy0xbE+zi88t/pLOzXpd3ClG/YxyWg==",
+ "requires": {
+ "jest-haste-map": "^24.7.1",
+ "lodash.throttle": "^4.1.1",
+ "metro-resolver": "^0.56.4",
+ "wordwrap": "^1.0.0"
+ }
+ },
+ "metro-inspector-proxy": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.56.4.tgz",
+ "integrity": "sha512-E1S3MO25mWKmcLn1UQuCDiS0hf9P2Fwq8sEAX5lBLoZbehepNH+4xJ3xXSY51JX4dozBrE8GGoKL4ll3II40LA==",
+ "requires": {
+ "connect": "^3.6.5",
+ "debug": "^2.2.0",
+ "rxjs": "^5.4.3",
+ "ws": "^1.1.5",
+ "yargs": "^9.0.0"
+ }
+ },
+ "metro-minify-uglify": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.56.4.tgz",
+ "integrity": "sha512-BHgj7+BKEK2pHvWHUR730bIrsZwl8DPtr49x9L0j2grPZ5/UROWXzEr8VZgIss7fl64t845uu1HXNNyuSj2EhA==",
+ "requires": {
+ "uglify-es": "^3.1.9"
+ }
+ },
+ "metro-react-native-babel-preset": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.4.tgz",
+ "integrity": "sha512-CzbBDM9Rh6w8s1fq+ZqihAh7DDqUAcfo9pPww25+N/eJ7UK436Q7JdfxwdIPpBwLFn6o6MyYn+uwL9OEWBJarA==",
+ "requires": {
+ "@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-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-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.0.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "react-refresh": "^0.4.0"
+ }
+ },
+ "metro-react-native-babel-transformer": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.56.4.tgz",
+ "integrity": "sha512-ng74eutuy1nyGI9+TDzzVAVfEmNPDlapV4msTQMKPi4EFqo/fBn7Ct33ME9l5E51pQBBnxt/UwcpTvd13b29kQ==",
+ "requires": {
+ "@babel/core": "^7.0.0",
+ "babel-preset-fbjs": "^3.1.2",
+ "metro-babel-transformer": "^0.56.4",
+ "metro-react-native-babel-preset": "^0.56.4",
+ "metro-source-map": "^0.56.4"
+ }
+ },
+ "metro-resolver": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.56.4.tgz",
+ "integrity": "sha512-Ug4ulVfpkKZ1Wu7mdYj9XLGuOqZTuWCqEhyx3siKTc/2eBwKZQXmiNo5d/IxWNvmwL/87Abeb724I6CMzMfjiQ==",
+ "requires": {
+ "absolute-path": "^0.0.0"
+ }
+ },
+ "metro-source-map": {
+ "version": "0.56.4",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.56.4.tgz",
+ "integrity": "sha512-f1P9/rpFmG3Z0Jatiw2zvLItx1TwR7mXTSDj4qLDCWeVMB3kEXAr3R0ucumTW8c6HfpJljeRBWzYFXF33fd81g==",
+ "requires": {
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "invariant": "^2.2.4",
+ "metro-symbolicate": "^0.56.4",
+ "ob1": "^0.56.4",
+ "source-map": "^0.5.6",
+ "vlq": "^1.0.0"
+ }
+ },
+ "mime-db": {
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
+ "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk="
+ },
+ "mime-types": {
+ "version": "2.1.11",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
+ "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=",
+ "requires": {
+ "mime-db": "~1.23.0"
+ }
+ },
+ "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=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "requires": {
+ "execa": "^0.7.0",
+ "lcid": "^1.0.0",
+ "mem": "^1.1.0"
+ },
+ "dependencies": {
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ }
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "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=="
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "requires": {
+ "camelcase": "^4.1.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "read-pkg-up": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^7.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ }
+ }
+ },
+ "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-background-fetch": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/react-native-background-fetch/-/react-native-background-fetch-2.7.1.tgz",
+ "integrity": "sha512-BNWBVL3kewDJL+B+0gF84iF8viws3AGHwxsWPp+MhWvgb/Su6BPWjgi8u0A9fRYhacozmAcNEPT7E3tah1P8lg==",
+ "requires": {
+ "fast-plist": "^0.1.2",
+ "plist": "^3.0.1",
+ "xcode": "^2.0.0"
+ }
+ },
+ "react-native-background-geolocation": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/react-native-background-geolocation/-/react-native-background-geolocation-3.4.2.tgz",
+ "integrity": "sha512-L2o7q21ih0Ckv1x8hzZoTeW8Wj9gu3fRfMgKhEBG4uRRTGXUBeIQnAk2nRgyHX0Jmj1JnQ0txs1PESZDVBt6vw==",
+ "requires": {
+ "fast-plist": "^0.1.2",
+ "plist": "^2.0.1",
+ "react-native-background-fetch": "~2.7.1",
+ "xcode": "^0.9.1"
+ },
+ "dependencies": {
+ "base64-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz",
+ "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE="
+ },
+ "bplist-creator": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz",
+ "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=",
+ "requires": {
+ "stream-buffers": "~2.2.0"
+ }
+ },
+ "bplist-parser": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
+ "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
+ "requires": {
+ "big-integer": "^1.6.7"
+ }
+ },
+ "plist": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz",
+ "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=",
+ "requires": {
+ "base64-js": "1.2.0",
+ "xmlbuilder": "8.2.2",
+ "xmldom": "0.1.x"
+ }
+ },
+ "simple-plist": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz",
+ "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=",
+ "requires": {
+ "bplist-creator": "0.0.7",
+ "bplist-parser": "0.1.1",
+ "plist": "2.0.1"
+ },
+ "dependencies": {
+ "base64-js": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz",
+ "integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg="
+ },
+ "plist": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-2.0.1.tgz",
+ "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=",
+ "requires": {
+ "base64-js": "1.1.2",
+ "xmlbuilder": "8.2.2",
+ "xmldom": "0.1.x"
+ }
+ }
+ }
+ },
+ "uuid": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
+ "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE="
+ },
+ "xcode": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.9.3.tgz",
+ "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=",
+ "requires": {
+ "pegjs": "^0.10.0",
+ "simple-plist": "^0.2.1",
+ "uuid": "3.0.1"
+ }
+ },
+ "xmlbuilder": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
+ "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
+ },
+ "xmldom": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
+ "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ=="
+ }
+ }
+ },
+ "react-native-background-timer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/react-native-background-timer/-/react-native-background-timer-2.2.0.tgz",
+ "integrity": "sha512-Y7N6diSFko/FCJPMmB0PoBlmY1kEcma7qDVwn8t7zi12GLqpe/Vwls97onkSD8/QL+BR33BygUHOrLTPwgeKfg=="
+ },
+ "react-native-device-info": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-5.4.0.tgz",
+ "integrity": "sha512-57IZQ7IavRlNZvI1cKypMkjRPa7nmLK6jYVSrvPMYX2VrCszmgJKlP90cZZaX0FObtNt1yYuKAOkBqyjkNrTIA=="
+ },
+ "react-native-extra-dimensions-android": {
+ "version": "git+https://github.com/greenyossi/react-native-extra-dimensions-android.git#b3d98103607d61fe47cf3131ef3b1ea26e5685f3",
+ "from": "git+https://github.com/greenyossi/react-native-extra-dimensions-android.git"
+ },
+ "react-native-firebase": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/react-native-firebase/-/react-native-firebase-5.6.0.tgz",
+ "integrity": "sha512-I+o3zNLdIz4pxWTCSZH70M1BcPl+SdqKQfurOT0sWcaMSL2ecDqVy0PCTmN7ORt7/Z879Er6PLgA/psjArQlmw==",
+ "requires": {
+ "opencollective-postinstall": "^2.0.0",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "react-native-gesture-handler": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.5.2.tgz",
+ "integrity": "sha512-Xp03dq4XYVTD0xmWx4DW4eX+ox1NQLjHmbykspTdS5FCNIVIOekVXRLFCw1698/v8dYUHApNo6K3s3BCD8fqPA==",
+ "requires": {
+ "hammerjs": "^2.0.8",
+ "hoist-non-react-statics": "^2.3.1",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "react-native-iphone-x-helper": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.2.1.tgz",
+ "integrity": "sha512-/VbpIEp8tSNNHIvstuA3Swx610whci1Zpc9mqNkqn14DkMbw+ORviln2u0XyHG1kPvvwTNGZY6QpeFwxYaSdbQ=="
+ },
+ "react-native-maps": {
+ "version": "0.27.1",
+ "resolved": "https://registry.npmjs.org/react-native-maps/-/react-native-maps-0.27.1.tgz",
+ "integrity": "sha512-HygBkZBecTnIVRYrSiLRAvu4OmXOYso/A7c6Cy73HkOh9CgGV8Ap5eBea24tvmFGptjj5Hg8AJ94/YbmWK1Okw=="
+ },
+ "react-native-network-info": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/react-native-network-info/-/react-native-network-info-5.2.1.tgz",
+ "integrity": "sha512-iam74xXtrSqqZurCl1/bSjZ9jXcsJY84g7brx1/4uVGCY26c6m+4CArHNSHOsz5ATg2NQT+81sjNy0KlCPyK4g=="
+ },
+ "react-native-permissions": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-2.0.10.tgz",
+ "integrity": "sha512-oQmWgm4tqUYyWmMNtYzNO7U/+6+WHyKiRd5cwNeE1FCJTGh8cJ5HapjHw3d6ZVfhSLzNwWqgJy1P4NpTANYa/g=="
+ },
+ "react-native-reanimated": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.4.0.tgz",
+ "integrity": "sha512-tO7nSNNP+iRLVbkcSS5GXyDBb7tSI02+XuRL3/S39EAr35rnvUy2JfeLUQG+fWSObJjnMVhasUDEUwlENk8IXw=="
+ },
+ "react-native-safe-area-context": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-0.7.3.tgz",
+ "integrity": "sha512-9Uqu1vlXPi+2cKW/CW6OnHxA76mWC4kF3wvlqzq4DY8hn37AeiXtLFs2WkxH4yXQRrnJdP6ivc65Lz+MqwRZAA=="
+ },
+ "react-native-safe-modules": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/react-native-safe-modules/-/react-native-safe-modules-1.0.0.tgz",
+ "integrity": "sha512-ShT8duWBT30W4OFcltZl+UvpPDikZFURvLDQqAsrvbyy6HzWPGJDCpdqM+6GqzPPs4DPEW31YfMNmdJcZ6zI2w==",
+ "requires": {
+ "dedent": "^0.6.0"
+ }
+ },
+ "react-native-screens": {
+ "version": "2.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.0.0-beta.2.tgz",
+ "integrity": "sha512-N+k4S/Wr+YGjzuGF49fB4VjIG6Fcaj4md3uxTsyeshEILGptPWAlgb5hAgn6C9xOj1x/rrAoXwZmrPNxPw6CSg==",
+ "requires": {
+ "debounce": "^1.2.0"
+ }
+ },
+ "react-native-settings": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/react-native-settings/-/react-native-settings-0.2.3.tgz",
+ "integrity": "sha512-8qOvtAaYif7eAFV2ToguHMaMd/EaaWbMUxJ/8i+dRlCfTjY2mAy6TwWcf3CF5mIN8OBXAui59hfgqDbWTb/loQ=="
+ },
+ "react-native-sha1": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-native-sha1/-/react-native-sha1-1.2.3.tgz",
+ "integrity": "sha512-XXkmK/lNY0JqWH0qeI4AOnKdm5Xx1H0CYAA1XsxUN+ihPvC9KY2gL7fVwcBodiuDYUJ8SMBvw6yMTacCk/Gwyg=="
+ },
+ "react-native-splash-screen": {
+ "version": "git+https://github.com/greenyossi/react-native-splash-screen.git#cf4cabb8e5269a18a764d8bfc7e66c737a0732ae",
+ "from": "git+https://github.com/greenyossi/react-native-splash-screen.git"
+ },
+ "react-native-sqlite-storage": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/react-native-sqlite-storage/-/react-native-sqlite-storage-4.1.0.tgz",
+ "integrity": "sha512-H8++CILlZQ2f2n+OvVmGyqMaV+UFKTRSTx9/3eIAxBg4d0rjeZogs6hgHlfADvEGNmrEyUBDpnX9+uHnDtwAHQ=="
+ },
+ "react-native-uuid-generator": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/react-native-uuid-generator/-/react-native-uuid-generator-6.1.1.tgz",
+ "integrity": "sha512-jWF0wiGTUTkCBTpspUZatC7wlhjN3GRbW9YblaxxpuMuhk0DEOQXOp1qgsDd2vLTL8GsM3i7Hnatvfj1kwf88w=="
+ },
+ "react-native-webview": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-9.4.0.tgz",
+ "integrity": "sha512-BBOFUuza0p04+7fNi7TJmB0arpDJzGxHYwTCgI4vj5n/fl7u4jbm7ETp88mf7lo9lP6C6HGLo38KnEy1aXCQkg==",
+ "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-native-wifi-reborn": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/react-native-wifi-reborn/-/react-native-wifi-reborn-2.4.0.tgz",
+ "integrity": "sha512-jp6BoXUBiGl+aR3QlEBHKbkEAy6eLv7rFPl4f1zUkcVXsWaGfTCw0JF2HcT+c6NLw5UkXmZNDB0WuxnvgU5FJg=="
+ },
+ "react-proxy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz",
+ "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=",
+ "requires": {
+ "lodash": "^4.6.1",
+ "react-deep-force-update": "^1.0.0"
+ }
+ },
+ "react-redux": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.1.3.tgz",
+ "integrity": "sha512-uI1wca+ECG9RoVkWQFF4jDMqmaw0/qnvaSvOoL/GA4dNxf6LoV8sUAcNDvE5NWKs4hFpn0t6wswNQnY3f7HT3w==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "hoist-non-react-statics": "^3.3.0",
+ "invariant": "^2.2.4",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.9.0"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "requires": {
+ "react-is": "^16.7.0"
+ }
+ }
+ }
+ },
+ "react-refresh": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.2.tgz",
+ "integrity": "sha512-kv5QlFFSZWo7OlJFNYbxRtY66JImuP2LcrFgyJfQaf85gSP+byzG21UbDQEYjU7f//ny8rwiEkO6py2Y+fEgAQ=="
+ },
+ "react-test-renderer": {
+ "version": "16.9.0",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.9.0.tgz",
+ "integrity": "sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2",
+ "react-is": "^16.9.0",
+ "scheduler": "^0.15.0"
+ }
+ },
+ "react-transform-hmr": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz",
+ "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=",
+ "requires": {
+ "global": "^4.3.0",
+ "react-proxy": "^1.1.7"
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "realpath-native": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
+ "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==",
+ "dev": true,
+ "requires": {
+ "util.promisify": "^1.0.0"
+ }
+ },
+ "redux": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz",
+ "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "symbol-observable": "^1.2.0"
+ },
+ "dependencies": {
+ "symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
+ }
+ }
+ },
+ "redux-mock-store": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.4.tgz",
+ "integrity": "sha512-xmcA0O/tjCLXhh9Fuiq6pMrJCwFRaouA8436zcikdIpYWWCjU76CRk+i2bHx8EeiSiMGnB85/lZdU3wIJVXHTA==",
+ "dev": true,
+ "requires": {
+ "lodash.isplainobject": "^4.0.6"
+ }
+ },
+ "redux-persist": {
+ "version": "4.10.2",
+ "resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-4.10.2.tgz",
+ "integrity": "sha512-U+e0ieMGC69Zr72929iJW40dEld7Mflh6mu0eJtVMLGfMq/aJqjxUM1hzyUWMR1VUyAEEdPHuQmeq5ti9krIgg==",
+ "requires": {
+ "json-stringify-safe": "^5.0.1",
+ "lodash": "^4.17.4",
+ "lodash-es": "^4.17.4"
+ }
+ },
+ "redux-thunk": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz",
+ "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw=="
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+ },
+ "regenerate-unicode-properties": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
+ "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
+ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA=="
+ },
+ "regenerator-transform": {
+ "version": "0.14.4",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
+ "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
+ "requires": {
+ "@babel/runtime": "^7.8.4",
+ "private": "^0.1.8"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ }
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "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
+ },
+ "regexpu-core": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+ "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.2.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg=="
+ },
+ "regjsparser": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+ "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
+ }
+ }
+ },
+ "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="
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "request-promise-core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
+ "dev": true,
+ "requires": {
+ "request-promise-core": "1.1.3",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ },
+ "resolve": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^5.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ }
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "requires": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rn-contact-tracing": {
+ "version": "git+https://github.com/wix-incubator/rn-contact-tracing.git#08d23feb23346e72a89a435dbc4aba92bad53918",
+ "from": "git+https://github.com/wix-incubator/rn-contact-tracing.git#master"
+ },
+ "rn-fetch-blob": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/rn-fetch-blob/-/rn-fetch-blob-0.12.0.tgz",
+ "integrity": "sha512-+QnR7AsJ14zqpVVUbzbtAjq0iI8c9tCg49tIoKO2ezjzRunN7YL6zFSFSWZm6d+mE/l9r+OeDM3jmb2tBb2WbA==",
+ "requires": {
+ "base-64": "0.1.0",
+ "glob": "7.0.6"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
+ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rsvp": {
+ "version": "4.8.5",
+ "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
+ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA=="
+ },
+ "run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="
+ },
+ "rx-lite": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+ "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ="
+ },
+ "rx-lite-aggregates": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
+ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
+ "requires": {
+ "rx-lite": "*"
+ }
+ },
+ "rxjs": {
+ "version": "5.5.12",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
+ "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
+ "requires": {
+ "symbol-observable": "1.0.1"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sane": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
+ "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
+ "requires": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^2.0.0",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.2",
+ "execa": "^1.0.0",
+ "fb-watchman": "^2.0.0",
+ "micromatch": "^3.1.4",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ },
+ "saxes": {
+ "version": "3.1.11",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
+ "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
+ "dev": true,
+ "requires": {
+ "xmlchars": "^2.1.1"
+ }
+ },
+ "scheduler": {
+ "version": "0.15.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
+ "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "seedrandom": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
+ "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ }
+ }
+ },
+ "serialize-error": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz",
+ "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go="
+ },
+ "serve-static": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+ "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+ },
+ "setprototypeof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
+ },
+ "sha256": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/sha256/-/sha256-0.2.0.tgz",
+ "integrity": "sha1-c6C0GNqrcDW/+G6EkeNjQS/CqwU=",
+ "requires": {
+ "convert-hex": "~0.1.0",
+ "convert-string": "~0.1.0"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+ },
+ "shell-quote": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "requires": {
+ "array-filter": "~0.0.0",
+ "array-map": "~0.0.0",
+ "array-reduce": "~0.0.0",
+ "jsonify": "~0.0.0"
+ }
+ },
+ "shellwords": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww=="
+ },
+ "shortid": {
+ "version": "2.2.15",
+ "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.15.tgz",
+ "integrity": "sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==",
+ "requires": {
+ "nanoid": "^2.1.0"
+ },
+ "dependencies": {
+ "nanoid": {
+ "version": "2.1.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz",
+ "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA=="
+ }
+ }
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ },
+ "simple-plist": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.1.0.tgz",
+ "integrity": "sha512-2i5Tc0BYAqppM7jVzmNrI+aEUntPolIq4fDgji6WuNNn1D/qYdn2KwoLhZdzQkE04lu9L5tUoeJsjuJAvd+lFg==",
+ "requires": {
+ "bplist-creator": "0.0.8",
+ "bplist-parser": "0.2.0",
+ "plist": "^3.0.1"
+ }
+ },
+ "simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+ "requires": {
+ "is-arrayish": "^0.3.1"
+ },
+ "dependencies": {
+ "is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
+ }
+ }
+ },
+ "sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
+ },
+ "slice-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
+ "is-fullwidth-code-point": "^2.0.0"
+ }
+ },
+ "slide": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
+ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc="
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+ },
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
+ },
+ "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=="
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "stack-utils": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
+ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA=="
+ },
+ "stacktrace-parser": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz",
+ "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==",
+ "requires": {
+ "type-fest": "^0.7.1"
+ }
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ },
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
+ "dev": true
+ },
+ "stream-buffers": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
+ "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ="
+ },
+ "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="
+ },
+ "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,
+ "requires": {
+ "astral-regex": "^1.0.0",
+ "strip-ansi": "^5.2.0"
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "string.prototype.trimend": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
+ "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "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",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
+ "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
+ "dev": true
+ },
+ "sudo-prompt": {
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz",
+ "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw=="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "supports-hyperlinks": {
+ "version": "2.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,
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "symbol-observable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
+ "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
+ },
+ "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
+ },
+ "table": {
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.10.2",
+ "lodash": "^4.17.14",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ }
+ }
+ },
+ "temp": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz",
+ "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=",
+ "requires": {
+ "os-tmpdir": "^1.0.0",
+ "rimraf": "~2.2.6"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+ "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI="
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "type-fest": "^0.11.0"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "test-exclude": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
+ "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3",
+ "minimatch": "^3.0.4",
+ "read-pkg-up": "^4.0.0",
+ "require-main-filename": "^2.0.0"
+ },
+ "dependencies": {
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
+ "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0",
+ "read-pkg": "^3.0.0"
+ }
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "dev": true
+ }
+ }
+ },
+ "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
+ },
+ "throat": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
+ "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo="
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "time-stamp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM="
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
+ },
+ "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,
+ "requires": {
+ "ip-regex": "^2.1.0",
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "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
+ },
+ "tslint": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.17.0.tgz",
+ "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "builtin-modules": "^1.1.1",
+ "chalk": "^2.3.0",
+ "commander": "^2.12.1",
+ "diff": "^3.2.0",
+ "glob": "^7.1.1",
+ "js-yaml": "^3.13.1",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "resolve": "^1.3.2",
+ "semver": "^5.3.0",
+ "tslib": "^1.8.0",
+ "tsutils": "^2.29.0"
+ },
+ "dependencies": {
+ "tsutils": {
+ "version": "2.29.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
+ "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ }
+ }
+ },
+ "tslint-config-prettier": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz",
+ "integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==",
+ "dev": true
+ },
+ "tslint-eslint-rules": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz",
+ "integrity": "sha512-WlSXE+J2vY/VPgIcqQuijMQiel+UtmXS+4nvK4ZzlDiqBfXse8FAvkNnTcYhnQyOTW5KFM+uRRGXxYhFpuBc6w==",
+ "dev": true,
+ "requires": {
+ "doctrine": "0.7.2",
+ "tslib": "1.9.0",
+ "tsutils": "^3.0.0"
+ },
+ "dependencies": {
+ "doctrine": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz",
+ "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=",
+ "dev": true,
+ "requires": {
+ "esutils": "^1.1.6",
+ "isarray": "0.0.1"
+ }
+ },
+ "esutils": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz",
+ "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "tslib": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
+ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==",
+ "dev": true
+ }
+ }
+ },
+ "tslint-react": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/tslint-react/-/tslint-react-4.0.0.tgz",
+ "integrity": "sha512-9fNE0fm9zNDx1+b6hgy8rgDN2WsQLRiIrn3+fbqm0tazBVF6jiaCFAITxmU+WSFWYE03Xhp1joCircXOe1WVAQ==",
+ "dev": true,
+ "requires": {
+ "tsutils": "^3.9.1"
+ }
+ },
+ "tsutils": {
+ "version": "3.17.1",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
+ "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz",
+ "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg=="
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "typescript": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz",
+ "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==",
+ "dev": true
+ },
+ "ua-parser-js": {
+ "version": "0.7.21",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
+ "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ=="
+ },
+ "uglify-es": {
+ "version": "3.3.9",
+ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
+ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
+ "requires": {
+ "commander": "~2.13.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
+ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "ultron": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
+ "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
+ },
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+ "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ=="
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg=="
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+ }
+ }
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+ },
+ "use-subscription": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.4.1.tgz",
+ "integrity": "sha512-7+IIwDG/4JICrWHL/Q/ZPK5yozEnvRm6vHImu0LKwQlmWGKeiF7mbAenLlK/cTNXrTtXHU/SFASQHzB6+oSJMQ==",
+ "requires": {
+ "object-assign": "^4.1.1"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "util.promisify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
+ "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.2",
+ "has-symbols": "^1.0.1",
+ "object.getownpropertydescriptors": "^2.1.0"
+ }
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
+ },
+ "v8-compile-cache": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
+ "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "vlq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz",
+ "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w=="
+ },
+ "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,
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "domexception": "^1.0.1",
+ "webidl-conversions": "^4.0.2",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "requires": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-fetch": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
+ "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q=="
+ },
+ "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
+ },
+ "whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+ },
+ "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
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "write": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "write-file-atomic": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
+ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "slide": "^1.1.5"
+ }
+ },
+ "ws": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
+ "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
+ "requires": {
+ "options": ">=0.0.5",
+ "ultron": "1.0.x"
+ }
+ },
+ "xcode": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz",
+ "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==",
+ "requires": {
+ "simple-plist": "^1.0.0",
+ "uuid": "^3.3.2"
+ }
+ },
+ "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
+ },
+ "xmlbuilder": {
+ "version": "9.0.7",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+ "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true
+ },
+ "xmldoc": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz",
+ "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==",
+ "requires": {
+ "sax": "^1.2.1"
+ }
+ },
+ "xmldom": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.3.0.tgz",
+ "integrity": "sha512-z9s6k3wxE+aZHgXYxSTpGDo7BYOUfJsIRyoZiX6HTjwpwfS2wpQBQKa2fD+ShLyPkqDYo5ud7KitmLZ2Cd6r0g=="
+ },
+ "xpipe": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/xpipe/-/xpipe-1.0.5.tgz",
+ "integrity": "sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98="
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
+ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
+ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index 9438e15f..d299ddb3 100755
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
"@react-navigation/bottom-tabs": "5.0.3",
"@react-navigation/drawer": "5.4.0",
"@react-navigation/native": "5.0.3",
+ "@react-navigation/routers": "5.1.0",
"@react-navigation/stack": "5.0.3",
"@redux-offline/redux-offline": "2.5.2-native.3",
"@tmcw/togeojson": "https://github.com/tmcw/togeojson.git",
@@ -30,10 +31,12 @@
"jsrsasign": "^8.0.14",
"latlon-geohash": "02.0.0",
"lodash": "4.17.15",
+ "logkitty": "0.7.1",
"lottie-ios": "03.1.6",
"lottie-react-native": "03.3.2",
"moment": "2.24.0",
"moment-timezone": "0.5.28",
+ "random-location": "^1.1.2",
"react": "16.9.0",
"react-native": "0.61.5",
"react-native-animatable": "1.3.3",
@@ -54,12 +57,13 @@
"react-native-sha1": "1.2.3",
"react-native-splash-screen": "https://github.com/greenyossi/react-native-splash-screen.git",
"react-native-sqlite-storage": "4.1.0",
- "react-native-uuid-generator": "6.1.1",
- "react-native-webview": "9.0.1",
+ "react-native-uuid-generator": "^6.1.1",
+ "react-native-webview": "^9.4.0",
"react-native-wifi-reborn": "2.4.0",
"react-redux": "7.1.3",
"redux": "4.0.5",
"redux-thunk": "2.3.0",
+ "rn-contact-tracing": "https://github.com/wix-incubator/rn-contact-tracing.git#master",
"rn-fetch-blob": "0.12.0",
"seedrandom": "^3.0.5",
"sha256": "00.2.0",
diff --git a/react-native.config.js b/react-native.config.js
new file mode 100644
index 00000000..b642e7c9
--- /dev/null
+++ b/react-native.config.js
@@ -0,0 +1,9 @@
+module.exports = {
+ dependencies: {
+ 'rn-contact-tracing': {
+ platforms: {
+ android: null
+ }
+ }
+ }
+};
diff --git a/src/App.tsx b/src/App.tsx
index c0df3ee5..47183dd6 100755
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -25,7 +25,7 @@ const App = () => {
-
+
diff --git a/src/ResetMessaging.ts b/src/ResetMessaging.ts
new file mode 100644
index 00000000..385ecb4d
--- /dev/null
+++ b/src/ResetMessaging.ts
@@ -0,0 +1,30 @@
+import BackgroundFetch from 'react-native-background-fetch';
+import BackgroundGeolocation from 'react-native-background-geolocation';
+import { startLocationTracking } from './services/LocationService';
+import { scheduleTask } from './services/BackgroundService';
+import { initLocalHeadless } from './actions/LocaleActions';
+import { initConfig } from './config/config';
+import { initBLETracing } from './services/BLEService';
+
+const ResetMessaging = async (fromLoad: boolean = true) => {
+ console.log('data message received');
+ try {
+ if (fromLoad) {
+ await initConfig();
+ }
+
+ await BackgroundFetch.stop();
+
+ await scheduleTask();
+
+ const { locale, notificationData } = await initLocalHeadless();
+ await BackgroundGeolocation.stop();
+ await startLocationTracking(locale, notificationData);
+
+ await initBLETracing();
+ } catch (error) {
+ console.log(error);
+ }
+};
+
+export default ResetMessaging;
diff --git a/src/actions/DeepLinkActions.ts b/src/actions/DeepLinkActions.ts
index c81ff08c..88b1c129 100644
--- a/src/actions/DeepLinkActions.ts
+++ b/src/actions/DeepLinkActions.ts
@@ -4,12 +4,11 @@ import { getUserLocationsReadyForServer } from '../services/DeepLinkService';
import { onError } from '../services/ErrorService';
import config from '../config/config';
-export const shareUserLocations = (token: string) => async (dispatch: any) => new Promise(async (resolve, reject) => {
+export const shareUserLocations = (token: string, userAgreedToBle: boolean) => async (dispatch: any) => new Promise(async (resolve, reject) => {
try {
dispatch(toggleLoader(true));
- // TODO check if should resolve res.data and not res.
- const { data } = await axios.post(config().dataShareUrl, await getUserLocationsReadyForServer(token));
+ const { data } = await axios.post(config().dataShareUrl, await getUserLocationsReadyForServer(token, userAgreedToBle));
dispatch(toggleLoader(false));
resolve(data);
diff --git a/src/actions/ExposuresActions.ts b/src/actions/ExposuresActions.ts
index ba74b744..7bea9400 100644
--- a/src/actions/ExposuresActions.ts
+++ b/src/actions/ExposuresActions.ts
@@ -1,27 +1,37 @@
import AsyncStorage from '@react-native-community/async-storage';
import moment from 'moment';
import { onError } from '../services/ErrorService';
-import { Exposure } from '../types';
+import { Exposure, ExposuresReducer } from '../types';
import {
SET_VALID_EXPOSURE,
REMOVE_VALID_EXPOSURE,
UPDATE_EXPOSURES,
UPDATE_PAST_EXPOSURES,
- DISMISS_EXPOSURE
+ DISMISS_EXPOSURE,
+ REPLACE_EXPOSURES,
+ REPLACE_PAST_EXPOSURES
} from '../constants/ActionTypes';
import { DISMISSED_EXPOSURES, VALID_EXPOSURE } from '../constants/Constants';
+import { IntersectionSickDatabase } from '../database/Database';
export const setExposures = (exposures: Exposure[]) => async (dispatch: any) => {
+ // await AsyncStorage.removeItem(DISMISSED_EXPOSURES)
const dismissedExposures = await AsyncStorage.getItem(DISMISSED_EXPOSURES);
- let filteredExposures;
+ let filteredExposures = exposures;
if (dismissedExposures) {
const parsedDismissedExposures: number[] = JSON.parse(dismissedExposures);
- filteredExposures = exposures.filter(exposure => !parsedDismissedExposures.includes(exposure.properties.OBJECTID));
- }
- dispatch({ type: UPDATE_EXPOSURES, payload: { exposures: filteredExposures || exposures } });
+ filteredExposures = exposures.filter((exposure) => {
+ if (exposure.properties?.BLETimestamp) {
+ return !parsedDismissedExposures.includes(exposure.properties?.BLETimestamp);
+ }
+ return !parsedDismissedExposures.includes(exposure.properties.OBJECTID);
+ });
+ }
+
+ dispatch({ type: UPDATE_EXPOSURES, payload: { exposures: filteredExposures } });
dispatch({ type: UPDATE_PAST_EXPOSURES, payload: { pastExposures: exposures } });
};
@@ -43,15 +53,58 @@ export const removeValidExposure = () => async (dispatch: any) => {
}
};
-export const dismissExposure = (exposureId: number) => async (dispatch: any) => {
- dispatch({ type: DISMISS_EXPOSURE, payload: { exposureId } });
+export const dismissExposures = () => async (dispatch: any, getState: any) => {
+ const { exposures }: ExposuresReducer = getState().exposures;
- const dismissedExposures = await AsyncStorage.getItem(DISMISSED_EXPOSURES);
- if (dismissedExposures) {
- const parsedDismissedExposures: number[] = JSON.parse(dismissedExposures);
- parsedDismissedExposures.push(exposureId);
- await AsyncStorage.setItem(DISMISSED_EXPOSURES, JSON.stringify(parsedDismissedExposures));
- } else {
- await AsyncStorage.setItem(DISMISSED_EXPOSURES, JSON.stringify([exposureId]));
+ const dismissedExposures = await AsyncStorage.getItem(DISMISSED_EXPOSURES) || '[]';
+
+ const parsedDismissedExposures: number[] = JSON.parse(dismissedExposures);
+ // Set ensures no OBJECTID or BLETimestamp duplicates
+ const dismissedExposureSet = new Set(exposures.map(({ properties }: Exposure) => properties.BLETimestamp || properties.OBJECTID).concat(parsedDismissedExposures));
+
+ await AsyncStorage.setItem(DISMISSED_EXPOSURES, JSON.stringify([...dismissedExposureSet]));
+};
+
+export const setExposureSelected = ({ index, wasThere }) => (dispatch: any, getState: any) => {
+ const exposures = [...getState().exposures.exposures];
+ exposures[index].properties.wasThere = wasThere;
+
+ dispatch({ type: REPLACE_EXPOSURES, payload: { exposures } });
+ new IntersectionSickDatabase().updateSickRecord(exposures[index]).catch(console.log);
+};
+
+export const replacePastExposureSelected = (payload: Exposure[]) => async (dispatch: any) => {
+ dispatch({ type: REPLACE_PAST_EXPOSURES, payload });
+
+ const dbSick = new IntersectionSickDatabase();
+
+ // TODO: make it a bulk update in one go
+ for await (const exposure of payload) {
+ dbSick.updateSickRecord(exposure);
+ }
+};
+
+export const moveAllToPastExposures = () => async (dispatch: any, getState: any) => {
+ dispatch({ type: REPLACE_EXPOSURES, payload: { exposures: [] } });
+};
+
+export const updateGeoPastExposure = (exposureToReplace: Exposure) => (dispatch: any, getState: any) => {
+ const { pastExposures }: ExposuresReducer = getState().exposures;
+ const index = pastExposures.findIndex((exposure: Exposure) => exposureToReplace.properties.OBJECTID === exposure.properties.OBJECTID);
+
+ if (index !== -1) {
+ pastExposures[index] = exposureToReplace;
+ dispatch({ type: REPLACE_PAST_EXPOSURES, payload: pastExposures });
+ }
+};
+
+
+export const updateBlePastExposure = (exposureToReplace: Exposure) => (dispatch: any, getState: any) => {
+ const { pastExposures }: ExposuresReducer = getState().exposures;
+ const index = pastExposures.findIndex((exposure: Exposure) => exposureToReplace.properties.BLETimestamp === exposure.properties.BLETimestamp);
+
+ if (index !== -1) {
+ pastExposures[index] = exposureToReplace;
+ dispatch({ type: REPLACE_PAST_EXPOSURES, payload: pastExposures });
}
};
diff --git a/src/actions/GeneralActions.ts b/src/actions/GeneralActions.ts
index 3ba616d8..843ac9d5 100644
--- a/src/actions/GeneralActions.ts
+++ b/src/actions/GeneralActions.ts
@@ -10,10 +10,11 @@ import {
SHOW_FORCE_UPDATE,
SHOW_FORCE_TERMS,
HIDE_LOCATION_HISTORY,
- SHOW_MAP_MODAL
+ SHOW_MAP_MODAL,
+ ENABLE_BLE
} from '../constants/ActionTypes';
-import { CURRENT_TERMS_VERSION, FIRST_POINT_TS, IS_IOS, SHOULD_HIDE_LOCATION_HISTORY } from '../constants/Constants';
+import { CURRENT_TERMS_VERSION, FIRST_POINT_TS, IS_IOS, SHOULD_HIDE_LOCATION_HISTORY, USER_AGREE_TO_BLE, ENABLE_BLE as ENABLE_BLE_IN_APP } from '../constants/Constants';
import { Exposure } from '../types';
export const toggleLoader = (isShow: boolean) => (dispatch: any) => dispatch({ type: TOGGLE_LOADER, payload: { isShow } });
@@ -71,6 +72,27 @@ export const checkIfHideLocationHistory = () => async (dispatch: any) => {
}
};
+export const checkIfBleEnabled = () => async (dispatch: any) => {
+ // await AsyncStorage.removeItem(USER_AGREE_TO_BLE)
+
+
+ if (IS_IOS || !ENABLE_BLE_IN_APP) {
+ dispatch({ type: ENABLE_BLE, payload: false });
+ } else {
+ try {
+ let payload = await AsyncStorage.getItem(USER_AGREE_TO_BLE);
+
+ if (payload) {
+ payload = JSON.parse(payload);
+ }
+ dispatch({ type: ENABLE_BLE, payload });
+ } catch (error) {
+ onError({ error });
+ dispatch({ type: ENABLE_BLE, payload: null });
+ }
+ }
+};
+
export const showMapModal = ({ properties }: Exposure) => {
let latitude = 0;
let longitude = 0;
diff --git a/src/actions/LocaleActions.ts b/src/actions/LocaleActions.ts
index 79cad3d9..2e438333 100644
--- a/src/actions/LocaleActions.ts
+++ b/src/actions/LocaleActions.ts
@@ -81,3 +81,14 @@ const getActiveLocale = async () => {
return activeLocale;
};
+
+
+export const initLocalHeadless = async () => {
+ const activeLocale = await getActiveLocale();
+ const { notificationData }: LocaleData = await downloadAndVerifySigning(config().stringsUrl);
+
+ return {
+ locale: activeLocale,
+ notificationData
+ };
+};
diff --git a/src/assets/locationHistory/edit.png b/src/assets/locationHistory/edit.png
new file mode 100644
index 00000000..34635866
Binary files /dev/null and b/src/assets/locationHistory/edit.png differ
diff --git a/src/assets/main/ExposureRelief.png b/src/assets/main/ExposureRelief.png
new file mode 100644
index 00000000..33e02714
Binary files /dev/null and b/src/assets/main/ExposureRelief.png differ
diff --git a/src/assets/main/editHistory.png b/src/assets/main/editHistory.png
new file mode 100644
index 00000000..34635866
Binary files /dev/null and b/src/assets/main/editHistory.png differ
diff --git a/src/assets/main/exposureRefresh.png b/src/assets/main/exposureRefresh.png
new file mode 100644
index 00000000..03a67ba0
Binary files /dev/null and b/src/assets/main/exposureRefresh.png differ
diff --git a/src/assets/main/imDoneUpdate.png b/src/assets/main/imDoneUpdate.png
new file mode 100644
index 00000000..c603fdd7
Binary files /dev/null and b/src/assets/main/imDoneUpdate.png differ
diff --git a/src/assets/main/showMore.png b/src/assets/main/showMore.png
new file mode 100644
index 00000000..cd8717bc
Binary files /dev/null and b/src/assets/main/showMore.png differ
diff --git a/src/assets/onboarding/bluetoothBig.png b/src/assets/onboarding/bluetoothBig.png
new file mode 100644
index 00000000..43f0a80d
Binary files /dev/null and b/src/assets/onboarding/bluetoothBig.png differ
diff --git a/src/assets/onboarding/locationTutorial.png b/src/assets/onboarding/locationTutorial.png
index e8765d2f..6d1e3bfa 100644
Binary files a/src/assets/onboarding/locationTutorial.png and b/src/assets/onboarding/locationTutorial.png differ
diff --git a/src/components/Drawer/Home.tsx b/src/components/Drawer/Home.tsx
index 2d92c5d3..bc1ee24d 100644
--- a/src/components/Drawer/Home.tsx
+++ b/src/components/Drawer/Home.tsx
@@ -1,37 +1,73 @@
-import React from 'react';
+import React, { useEffect, useState } from 'react';
import { createDrawerNavigator, } from '@react-navigation/drawer';
+import AsyncStorage from '@react-native-community/async-storage';
import { CardStyleInterpolators, createStackNavigator } from '@react-navigation/stack';
import { useSelector } from 'react-redux';
import ScanHome from '../Main/ScanHome';
import DrawerContent from './DrawerContent';
import ExposuresHistory from '../Main/ExposuresHistory/ExposuresHistory';
+import ExposuresHistoryEdit from '../Main/ExposuresHistory/ExposuresHistoryEdit';
+import ExposureHistoryRelief from '../Main/ExposuresHistory/ExposureHistoryRelief';
+import ExposureDetected from '../Main/ExposuresDetected';
+import ExposureInstructions from '../Main/ExposureInstructions';
+import ExposureRelief from '../Main/ExposureRelief';
import ChangeLanguageScreen from '../ChangeLanguage/ChangeLanguageScreen';
import LocationHistory from '../Main/LocationHistory/LocationHistory';
import FilterDriving from '../Main/FilterDriving/FilterDriving';
+import BluetoothModal from '../Main/BluetoothModal';
import ShareLocations from '../ShareLocations/ShareLocations';
-import { LocaleReducer, Store } from '../../types';
+import { LocaleReducer, ExposuresReducer, Store, Exposure } from '../../types';
import MapModal from '../Main/MapModal';
+import { INIT_ROUTE_NAME, USER_AGREE_BLE } from '../../constants/Constants';
+
+const Stack = createStackNavigator();
+
+const DEFAULT_SCREEN = 'ScanHome';
+
+const DrawerStack = ({ navigation, route }) => {
+ const { exposures } = useSelector(state => state.exposures);
+ const [initialRouteName, setInitialRouteName] = useState('');
+ const [showBLEPermission, setBLEPermission] = useState(undefined);
+
+ useEffect(() => {
+ AsyncStorage.getItem(INIT_ROUTE_NAME)
+ .then(initRouteString => setInitialRouteName(initRouteString ?? DEFAULT_SCREEN))
+ .catch(() => setInitialRouteName(DEFAULT_SCREEN));
+ }, []);
+
+ useEffect(() => {
+ if (initialRouteName !== '' && exposures?.length > 0) {
+ if (route.state?.routes && !route.state.routes.some(({ name }) => name === 'ExposureDetected')) {
+ navigation.navigate('ExposureDetected');
+ }
+ }
+ }, [exposures, initialRouteName, route]);
+ if (!initialRouteName) return null;
-const DrawerStack = () => {
- const Stack = createStackNavigator();
return (
-
-
+ ({ gestureEnabled: false })}>
+
-
-
+
+
+
+
+
+
+
+
);
};
+const Drawer = createDrawerNavigator();
+
const Home = () => {
const { isRTL } = useSelector(state => state.locale);
- const Drawer = createDrawerNavigator();
-
return (
<>
= (
{
isInitLocale,
isRTL,
@@ -75,7 +68,6 @@ const Loading = (
strings,
locale,
externalUrls,
- notificationData,
initLocale,
showWebview,
usageType,
@@ -85,14 +77,16 @@ const Loading = (
showForceTerms,
checkForceUpdate,
termsVersion
- }: Props
+ }
) => {
const shouldShowForceTerms = useRef(false);
const [initialRoute, setInitialRoute] = useState('');
useEffect(() => {
+ registerBLEListeners();
appLoadingActions();
+ startPushListeners();
}, []);
useEffect(() => {
@@ -125,51 +119,19 @@ const Loading = (
const onBoardingCompletedActions = async () => {
try {
- BackgroundFetch.status(async (status) => {
- if (status !== BackgroundFetch.STATUS_AVAILABLE) {
- await scheduleTask();
- }
- });
+ // don't init config again
+ await ResetMessaging(false);
await purgeSamplesDB();
-
- const state: State = await BackgroundGeolocation.getState();
-
- if (!state.enabled) {
- await startSampling(locale, notificationData);
- } else {
- if (!IS_IOS && !state.enableHeadless) {
- await BackgroundGeolocation.setConfig({
- enableHeadless: true,
- foregroundService: true
- });
- }
-
- if (state.maxDaysToPersist === 1) {
- await BackgroundGeolocation.setConfig({
- persistMode: BackgroundGeolocation.PERSIST_MODE_LOCATION,
- maxRecordsToPersist: -1,
- maxDaysToPersist: 10000000
- });
- }
- }
-
+ await clusterLocationsOnAppUpdate();
await startForegroundTimer();
- const validExposure = await AsyncStorage.getItem(VALID_EXPOSURE);
-
- if (validExposure) {
- const { exposure, timestamp }: ValidExposure = JSON.parse(validExposure);
-
- if (moment().diff(moment(timestamp), 'days') < 14) {
- store().dispatch({ type: SET_VALID_EXPOSURE, payload: { validExposure: exposure } });
- } else {
- await AsyncStorage.removeItem(VALID_EXPOSURE);
- }
- }
-
const dbSick = new IntersectionSickDatabase();
+ await migrateIntersectionSickDatabase(dbSick);
+ // remove intersections older then 2 weeks
+ await dbSick.purgeIntersectionSickTable(moment().subtract(2, 'week').unix() * 1000);
+ // await dbSick.deleteAll()
const exposures = await dbSick.listAllRecords();
await store().dispatch(setExposures(exposures.map((exposure: any) => ({ properties: { ...exposure } }))));
@@ -202,13 +164,7 @@ const Loading = (
(!isInitLocale || !initialRoute) ? null : (
-
-
-
-
-
-
-
+
@@ -222,6 +178,54 @@ const Loading = (
);
};
+// migrate table to have wasThere and bleTimestamp
+// update valid exposure to have was there true
+// update all dismissed exposures to have wasThere property
+const migrateIntersectionSickDatabase = async (dbSick: any) => {
+ try {
+ const dbSickWasUpdated = await AsyncStorage.getItem(SICK_DB_UPDATED);
+
+ if (dbSickWasUpdated !== 'true') {
+ const dismissedExposures = await AsyncStorage.getItem(DISMISSED_EXPOSURES) || '[]';
+
+ await dbSick.migrateTable();
+ await AsyncStorage.setItem(SICK_DB_UPDATED, 'true');
+ const validExposure = await AsyncStorage.getItem(VALID_EXPOSURE);
+
+ if (validExposure) {
+ const parsedValidExposure = JSON.parse(validExposure);
+
+ if (parsedValidExposure) {
+ const { exposure } = parsedValidExposure;
+
+ exposure.properties.wasThere = true;
+ exposure.properties.OBJECTID = exposure.properties.Key_Field;
+
+ await dbSick.upgradeSickRecord(true, [exposure.properties.OBJECTID]);
+
+ const parsedDismissedExposures: number[] = JSON.parse(dismissedExposures);
+
+ // Set ensures no OBJECTID or BLETimestamp duplicates
+ const dismissedExposureSet = new Set(parsedDismissedExposures);
+
+ dismissedExposureSet.add(exposure.properties.OBJECTID);
+
+ await AsyncStorage.setItem(DISMISSED_EXPOSURES, JSON.stringify([...dismissedExposureSet]));
+ }
+ }
+
+ if (dismissedExposures) {
+ const parsedDismissedExposures: number[] = JSON.parse(dismissedExposures);
+ console.log('parsedDismissedExposures', parsedDismissedExposures);
+
+ await dbSick.upgradeSickRecord(false, parsedDismissedExposures);
+ }
+ }
+ } catch (error) {
+ onError({ error });
+ }
+};
+
const styles = StyleSheet.create({
container: {
flex: 1
@@ -231,18 +235,14 @@ const styles = StyleSheet.create({
const mapStateToProps = (state: any) => {
const {
general: { showLoader, showWebview, showForceUpdate, shouldForce, usageType, showForceTerms, termsVersion },
- locale: { isInitLocale, showChangeLanguage, strings, locale, isRTL, externalUrls, notificationData }
+ locale: { isInitLocale, showChangeLanguage, strings, locale, isRTL, externalUrls }
} = state;
- return { strings, showLoader, isInitLocale, showChangeLanguage, showWebview, locale, showForceUpdate, shouldForce, usageType, showForceTerms, isRTL, termsVersion, externalUrls, notificationData };
-};
-
-const mapDispatchToProps = (dispatch: any) => {
- return bindActionCreators({
- initLocale,
- toggleWebview,
- checkForceUpdate
- }, dispatch);
+ return { strings, showLoader, isInitLocale, showChangeLanguage, showWebview, locale, showForceUpdate, shouldForce, usageType, showForceTerms, isRTL, termsVersion, externalUrls };
};
-export default connect(mapStateToProps, mapDispatchToProps)(Loading);
+export default connect(mapStateToProps, {
+ initLocale,
+ toggleWebview,
+ checkForceUpdate
+})(Loading);
diff --git a/src/components/Main/BluetoothModal.tsx b/src/components/Main/BluetoothModal.tsx
new file mode 100644
index 00000000..45a188fc
--- /dev/null
+++ b/src/components/Main/BluetoothModal.tsx
@@ -0,0 +1,36 @@
+import React, { FunctionComponent } from 'react';
+import { View, StyleSheet } from 'react-native';
+import { useSelector, useDispatch } from 'react-redux';
+import AsyncStorage from '@react-native-community/async-storage';
+import BluetoothPermission from '../common/BluetoothPermission';
+import { HeaderButton } from '../common';
+import { PADDING_TOP, IS_SMALL_SCREEN, PADDING_BOTTOM, USER_AGREE_TO_BLE } from '../../constants/Constants';
+import { ENABLE_BLE } from '../../constants/ActionTypes';
+
+const BluetoothModal = ({ navigation }) => {
+ const dispatch = useDispatch();
+ const handleExit = async () => {
+ dispatch({ type: ENABLE_BLE, payload: false });
+ await AsyncStorage.setItem(USER_AGREE_TO_BLE, 'false');
+ navigation.goBack();
+ };
+
+ return (
+
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'space-between',
+ alignItems: 'center',
+ paddingTop: PADDING_TOP(IS_SMALL_SCREEN ? 10 : 92),
+ paddingBottom: PADDING_BOTTOM(IS_SMALL_SCREEN ? 10 : 77)
+ },
+});
+
+export default BluetoothModal;
diff --git a/src/components/Main/ExposureInstructions.tsx b/src/components/Main/ExposureInstructions.tsx
index 54030891..2b139f21 100644
--- a/src/components/Main/ExposureInstructions.tsx
+++ b/src/components/Main/ExposureInstructions.tsx
@@ -1,48 +1,125 @@
-import React from 'react';
-import { View, StyleSheet, Linking, ScrollView } from 'react-native';
+import React, { useMemo, useEffect, useState } from 'react';
+import { View, StyleSheet, Linking, ScrollView, UIManager, Platform, LayoutAnimation, BackHandler } from 'react-native';
import moment from 'moment';
-import { Exposure } from '../../types';
-import { FadeInView, Icon, Text, TouchableOpacity } from '../common';
-import { ExternalUrls, Languages, Strings } from '../../locale/LocaleData';
+import { useSelector, useDispatch } from 'react-redux';
+import { StackNavigationProp } from '@react-navigation/stack';
+import { RouteProp } from '@react-navigation/native';
+import SplashScreen from 'react-native-splash-screen';
+import AsyncStorage from '@react-native-community/async-storage';
import {
BASIC_SHADOW_STYLES,
IS_SMALL_SCREEN,
MAIN_COLOR,
PADDING_BOTTOM,
- SCREEN_WIDTH
+ SCREEN_WIDTH,
+ PADDING_TOP,
+ HIT_SLOP,
+ INIT_ROUTE_NAME
} from '../../constants/Constants';
+import { Icon, Text, TouchableOpacity } from '../common';
+import { Exposure, Store, LocaleReducer } from '../../types';
+import { moveAllToPastExposures } from '../../actions/ExposuresActions';
+
+
+if (
+ Platform.OS === 'android'
+ && UIManager.setLayoutAnimationEnabledExperimental
+) {
+ UIManager.setLayoutAnimationEnabledExperimental(true);
+}
interface Props {
- isRTL: boolean,
- strings: Strings,
- locale: string,
- languages: Languages,
- externalUrls: ExternalUrls,
- exposure: Exposure,
- removeValidExposure(): void
+ navigation: StackNavigationProp,
+ route: RouteProp
}
-const ExposureInstructions = (
- {
+// exposure: { properties: { Place, fromTime } },
+const ExposureInstructions = ({ navigation, route }: Props) => {
+ const dispatch = useDispatch();
+ const {
isRTL,
locale,
languages,
externalUrls,
strings: {
- scanHome: { inDate, fromHour },
- exposureInstructions: { title, weUnderstand, wrong, keepSafe, goIntoIsolation, reportIsolation, allInstructions, reportSite }
+ scanHome: {
+ atPlace,
+ betweenHours,
+ inDate,
+ fromHour,
+ deviceCloseTag,
+ locationCloseTag
+ },
+ exposureInstructions: {
+ title,
+ editBtn,
+ subTitle,
+ showLess,
+ showMore,
+ finishBtn,
+ reportSite,
+ updateTitle,
+ updateSubTitle,
+ goIntoIsolation,
+ reportIsolation,
+ allInstructions,
+ themInstructions,
+ }
},
- exposure: { properties: { Place, fromTime } },
- removeValidExposure
- }: Props
-) => {
- const relevantLocale: string = Object.keys(languages.short).includes(locale) ? locale : 'he';
+ } = useSelector(state => state.locale);
+
+ const exposures = useSelector(state => state.exposures.pastExposures.filter((exposure: Exposure) => exposure.properties.wasThere));
+ const [shouldShowMore, setShowMore] = useState(false);
+
+ useEffect(() => {
+ SplashScreen.hide();
+ // if edit button need to be shown then Exposure Instructions don't need to persists
+ AsyncStorage.setItem(INIT_ROUTE_NAME, 'ExposureInstructions');
+ BackHandler.addEventListener('hardwareBackPress', () => true);
+
+ return () => {
+ BackHandler.removeEventListener('hardwareBackPress', () => true);
+ };
+ }, []);
+
+ const [furtherInstructions, reportForm] = useMemo(() => {
+ const relevantLocale: string = Object.keys(languages.short).includes(locale) ? locale : 'he';
+
+ return [
+ externalUrls.furtherInstructions[relevantLocale],
+ externalUrls.reportForm[relevantLocale]
+ ];
+ }, [languages.short, locale]);
+
+ const ExposureList = useMemo(() => exposures.map((exposure: Exposure) => {
+ let ListText;
+
+ if (exposure.properties.BLETimestamp) {
+ const time = moment(exposure.properties.BLETimestamp).startOf('hour');
+
+ const exposureDate = time.format('DD.MM.YY');
+ const exposureStartHour = time.format('HH:mm');
+ const exposureEndHour = time.add(1, 'hour').format('HH:mm');
- const furtherInstructions = externalUrls.furtherInstructions[relevantLocale];
- const reportForm = externalUrls.reportForm[relevantLocale];
+ ListText = ({`${deviceCloseTag}: ${inDate} ${exposureDate} ${betweenHours} ${exposureStartHour}-${exposureEndHour}`});
+ } else {
+ const { Place, fromTime } = exposure.properties;
+ const time = moment();
+ ListText = ({`${locationCloseTag}: ${atPlace}${Place} ${inDate} ${moment(fromTime).format('DD.MM.YY')} ${fromHour} ${moment(fromTime).format('HH:mm')}`});
+ }
+
+
+ return (
+
+ •
+ {ListText}
+
+
+ );
+ }), [exposures, locale]);
const renderActionButton = (icon: number, text: string, buttonText: string, action: () => void) => (
-
+
{text}
@@ -53,80 +130,169 @@ const ExposureInstructions = (
);
+ const RenderHeader = useMemo(() => route.params?.update
+ ? (
+ <>
+
+ {updateTitle}
+ {updateSubTitle}
+ >
+ )
+ : (
+ <>
+ {title}
+ {subTitle}
+ {shouldShowMore ? ExposureList : ExposureList.slice(0, 4)}
+ {exposures.length > 4 && (
+ {
+ LayoutAnimation.create(
+ 300,
+ LayoutAnimation.Types.spring,
+ LayoutAnimation.Properties.scaleXY
+ );
+ setShowMore(!shouldShowMore);
+ }}
+ >
+
+ {shouldShowMore ? showLess : showMore}
+
+ )}
+ >
+ ),
+
+ [route.params?.update, shouldShowMore]);
+
return (
-
-
-
- {title}
-
-
- {`${weUnderstand}${Place} ${inDate} ${moment(fromTime).format('DD.MM.YY')} ${fromHour} ${moment(fromTime).format('HH:mm')}?`}
+
+
+ {route.params?.showEdit && (
+ navigation.navigate('ExposureDetected')}
+ >
+
+
+ {editBtn}
+
+ )}
-
- {wrong}
-
-
-
- {keepSafe}
+
+
+ {RenderHeader}
+
+
+
+ {themInstructions}
+
+ {renderActionButton(require('../../assets/main/isolation.png'), goIntoIsolation, allInstructions, () => Linking.openURL(furtherInstructions))}
+ {renderActionButton(require('../../assets/main/report.png'), reportIsolation, reportSite, () => Linking.openURL(reportForm))}
+
+ {
+ navigation.navigate('ScanHome');
+ dispatch(moveAllToPastExposures());
+ AsyncStorage.removeItem(INIT_ROUTE_NAME);
+ }}
+ style={{
+ color: MAIN_COLOR,
+ marginTop: IS_SMALL_SCREEN ? 22 : 32,
+ fontSize: IS_SMALL_SCREEN ? 14 : 16
+ }}
+ >
+ {finishBtn}
+
+
+
- {renderActionButton(require('../../assets/main/isolation.png'), goIntoIsolation, allInstructions, () => Linking.openURL(furtherInstructions))}
- {renderActionButton(require('../../assets/main/report.png'), reportIsolation, reportSite, () => Linking.openURL(reportForm))}
-
-
);
};
const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'space-around',
- alignItems: 'center'
- },
subContainer: {
- paddingHorizontal: 30,
+ flexGrow: 1,
alignItems: 'center',
- paddingTop: IS_SMALL_SCREEN ? 25 : 40,
- paddingBottom: PADDING_BOTTOM(10),
+ justifyContent: 'space-between',
+ paddingHorizontal: 25,
+ paddingTop: IS_SMALL_SCREEN ? PADDING_TOP(33) : PADDING_TOP(76),
+ paddingBottom: PADDING_BOTTOM(41)
+ // paddingVertical: PADDING_BOTTOM(76),
},
title: {
fontSize: 22,
marginBottom: 20
},
- bottomBorder: {
- alignSelf: 'stretch',
- height: 2,
- borderRadius: 1,
- backgroundColor: MAIN_COLOR
- },
actionButtonContainer: {
...BASIC_SHADOW_STYLES,
- width: SCREEN_WIDTH - 50,
- justifyContent: 'space-between',
- paddingVertical: 15,
- paddingHorizontal: 18,
- borderRadius: 16,
+
marginBottom: 12,
+
+ borderRadius: 16,
+
+ justifyContent: 'space-between',
alignItems: 'center'
},
+ actionButtonContainerSmall: {
+ width: SCREEN_WIDTH - 30,
+ padding: 10,
+
+ },
+ actionButtonContainerBig: {
+ width: (SCREEN_WIDTH / 2) - (23 + 5.5),
+ paddingVertical: 15,
+ paddingHorizontal: 23,
+ },
button: {
- width: 82,
- height: 32,
+ flexGrow: 1,
+ padding: 4,
alignItems: 'center',
justifyContent: 'center',
borderRadius: 6,
- backgroundColor: MAIN_COLOR
+ backgroundColor: MAIN_COLOR,
+
},
- actionText: {
- flex: 1,
+ actionText: IS_SMALL_SCREEN ? {
+ lineHeight: 16,
+ fontSize: 14,
+ flexShrink: 1,
+ marginHorizontal: 10
+ } : {
lineHeight: 16,
- fontSize: IS_SMALL_SCREEN ? 14 : 16,
- paddingHorizontal: 10
+ fontSize: 16,
+ marginBottom: 23,
+ marginTop: 13
},
buttonText: {
fontSize: IS_SMALL_SCREEN ? 12 : 14,
diff --git a/src/components/Main/ExposureRelief.tsx b/src/components/Main/ExposureRelief.tsx
new file mode 100644
index 00000000..6a04aecf
--- /dev/null
+++ b/src/components/Main/ExposureRelief.tsx
@@ -0,0 +1,81 @@
+import React, { useState, useCallback, useRef, useMemo } from 'react';
+import { View, StyleSheet, Animated, ScrollView, FlatList } from 'react-native';
+import { useSelector, useDispatch } from 'react-redux';
+import { StackNavigationProp } from '@react-navigation/stack';
+import { Text, Icon, ActionButton, TouchableOpacity } from '../common';
+import { IS_SMALL_SCREEN, HIT_SLOP, PADDING_TOP, MAIN_COLOR } from '../../constants/Constants';
+import { Store, LocaleReducer } from '../../types';
+import { moveAllToPastExposures } from '../../actions/ExposuresActions';
+
+interface Props {
+ navigation: StackNavigationProp
+}
+
+
+const ExposureRelief = ({ navigation }: Props) => {
+ const dispatch = useDispatch();
+ const { isRTL,
+ strings: { exposureRelief: { editBtn, title, keepSafe, backBtn } }
+ } = useSelector(state => state.locale);
+
+ return (
+
+
+
+ {editBtn}
+
+
+
+
+
+ {title}
+
+
+ {keepSafe}
+
+
+
+ {
+ dispatch(moveAllToPastExposures());
+ navigation.navigate('ScanHome');
+ }}
+ text={backBtn}
+ />
+
+ );
+};
+
+export default ExposureRelief;
diff --git a/src/components/Main/ExposuresDetected.tsx b/src/components/Main/ExposuresDetected.tsx
index 0b16e569..fac76914 100644
--- a/src/components/Main/ExposuresDetected.tsx
+++ b/src/components/Main/ExposuresDetected.tsx
@@ -1,144 +1,359 @@
-import React, { useState, useCallback } from 'react';
-import { View, StyleSheet, Animated, ScrollView } from 'react-native';
+import React, { useState, useCallback, useRef, useMemo, useEffect } from 'react';
+import { View, StyleSheet, Animated, ScrollView, FlatList, BackHandler } from 'react-native';
+import { useSelector, useDispatch } from 'react-redux';
import moment from 'moment';
-import { FadeInView, Icon, Text, TouchableOpacity } from '../common';
+import { StackNavigationProp } from '@react-navigation/stack';
+import { useFocusEffect } from '@react-navigation/native';
+import SplashScreen from 'react-native-splash-screen';
+import AsyncStorage from '@react-native-community/async-storage';
+import { Icon, Text, TouchableOpacity } from '../common';
import { Strings } from '../../locale/LocaleData';
-import { Exposure } from '../../types';
+import { Exposure, Store, LocaleReducer, ExposuresReducer } from '../../types';
import {
BASIC_SHADOW_STYLES,
IS_SMALL_SCREEN,
MAIN_COLOR,
PADDING_BOTTOM,
- SCREEN_WIDTH
+ SCREEN_WIDTH,
+ SCREEN_HEIGHT,
+ WHITE,
+ INIT_ROUTE_NAME
} from '../../constants/Constants';
+import { showMapModal } from '../../actions/GeneralActions';
+import { dismissExposures, setExposureSelected } from '../../actions/ExposuresActions';
+import CardIdentifyTag from '../common/CardIdentifyTag';
-interface Props {
- isRTL: boolean,
- strings: Strings,
- exposures: Exposure[],
- onValidExposure(exposure: Exposure): void,
- dismissExposure(exposureId: number): void,
- showMapModal(exposure: Exposure): void
+interface ExposuresDetectedProps {
+ navigation: StackNavigationProp
}
-const ExposuresDetected = (
- {
- isRTL,
- strings: {
- scanHome: { inDate, fromHour, wereYouThere, wasNotMe, wasMe, suspectedExposure, events, possibleExposure, atPlace, showOnMap },
- },
- exposures,
- onValidExposure,
- dismissExposure,
- showMapModal
- }: Props
-) => {
- const [anim] = useState(new Animated.Value(1));
-
- const scale = {
- transform: [{
- scale: anim.interpolate({ inputRange: [0, 1], outputRange: [0.01, 1] })
- }]
+interface RenderExposureProps {
+ index: number,
+ exposure: Exposure
+}
+
+
+const ExposuresDetected = ({ navigation }: ExposuresDetectedProps) => {
+ const dispatch = useDispatch();
+ const { isRTL, strings: { scanHome: { inDate, fromHour, wereYouThere, wasNotMe, wasMe, doneBtn, suspectedExposure, events, possibleExposure, atPlace, showOnMap, betweenHours, possibleExposureBLE, locationCloseTag, deviceCloseTag, wasMeBle, wasMeOnly } } } = useSelector(state => state.locale);
+ const { exposures } = useSelector(state => state.exposures);
+
+ const [anim] = useState(new Animated.Value(SCREEN_HEIGHT * 0.08));
+ const isOneBle = useMemo(() => exposures.length === 1 && exposures[0].properties.BLETimestamp !== null, [exposures]);
+ const flatListRef = useRef(null);
+
+ useEffect(() => {
+ SplashScreen.hide();
+ AsyncStorage.setItem(INIT_ROUTE_NAME, 'ExposureDetected');
+ BackHandler.addEventListener('hardwareBackPress', () => true);
+
+ return () => {
+ BackHandler.removeEventListener('hardwareBackPress', () => true);
+ };
+ }, []);
+
+
+ const showButton = (duration: number = 300) => {
+ Animated.timing(anim, {
+ toValue: 0,
+ duration,
+ useNativeDriver: true,
+ delay: 300
+ }).start();
};
- const onDismissExposure = () => {
+ // show button when moving to another page
+ // use case for single exposure. the user moves on click but if he returns for edit
+ useFocusEffect(
+ // TODO: fix this for BLE logic
+ useCallback(() => {
+ if (!isOneBle
+ && exposures.every(exposure => exposure.properties.wasThere !== null)) {
+ showButton(0);
+ }
+ }, [])
+ );
+
+ const setSelected = (index: number, wasThere: boolean) => {
+ dispatch(setExposureSelected({ index, wasThere }));
if (exposures.length === 1) {
- dismissExposure(exposures[0].properties.OBJECTID);
+ editDone();
} else {
- Animated.timing(anim, { toValue: 0, duration: 200, useNativeDriver: true }).start(() => {
- dismissExposure(exposures[0].properties.OBJECTID);
- setTimeout(() => Animated.timing(anim, { toValue: 1, duration: 200, useNativeDriver: true }).start(), 50);
- });
+ // find index of first card user didn't checked(was or not) and go to there˝
+ const emptyIndex = exposures.findIndex(exposure => exposure.properties.wasThere === null || exposure.properties.wasThere === undefined);
+
+ if (emptyIndex === -1) {
+ showButton();
+ } else if (index + 1 < exposures.length) {
+ setTimeout(() => {
+ if (flatListRef?.current) {
+ flatListRef?.current?.scrollToIndex({
+ index: index + 1,
+ viewOffset: 10
+ });
+ }
+ }, 300);
+ } else {
+ // all selected show finish button and findIndex get me last index
+ if (emptyIndex === -1 || exposures.length - 1 === emptyIndex) {
+ showButton();
+ } else {
+ flatListRef?.current?.scrollToIndex({
+ index: emptyIndex,
+ viewOffset: 10
+ });
+ }
+ }
}
};
- const renderExposure = useCallback(({ properties: { Place, fromTime } }: Exposure) => (
-
- {`1/${exposures.length}`}
- {possibleExposure}
-
- {`${atPlace}${Place} ${inDate} ${moment(fromTime).format('DD.MM.YY')} ${fromHour} ${moment(fromTime).format('HH:mm')}?`}
-
-
- showMapModal(exposures[0])}>{showOnMap}
-
-
- ), [exposures[0], possibleExposure]);
-
- const renderActionButton = (text: string, action: () => void) => (
-
- {text}
-
- );
+ const editDone = () => {
+ dispatch(dismissExposures());
+ // check if at least one exposure was checked a been there
+ const isExposed = exposures.some((exposure: Exposure) => exposure.properties.wasThere);
+
+ if (isExposed) {
+ // move to ExposureInstructions
+ const showEdit = exposures.some((exposure: Exposure) => !exposure.properties.BLETimestamp);
+ navigation.navigate('ExposureInstructions', { showEdit });
+ } else {
+ // move to ExposureRelief
+ navigation.navigate('ExposureRelief');
+ AsyncStorage.removeItem(INIT_ROUTE_NAME);
+ }
+ };
+
+ const RenderBleExposure = ({ index, exposure: { properties: { BLETimestamp, OBJECTID, Place } } }) => {
+ const [exposureDate, exposureStartHour, exposureEndHour] = useMemo(() => {
+ const time = moment(BLETimestamp).startOf('hour');
+
+ return [
+ time.format('DD.MM.YY'),
+ time.format('HH:mm'),
+ time.add(1, 'hour').format('HH:mm')
+ ];
+ }, [BLETimestamp]);
+
+
+ let LocationText = null;
+
+ if (OBJECTID) {
+ LocationText = (
+ <>
+
+ {`${atPlace}${Place}`}
+
+
+ dispatch(showMapModal(exposures[index]))}>{showOnMap}
+
+ >
+ );
+ }
+
+ return (
+
+
+ {`${index + 1}/${exposures.length}`}
+ {possibleExposureBLE}
+ {`${inDate} ${exposureDate}${OBJECTID ? ' ' : '\n'}${betweenHours} ${exposureStartHour}-${exposureEndHour}`}
+ {LocationText}
+
+
+
+ setSelected(index, true)}
+ >
+ {exposures.length === 1 ? wasMeOnly : wasMeBle}
+
+
+
+
+ );
+ };
+
+
+ const RenderGeoExposure = ({ index, exposure: { properties: { Place, fromTime, OBJECTID, wasThere } } }: RenderExposureProps) => {
+ const [wasThereSelected, wasNotThereSelected] = useMemo(() => {
+ if (wasThere === null) return [false, false];
+ return [wasThere, !wasThere];
+ }, [wasThere]);
+
+ const [exposureDate, exposureHour] = useMemo(() => {
+ const time = moment(fromTime);
+ return [time.format('DD.MM.YY'), time.format('HH:mm')];
+ }, [fromTime]);
+
+ return (
+
+
+ {`${index + 1}/${exposures.length}`}
+ {possibleExposure}
+
+ {`${atPlace}${Place} ${inDate} ${exposureDate} ${fromHour} ${exposureHour}`}
+
+
+ dispatch(showMapModal(exposures[index]))}>{showOnMap}
+
+
+
+ {wereYouThere}
+
+ setSelected(index, true)}
+ >
+ {wasMe}
+
+ setSelected(index, false)}
+ >
+ {wasNotMe}
+
+
+
+
+
+ );
+ };
return (
-
+ <>
-
+
{`${suspectedExposure} ${exposures.length} ${events}`}
- {renderExposure(exposures[0])}
-
-
+ {
+ if (item?.properties?.BLETimestamp) return item.properties.BLETimestamp.toString();
+ return item.properties.OBJECTID.toString();
+ }}
+ renderItem={({ item, index }) => (item.properties?.BLETimestamp ? : )}
+ showsHorizontalScrollIndicator={false}
+ contentContainerStyle={{ paddingLeft: 14, paddingRight: 5 }}
+ />
-
-
- {wereYouThere}
-
-
- {renderActionButton(wasMe, () => onValidExposure(exposures[0]))}
- {renderActionButton(wasNotMe, onDismissExposure)}
-
-
-
+
+
+
+ {doneBtn}
+
+
+ >
);
};
+
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
- paddingBottom: PADDING_BOTTOM(45)
+ paddingTop: PADDING_BOTTOM(45),
+
},
title: {
- fontSize: IS_SMALL_SCREEN ? 18 : 22
+ fontSize: IS_SMALL_SCREEN ? 18 : 22,
+ marginBottom: 4
},
detailsContainer: {
...BASIC_SHADOW_STYLES,
- marginHorizontal: 18,
- alignItems: 'center',
- justifyContent: 'center',
- borderRadius: 8,
- padding: 25
- },
- footer: {
- paddingTop: 10,
- alignItems: 'center',
- backgroundColor: '#fff'
- },
- actionButtonsWrapper: {
+ height: SCREEN_HEIGHT * 0.55,
width: SCREEN_WIDTH * 0.88,
+
+ marginRight: 13,
+ borderRadius: 13,
+ padding: 25,
+
justifyContent: 'space-between',
+
+ overflow: 'hidden'
},
- actionButton: {
- ...BASIC_SHADOW_STYLES,
- width: SCREEN_WIDTH * 0.424,
- paddingVertical: 12,
+ exposureLength: {
+ fontSize: 13,
+ marginBottom: 8
+ },
+ exposureCardTitle: {
+ fontSize: 16,
+ marginBottom: 18
+ },
+ exposureCardPlace: {
+ fontSize: IS_SMALL_SCREEN ? 14 : 18
+ },
+ exposureCardMapContainer: {
+ marginTop: 12,
+ paddingBottom: 3,
+ borderBottomWidth: 1.5,
+ borderColor: MAIN_COLOR
+ },
+ exposureCardMapText: {
+ fontSize: 14
+ },
+ actionBtnTitle: {
+ marginBottom: 16,
+ fontSize: IS_SMALL_SCREEN ? 14 : 16
+ },
+ actionBtnContainer: {
+ flexDirection: 'row',
+ justifyContent: 'space-between'
+ },
+ actionBtnTouch: {
+ borderColor: MAIN_COLOR,
+ borderWidth: 1,
+ borderRadius: 5.6,
+ height: SCREEN_HEIGHT * 0.05,
+ width: SCREEN_WIDTH * 0.3,
+ justifyContent: 'center'
+ },
+ bleActionBtn: {
+ borderColor: MAIN_COLOR,
+ backgroundColor: MAIN_COLOR,
+ borderWidth: 1,
+ borderRadius: 5.6,
+ paddingHorizontal: 24,
+ paddingVertical: 10,
justifyContent: 'center',
- alignItems: 'center',
- borderRadius: 7,
- backgroundColor: MAIN_COLOR
+ shadowColor: 'rgb(185,185,185)',
+ shadowOffset: { width: 0, height: 0 },
+ shadowOpacity: 0.5,
+ shadowRadius: 14,
+ elevation: 5,
+
+ },
+ actionBtnText: {
+ fontSize: IS_SMALL_SCREEN ? 12 : 16
+ },
+ actionBtnSelected: {
+ backgroundColor: MAIN_COLOR,
},
- actionButtonText: {
- color: '#fff',
- paddingVertical: 2,
- fontSize: IS_SMALL_SCREEN ? 17 : 20
+ actionBtnSelectedText: {
+ color: WHITE
}
});
diff --git a/src/components/Main/ExposuresHistory/ExposureHistoryListItem.tsx b/src/components/Main/ExposuresHistory/ExposureHistoryListItem.tsx
index d45ff9db..badb050b 100644
--- a/src/components/Main/ExposuresHistory/ExposureHistoryListItem.tsx
+++ b/src/components/Main/ExposuresHistory/ExposureHistoryListItem.tsx
@@ -1,39 +1,108 @@
-import React from 'react';
-import { View, StyleSheet } from 'react-native';
+import React, { FunctionComponent, useMemo } from 'react';
+import { View, StyleSheet, StyleProp, ViewStyle } from 'react-native';
import moment from 'moment';
import { Icon, Text, TouchableOpacity } from '../../common';
import { Strings } from '../../../locale/LocaleData';
import { BASIC_SHADOW_STYLES, MAIN_COLOR, SCREEN_WIDTH } from '../../../constants/Constants';
+import CardIdentifyTag from '../../common/CardIdentifyTag';
interface Props {
isRTL: boolean,
strings: Strings,
Place: string,
fromTime: number,
+ style?: StyleProp,
showExposureOnMap(): void
}
-const ExposureHistoryListItem = ({ isRTL, strings: { scanHome: { fromHour, showOnMap } }, Place, fromTime, showExposureOnMap }: Props) => {
+const ExposureHistoryListItem: FunctionComponent = ({ children, style, isRTL, strings: { scanHome: { fromHour, showOnMap, inDate, betweenHours, locationCloseTag, deviceCloseTag }, exposuresHistory: { BLELocationUpdate } }, Place, fromTime, BLETimestamp, showExposureOnMap }) => {
+ const isBLE: boolean = useMemo(() => Boolean(BLETimestamp), [BLETimestamp]);
+
+ let TimeText;
+
+ if (isBLE) {
+ const time = moment(BLETimestamp).startOf('hour');
+
+ const exposureDate = time.format('DD.MM.YY');
+ const exposureStartHour = time.format('HH:mm');
+ const exposureEndHour = time.add(1, 'hour').format('HH:mm');
+
+ TimeText = (
+
+ {`${exposureDate} `}
+ {`${betweenHours} `}
+ {`${exposureStartHour}-${exposureEndHour}`}
+
+ );
+ } else {
+ TimeText = (
+
+ {`${moment(fromTime).format('DD.MM.YY')} `}
+ {`${fromHour} `}
+ {`${moment(fromTime).format('HH:mm')}`}
+
+ );
+ }
+
+ let LocationUpdateTag = null;
+ if (isBLE && Place) {
+ LocationUpdateTag = (
+
+
+ {BLELocationUpdate}
+
+
+ );
+ }
+
return (
-
-
-
-
-
- {`${moment(fromTime).format('DD.MM.YY')} `}
- {`${fromHour} `}
- {`${moment(fromTime).format('HH:mm')}`}
-
-
- {Place}
-
-
-
-
- {showOnMap}
-
-
+
+
+
+
+
+
+
+
+ {TimeText}
+
+ {Place && (
+ <>
+ {Place}
+
+
+
+
+ {showOnMap}
+
+
+ >
+ )}
+
+ {children}
+
+
+
+ {LocationUpdateTag}
);
};
@@ -41,12 +110,9 @@ const ExposureHistoryListItem = ({ isRTL, strings: { scanHome: { fromHour, showO
const styles = StyleSheet.create({
listItemContainer: {
...BASIC_SHADOW_STYLES,
- width: SCREEN_WIDTH - 24,
- justifyContent: 'center',
- alignItems: 'center',
+
borderRadius: 13,
- paddingVertical: 20,
- paddingHorizontal: 15,
+ overflow: 'hidden'
},
textContainer: {
flex: 1,
@@ -54,7 +120,8 @@ const styles = StyleSheet.create({
},
text: {
fontSize: 13,
- lineHeight: 20
+ lineHeight: 20,
+ marginVertical: 10
},
separator: {
width: SCREEN_WIDTH * 0.875,
diff --git a/src/components/Main/ExposuresHistory/ExposureHistoryRelief.tsx b/src/components/Main/ExposuresHistory/ExposureHistoryRelief.tsx
new file mode 100644
index 00000000..74a10d3b
--- /dev/null
+++ b/src/components/Main/ExposuresHistory/ExposureHistoryRelief.tsx
@@ -0,0 +1,48 @@
+import React, { useState, useCallback, useRef, useMemo } from 'react';
+import { View, StyleSheet, FlatList } from 'react-native';
+import { useSelector } from 'react-redux';
+import { Icon, Text, TouchableOpacity, ActionButton } from '../../common';
+import { IS_SMALL_SCREEN, HIT_SLOP, PADDING_TOP, MAIN_COLOR } from '../../../constants/Constants';
+import { Store, LocaleReducer } from '../../../types';
+
+const ExposureHistoryRelief = ({ navigation }) => {
+ const { isRTL,
+ strings: { exposureRelief: { title, keepSafe, historyBackBtn, reliefTitle } }
+ } = useSelector(state => state.locale);
+ return (
+
+
+
+ {reliefTitle}
+ {title}
+ {keepSafe}
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ alignItems: 'center',
+ justifyContent: 'space-around'
+ },
+ wrapper: {
+ alignItems: 'center'
+ },
+ reliefTitle: {
+ fontSize: IS_SMALL_SCREEN ? 18 : 21,
+ marginTop: IS_SMALL_SCREEN ? 25 : 28,
+ marginBottom: IS_SMALL_SCREEN ? 15 : 18
+ },
+ title: {
+ fontSize: IS_SMALL_SCREEN ? 14 : 16,
+ marginBottom: IS_SMALL_SCREEN ? 15 : 18
+ },
+ keepSafe: {
+ fontSize: IS_SMALL_SCREEN ? 14 : 16
+ }
+});
+
+export default ExposureHistoryRelief;
diff --git a/src/components/Main/ExposuresHistory/ExposuresHistory.tsx b/src/components/Main/ExposuresHistory/ExposuresHistory.tsx
index c0db2b14..814a1241 100644
--- a/src/components/Main/ExposuresHistory/ExposuresHistory.tsx
+++ b/src/components/Main/ExposuresHistory/ExposuresHistory.tsx
@@ -1,11 +1,11 @@
-import React from 'react';
-import { View, StyleSheet, FlatList } from 'react-native';
+import React, { useState, useEffect, useMemo } from 'react';
+import { View, StyleSheet, FlatList, Animated } from 'react-native';
import { StackNavigationProp } from '@react-navigation/stack';
import { connect } from 'react-redux';
-import { Icon, Text, HeaderButton } from '../../common';
+import { Icon, Text, HeaderButton, TouchableOpacity } from '../../common';
import { Strings } from '../../../locale/LocaleData';
import { Exposure } from '../../../types';
-import { PADDING_TOP, SCREEN_HEIGHT, SCREEN_WIDTH } from '../../../constants/Constants';
+import { PADDING_TOP, SCREEN_WIDTH, IS_SMALL_SCREEN, MAIN_COLOR, HIT_SLOP, WHITE } from '../../../constants/Constants';
import ExposureHistoryListItem from './ExposureHistoryListItem';
import { showMapModal } from '../../../actions/GeneralActions';
@@ -17,6 +17,10 @@ interface Props {
showMapModal(exposures: Exposure): void
}
+const LINE_MARGIN = 7;
+const ANIMATION_DURATION = 300;
+
+
const ExposuresHistory = (
{
navigation,
@@ -26,68 +30,195 @@ const ExposuresHistory = (
showMapModal
}: Props
) => {
- const { exposuresHistory: { title, noExposures, keepInstructions } } = strings;
+ const { exposuresHistory: { title, subTitle, wasNotThere, wasThere, wasThereNoExposure, wasNotThereNoExposure, keepInstructions, edit } } = strings;
- const renderEmptyState = () => (
- <>
-
-
- {noExposures}
- {keepInstructions}
-
-
-
- >
- );
-
- const renderList = () => (
- showMapModal(item)} />}
- keyExtractor={(_, index) => index.toString()}
- ItemSeparatorComponent={() => }
- showsVerticalScrollIndicator={false}
- />
- );
+ const [tabIndex, setTabIndex] = useState(1);
+ const wasThereList = pastExposures.filter(({ properties }: Exposure) => properties?.wasThere);
+ const wasNotThereList = pastExposures.filter(({ properties }: Exposure) => !properties?.wasThere);
+ // show button if list is not empty or all exposures are of type BLE and can't be edited
+ const showEditBtn = useMemo(() => wasThereList.length + wasNotThereList.length > 0 && !pastExposures.every((exposure: Exposure) => exposure.properties.BLETimestamp), [wasThereList, wasNotThereList]);
+ const [tabsLayout, setTabsLayout] = useState({});
+ const [lineAnimLeft] = useState(new Animated.Value(isRTL ? SCREEN_WIDTH : 0));
+ const [lineAnimWidth] = useState(new Animated.Value(0));
+ const [listTranslateAnim] = useState(new Animated.Value(isRTL ? SCREEN_WIDTH : 0));
+ const [firstLoad, setFirstLoad] = useState(true);
+
+ useEffect(() => {
+ // didn't layout yet
+ if (tabsLayout?.[tabIndex]) {
+ // TODO: make it a pretty function
+ Animated.parallel([
+ Animated.timing(lineAnimLeft, {
+ toValue: tabsLayout[tabIndex].x - LINE_MARGIN + (isRTL ? tabIndex * SCREEN_WIDTH / 2 : SCREEN_WIDTH / 2 * (tabIndex ? 0 : 1)),
+ duration: firstLoad ? 0 : ANIMATION_DURATION,
+ }),
+ Animated.timing(listTranslateAnim, {
+ toValue: tabIndex ? SCREEN_WIDTH : 0,
+ duration: firstLoad ? 0 : ANIMATION_DURATION,
+ useNativeDriver: true
+ }),
+ Animated.timing(lineAnimWidth, {
+ toValue: tabsLayout[tabIndex].width + (LINE_MARGIN * 2),
+ duration: firstLoad ? 0 : ANIMATION_DURATION,
+ })
+ ]).start(() => setFirstLoad(false));
+ }
+ }, [tabIndex, tabsLayout, isRTL]);
return (
+
+ {showEditBtn && (
+ navigation.navigate('ExposuresHistoryEdit')}
+ >
+ {edit}
+
+
+ )}
-
- {title}
+
+ {title}
+ {subTitle}
+
+
+ setTabIndex(0)}
+ >
+ setTabsLayout(state => ({ ...state, 0: layout }))}
+ >
+ {wasNotThere}
+
+
+
+ setTabIndex(0)}
+ >
+ setTabsLayout(state => ({ ...state, 1: layout }))}
+ onPress={() => setTabIndex(1)}
+ >
+ {wasThere}
+
+
+
+
+
+
+
+ (
+ showMapModal(item)} />)}
+ keyExtractor={(_, index) => index.toString()}
+ ItemSeparatorComponent={() => }
+ showsVerticalScrollIndicator={false}
+ ListEmptyComponent={() => (
+
+
+ {wasNotThereNoExposure}
+ {keepInstructions}
+
+ )}
+ />
+
- {pastExposures.length === 0 ? renderEmptyState() : renderList()}
+
+ (
+ showMapModal(item)}
+ />
+ )}
+ keyExtractor={(_, index) => index.toString()}
+ ItemSeparatorComponent={() => }
+ showsVerticalScrollIndicator={false}
+ ListEmptyComponent={() => (
+
+
+ {wasThereNoExposure}
+ {keepInstructions}
+
+ )
+ }
+ />
+
+
);
};
const styles = StyleSheet.create({
container: {
+ backgroundColor: '#f7f8fa',
flex: 1,
- paddingTop: PADDING_TOP(15),
- backgroundColor: '#fff'
},
headerContainer: {
- width: SCREEN_WIDTH,
- height: SCREEN_HEIGHT * 0.16,
- justifyContent: 'center',
- alignItems: 'center'
+ paddingTop: PADDING_TOP(IS_SMALL_SCREEN ? 30 : 60),
+ justifyContent: 'space-between',
+ paddingBottom: IS_SMALL_SCREEN ? 8 : 10,
+ backgroundColor: WHITE
},
listContainer: {
+ flexGrow: 1,
width: SCREEN_WIDTH,
- alignItems: 'center',
paddingVertical: 10,
-
+ paddingHorizontal: 12,
},
emptyStateContainer: {
+ paddingTop: IS_SMALL_SCREEN ? 60 : 97,
+ alignItems: 'center',
+ paddingHorizontal: IS_SMALL_SCREEN ? 20 : 35
+ },
+ tabTextContainer: {
flex: 1,
- justifyContent: 'center',
alignItems: 'center',
- paddingHorizontal: 35
+ justifyContent: 'center'
+ },
+ tabText: {
+ fontSize: IS_SMALL_SCREEN ? 14 : 16,
+ width: SCREEN_WIDTH / 2,
+ paddingHorizontal: 10
+ },
+ editButtonContainer: {
+ position: 'absolute',
+ zIndex: 1000,
+ top: PADDING_TOP(IS_SMALL_SCREEN ? 18 : 30),
+ alignItems: 'center',
}
});
diff --git a/src/components/Main/ExposuresHistory/ExposuresHistoryEdit.tsx b/src/components/Main/ExposuresHistory/ExposuresHistoryEdit.tsx
new file mode 100644
index 00000000..00417d70
--- /dev/null
+++ b/src/components/Main/ExposuresHistory/ExposuresHistoryEdit.tsx
@@ -0,0 +1,261 @@
+import React, { useState, useCallback, useRef, useMemo } from 'react';
+import { View, StyleSheet, FlatList } from 'react-native';
+import { useSelector, useDispatch } from 'react-redux';
+import _ from 'lodash';
+import { Icon, Text, TouchableOpacity } from '../../common';
+import { Store, ExposuresReducer, LocaleReducer, Exposure } from '../../../types';
+import ExposureHistoryListItem from './ExposureHistoryListItem';
+import { PADDING_TOP, SCREEN_HEIGHT, SCREEN_WIDTH, IS_SMALL_SCREEN, MAIN_COLOR, WHITE, PADDING_BOTTOM } from '../../../constants/Constants';
+import { showMapModal } from '../../../actions/GeneralActions';
+import { replacePastExposureSelected } from '../../../actions/ExposuresActions';
+
+
+const ExposuresHistoryEdit = ({ navigation }) => {
+ const dispatch = useDispatch();
+ const { isRTL, strings } = useSelector(state => state.locale);
+ const {
+ exposuresHistory: { title, subTitle, historyEditFinishBtn, historyEditCancelBtn, BLEWarning },
+ scanHome: { wasNotMe, wasMe, }
+ } = strings;
+ const { pastExposures } = useSelector(state => state.exposures);
+ // clone for imutablity purpose
+ const [newExposureArr, setNewExposureArray] = useState(_.cloneDeep(pastExposures));
+
+ const showBLEWarning = useMemo(() => pastExposures.some(({ properties }: Exposure) => properties.BLETimestamp), [pastExposures]);
+
+ const setSelected = (index, wasThere) => {
+ setNewExposureArray((exposureArrState) => {
+ // must be immutable
+ const newArr = [...exposureArrState];
+ newArr[index].properties.wasThere = wasThere;
+ return newArr;
+ });
+ };
+
+ const finishEdit = () => {
+ // check if change at all
+ const oldExposureState = _.cloneDeep(pastExposures);
+ // commit changes and check diff from pastExposures
+ dispatch(replacePastExposureSelected(newExposureArr));
+
+ // user had at least one exposure detected
+ const wasChanged = oldExposureState.reduce((dif, exposure, index) => {
+ if (exposure.properties.wasThere !== newExposureArr[index].properties.wasThere) {
+ dif.push({
+ index,
+ from: exposure.properties.wasThere,
+ to: newExposureArr[index].properties.wasThere
+ });
+ }
+ return dif;
+ }, []);
+
+
+ if (wasChanged.length === 0) {
+ // no change
+ navigation.goBack();
+ } else if (newExposureArr.every(exposure => !exposure.properties.wasThere)) {
+ // user changed all to was not there
+ navigation.replace('ExposureHistoryRelief');
+ } else if (oldExposureState.some(exposure => exposure.properties.wasThere)) {
+ // check if user changes wasThere from false to true when he already had at least on exposure true
+ if (wasChanged.some(({ from, to }) => from === false && to === true)) {
+ navigation.reset({
+ index: 0,
+ routes: [{ name: 'ScanHome' }, { name: 'ExposureInstructions', params: { showEdit: false, update: true } }]
+ });
+ } else {
+ navigation.goBack();
+ }
+ } else {
+ // user had no exposure was there
+ if (newExposureArr.some(exposure => exposure.properties.wasThere)) {
+ navigation.reset({
+ index: 0,
+ routes: [{ name: 'ScanHome' }, { name: 'ExposureInstructions', params: { showEdit: false, update: false } }]
+ });
+ } else {
+ navigation.goBack();
+ }
+ }
+ };
+
+
+ return (
+
+ {
+ if (item?.properties?.BLETimestamp) return item.properties.BLETimestamp.toString();
+ return item.properties.OBJECTID.toString();
+ }}
+ renderItem={({ index, item }) => (
+ dispatch(showMapModal(item))}
+ setSelected={setSelected}
+ wasNotMe={wasNotMe}
+ wasMe={wasMe}
+ />
+ )}
+ ListHeaderComponent={() => (
+
+
+ {title}
+ {subTitle}
+ {showBLEWarning && (
+
+
+
+ {BLEWarning}
+
+
+ )}
+
+
+ )}
+ />
+
+
+ {historyEditFinishBtn}
+
+
+ {historyEditCancelBtn}
+
+
+
+ );
+};
+
+
+const RenderExposure = ({ index, item, isRTL, strings, showExposureOnMap, setSelected, wasMe, wasNotMe }) => {
+ const { wasThere, BLETimestamp, Place } = item.properties;
+
+ const [wasThereSelected, wasNotThereSelected] = useMemo(() => {
+ if (wasThere === null) return [false, false];
+ return [wasThere, !wasThere];
+ }, [wasThere]);
+
+ return (
+
+
+ {!BLETimestamp && Place && (
+
+ setSelected(index, false)}
+ >
+ {wasNotMe}
+
+ setSelected(index, true)}
+ >
+ {wasMe}
+
+
+
+ )}
+
+
+ );
+};
+
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#f7f8fa',
+ },
+ listContainer: {
+ flexGrow: 1,
+ paddingBottom: PADDING_BOTTOM(49),
+
+ },
+ headerContainer: {
+ width: SCREEN_WIDTH,
+ paddingTop: PADDING_TOP(IS_SMALL_SCREEN ? 20 : 62),
+ justifyContent: 'space-between',
+ alignItems: 'center',
+ paddingBottom: IS_SMALL_SCREEN ? SCREEN_HEIGHT * 0.05 : SCREEN_HEIGHT * 0.03,
+ backgroundColor: WHITE,
+ marginBottom: 15,
+ paddingHorizontal: 20
+ },
+ headerSubtitle: {
+ fontSize: 14,
+ color: '#6a6a6a',
+ marginTop: 8,
+ },
+ actionBtnTouch: {
+ borderColor: MAIN_COLOR,
+ borderWidth: 1,
+ borderRadius: 5.6,
+ paddingVertical: 10,
+ paddingHorizontal: 5,
+ justifyContent: 'center'
+ },
+ actionBtnText: {
+ fontSize: IS_SMALL_SCREEN ? 10 : 12,
+
+ },
+ actionBtnSelected: {
+ backgroundColor: MAIN_COLOR,
+ },
+ actionBtnSelectedText: {
+ color: WHITE
+ },
+ footerBtnText: {
+ fontSize: 14,
+ },
+ buttonsContainer: {
+ width: SCREEN_WIDTH,
+ height: PADDING_BOTTOM(49)
+ }
+});
+
+export default ExposuresHistoryEdit;
diff --git a/src/components/Main/InfoBubble.tsx b/src/components/Main/InfoBubble.tsx
new file mode 100644
index 00000000..9d78c1d9
--- /dev/null
+++ b/src/components/Main/InfoBubble.tsx
@@ -0,0 +1,49 @@
+import React, { FunctionComponent } from 'react';
+import { View, StyleSheet } from 'react-native';
+import { Icon, Text, TouchableOpacity } from '../common';
+import { SCREEN_WIDTH, MAIN_COLOR } from '../../constants/Constants';
+
+interface Props {
+ isRTL: boolean,
+ info: string,
+ moreInfo: string,
+ onPress(): void
+}
+
+const InfoBubble: FunctionComponent = ({ isRTL, info, moreInfo, onPress }) => {
+ return (
+
+
+
+
+ {info}
+
+ {moreInfo}
+
+
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ width: SCREEN_WIDTH - 36,
+ alignItems: 'center',
+ paddingHorizontal: 10,
+ borderRadius: 14,
+ backgroundColor: 'rgb(242,250,253)',
+ marginBottom: 8
+ },
+ textContainer: {
+ flex: 1,
+ paddingVertical: 15,
+ paddingHorizontal: 5,
+ },
+ text: {
+ color: 'rgb(106,106,106)',
+ fontSize: 13,
+ }
+});
+
+export default InfoBubble;
diff --git a/src/components/Main/InfoModal.tsx b/src/components/Main/InfoModal.tsx
index 454b91ce..183684c4 100644
--- a/src/components/Main/InfoModal.tsx
+++ b/src/components/Main/InfoModal.tsx
@@ -9,10 +9,10 @@ import { Strings } from '../../locale/LocaleData';
const MODAL_MARGIN = 26;
interface InfoModalProps {
- strings: Strings,
- showModal: boolean,
- firstPointDate: string,
- closeModal(): void
+ strings: Strings,
+ showModal: boolean,
+ firstPointDate: string,
+ closeModal(): void
}
const InfoModal = ({ strings, firstPointDate, closeModal, showModal }: InfoModalProps) => {
@@ -40,23 +40,19 @@ const InfoModal = ({ strings, firstPointDate, closeModal, showModal }: InfoModal
source={require('../../assets/main/infoModalBG.png')}
>
-
-
-
-
-
-
-
-
- {textBodyPt1.trim()}
- {` ${firstPointDate} `}
- {textBodyPt2.trim()}
-
-
+
+
+
+
+
+ {textBodyPt1.trim()}
+ {` ${firstPointDate} `}
+ {textBodyPt2.trim()}
+
@@ -72,9 +68,7 @@ const styles = StyleSheet.create({
alignItems: 'center'
},
container: {
- height: 261,
- backgroundColor: 'white',
- justifyContent: 'center',
+ width: SCREEN_WIDTH - (MODAL_MARGIN * 2),
alignItems: 'center',
borderRadius: 18,
shadowColor: '#084473',
@@ -82,21 +76,15 @@ const styles = StyleSheet.create({
shadowOpacity: 0.1,
shadowRadius: 23,
elevation: 5,
- width: SCREEN_WIDTH - (MODAL_MARGIN * 2)
+ paddingHorizontal: 57,
+ paddingBottom: 40,
+ paddingTop: 20,
+ backgroundColor: 'white',
},
closeBtnContainer: {
- flex: 1,
- paddingLeft: 14,
- justifyContent: 'center',
- alignItems: 'flex-start',
- width: SCREEN_WIDTH - (MODAL_MARGIN * 2)
- },
- bodyContainer: {
- flex: 3,
- paddingHorizontal: 57,
- alignItems: 'center',
- marginBottom: 40,
- marginTop: 20
+ position: 'absolute',
+ top: 14,
+ left: 14,
},
infoIcon: {
marginBottom: 18
@@ -104,7 +92,6 @@ const styles = StyleSheet.create({
infoText: {
fontSize: 16
}
-
});
diff --git a/src/components/Main/LocationHistoryInfo.tsx b/src/components/Main/LocationHistoryInfo.tsx
deleted file mode 100644
index 19d62217..00000000
--- a/src/components/Main/LocationHistoryInfo.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import React from 'react';
-import { View, StyleSheet } from 'react-native';
-import { Icon, Text, TouchableOpacity } from '../common';
-import { SCREEN_WIDTH } from '../../constants/Constants';
-
-interface Props {
- isRTL: boolean,
- info: string,
- moreInfo: string,
- onPress(): void
-}
-
-const LocationHistoryInfo = ({ isRTL, info, moreInfo, onPress }: Props) => {
- return (
-
-
-
-
- {info}
- {moreInfo}
-
-
-
- );
-};
-
-const styles = StyleSheet.create({
- container: {
- width: SCREEN_WIDTH - 36,
- alignItems: 'center',
- paddingHorizontal: 10,
- borderRadius: 14,
- backgroundColor: 'rgba(230,230,230,0.45)'
- },
- textContainer: {
- flex: 1,
- paddingVertical: 15,
- paddingHorizontal: 5
- },
- text: {
- color: 'rgb(77,77,77)',
- fontSize: 12,
- lineHeight: 12,
- }
-});
-
-export default LocationHistoryInfo;
diff --git a/src/components/Main/NoExposures.tsx b/src/components/Main/NoExposures.tsx
index 1b1e39cc..d7e7914d 100644
--- a/src/components/Main/NoExposures.tsx
+++ b/src/components/Main/NoExposures.tsx
@@ -1,34 +1,43 @@
-import React, { useEffect, useRef, useState, useMemo } from 'react';
-import { View, StyleSheet, AppState, AppStateStatus } from 'react-native';
+import React, { useEffect, useRef, useState, useMemo, useCallback, FunctionComponent } from 'react';
+import { View, StyleSheet, AppState, AppStateStatus, Linking, Button, Platform } from 'react-native';
import moment from 'moment';
import LottieView from 'lottie-react-native';
-import LocationHistoryInfo from './LocationHistoryInfo';
+import InfoBubble from './InfoBubble';
import InfoModal from './InfoModal';
import { FadeInView, Text, Icon, TouchableOpacity } from '../common';
-import { Strings } from '../../locale/LocaleData';
-import { IS_SMALL_SCREEN, HIT_SLOP, PADDING_BOTTOM, SCREEN_WIDTH } from '../../constants/Constants';
+import { Strings, Languages, ExternalUrls } from '../../locale/LocaleData';
+import { IS_SMALL_SCREEN, HIT_SLOP, PADDING_BOTTOM, SCREEN_WIDTH, IS_IOS } from '../../constants/Constants';
+
interface NoExposuresProps {
isRTL: boolean,
firstPoint?: number,
strings: Strings,
hideLocationHistory: boolean,
- goToLocationHistory(): void
+ locale: string,
+ languages: Languages,
+ enableBle: boolean | undefined,
+ externalUrls: ExternalUrls,
+ exposureState: 'pristine' | 'notRelevant' | 'relevant',
+ showBleInfo: boolean,
+ goToLocationHistory(): void,
+ goToBluetoothPermission(): void
}
-const NoExposures = ({ isRTL, firstPoint, strings, hideLocationHistory, goToLocationHistory }: NoExposuresProps) => {
+
+const NoExposures: FunctionComponent = ({ exposureState, languages, locale, externalUrls, isRTL, firstPoint, strings, hideLocationHistory, enableBle, showBleInfo, goToLocationHistory, goToBluetoothPermission }) => {
const appState = useRef('active');
const [showModal, setModalVisibility] = useState(false);
const [now, setNow] = useState(moment().valueOf());
+ const FPDate = useMemo(() => moment(firstPoint).format('D.M.YY'), [firstPoint]);
- const { FPDate, nowDate, nowHour } = useMemo(() => ({
- FPDate: moment(firstPoint).format('D.M.YY'),
+ const { nowDate, nowHour } = useMemo(() => ({
nowDate: moment(now).format('D.M.YY'),
nowHour: moment(now).format('HH:mm')
- }), [firstPoint, now]);
+ }), [now]);
- const { scanHome: { noExposures: { bannerText, workAllTheTime, card: { title, atHour } } }, locationHistory: { info, moreInfo } } = strings;
+ const { scanHome: { noExposures: { bannerText, bannerTextPristine, workAllTheTime, instructionLinkUpper, instructionLinkLower, bluetoothServiceOff, turnBluetoothOn, canIdentifyWithBluetooth, moreInformation, card: { title, atHour } } }, locationHistory: { info, moreInfo } } = strings;
// redundant, ScanHome calls it
useEffect(() => {
@@ -39,23 +48,59 @@ const NoExposures = ({ isRTL, firstPoint, strings, hideLocationHistory, goToLoca
};
}, []);
+ const RelevantCard = useMemo(() => {
+ if (exposureState !== 'relevant') return null;
+
+ const relevantLocale: string = Object.keys(languages.short).includes(locale) ? locale : 'he';
+
+ const furtherInstructions = externalUrls.furtherInstructions[relevantLocale];
+
+ return (
+ Linking.openURL(furtherInstructions)}>
+
+ {instructionLinkUpper}
+ {instructionLinkLower}
+
+
+
+ );
+ }, [exposureState, strings]);
+
const onStateChange = async (state: AppStateStatus) => {
if (state === 'active' && appState.current !== 'active') {
setNow(moment().valueOf());
}
-
appState.current = state;
};
+ const LocationHistoryInfo = () => {
+ if (hideLocationHistory) return null;
+ return ();
+ };
+
+ const EnableBluetooth = () => {
+ if (enableBle !== null) return null;
+ return (
+
+ );
+ };
+
return (
<>
- {
- !hideLocationHistory && (
-
- )
- }
+
+
{workAllTheTime}
- {bannerText}
+ {exposureState === 'pristine' ? bannerTextPristine : bannerText}
@@ -87,7 +132,9 @@ const NoExposures = ({ isRTL, firstPoint, strings, hideLocationHistory, goToLoca
{nowHour}
+
+ {RelevantCard}
,
isRTL: boolean,
strings: Strings,
@@ -30,7 +29,8 @@ interface Props {
languages: Languages,
externalUrls: ExternalUrls,
exposures: Exposure[],
- validExposure: Exposure,
+ pastExposures: Exposure[],
+ enableBle: boolean | undefined,
firstPoint?: number,
hideLocationHistory: boolean,
setValidExposure(exposure: Exposure): void,
@@ -38,28 +38,35 @@ interface Props {
dismissExposure(exposureId: number): void,
checkForceUpdate(): void,
checkIfHideLocationHistory(): void,
- showMapModal(exposure: Exposure): void
+ showMapModal(exposure: Exposure): void,
+ checkIfBleEnabled(): void
}
-const ScanHome = (
+// user has Relevant event by time and location
+const isAfter14Days = ({ properties }: Exposure): boolean => ((properties?.wasThere && moment().diff(moment(properties.toTime ?? properties.BLETimestamp), 'days') < 14) ?? false);
+
+const ScanHome: FunctionComponent = (
{
navigation,
+ route,
isRTL,
strings,
locale,
languages,
externalUrls,
exposures,
- validExposure,
+ pastExposures,
+ firstPoint,
+ enableBle,
+ hideLocationHistory,
setValidExposure,
removeValidExposure,
dismissExposure,
- firstPoint,
- hideLocationHistory,
checkForceUpdate,
checkIfHideLocationHistory,
- showMapModal
- }: Props
+ showMapModal,
+ checkIfBleEnabled
+ }
) => {
const appStateStatus = useRef('active');
const [{ hasLocation, hasNetwork, hasGPS }, setIsConnected] = useState({ hasLocation: true, hasNetwork: true, hasGPS: true });
@@ -81,20 +88,24 @@ const ScanHome = (
}, 3000);
checkIfHideLocationHistory();
+ checkIfBleEnabled();
checkConnectionStatusOnLoad();
- AppState.addEventListener('change', onAppStateChange);
- NetInfo.addEventListener((state: NetInfoState) => {
- setIsConnected({ hasLocation, hasNetwork: state.isConnected, hasGPS });
- });
+ if (exposures.length > 0) {
+ navigation.navigate('ExposureDetected');
+ }
+ }, []);
+ useEffect(() => {
+ AppState.addEventListener('change', onAppStateChange);
+ NetInfo.addEventListener((state: NetInfoState) => setIsConnected({ hasLocation, hasNetwork: state.isConnected, hasGPS }));
DeviceEventEmitter.addListener(RNSettings.GPS_PROVIDER_EVENT, handleGPSProviderEvent);
return () => {
AppState.removeEventListener('change', onAppStateChange);
DeviceEventEmitter.removeListener(RNSettings.GPS_PROVIDER_EVENT, handleGPSProviderEvent);
};
- }, []);
+ }, [hasLocation, hasNetwork, hasGPS]);
useFocusEffect(
React.useCallback(() => {
@@ -137,47 +148,41 @@ const ScanHome = (
setIsConnected({ hasLocation, hasNetwork, hasGPS: e[RNSettings.LOCATION_SETTING] === RNSettings.ENABLED });
};
- const renderRelevantState = () => {
- if (validExposure) {
- return (
-
- );
- } if (!hasLocation || !hasNetwork || !hasGPS) {
- return (
-
- );
- } if (exposures.length > 0) {
- return (
- setValidExposure(exposure)}
- dismissExposure={exposureId => dismissExposure(exposureId)}
- showMapModal={showMapModal}
- />
- );
+ const exposureState = () => {
+ // user never got any exposure detected
+ if (exposures.length + pastExposures.length === 0) {
+ return 'pristine';
+ }
+
+ // check if user past exposures are relevant
+ // ie: is less then 14 days old
+ if (exposures.some(isAfter14Days) || pastExposures.some(isAfter14Days)) {
+ return 'relevant';
}
- return (
+ return 'notRelevant';
+ };
+
+
+ const RelevantState = (!hasLocation || !hasNetwork || !hasGPS)
+ ? ()
+ : (
navigation.navigate('LocationHistory')}
+ goToBluetoothPermission={() => navigation.navigate('Bluetooth')}
+ showBleInfo={route.params?.showBleInfo}
/>
);
- };
+
return (
@@ -189,10 +194,7 @@ const ScanHome = (
strings={strings}
openDrawer={navigation.openDrawer}
/>
-
- {
- renderRelevantState()
- }
+ {RelevantState}
);
};
@@ -207,23 +209,20 @@ const styles = StyleSheet.create({
const mapStateToProps = (state: any) => {
const {
locale: { isRTL, strings, locale, languages, externalUrls },
- general: { hideLocationHistory },
- exposures: { exposures, validExposure, firstPoint }
+ general: { hideLocationHistory, enableBle },
+ exposures: { exposures, pastExposures, validExposure, firstPoint }
} = state;
- return { isRTL, strings, locale, languages, externalUrls, exposures, validExposure, firstPoint, hideLocationHistory };
+ return { isRTL, strings, locale, languages, externalUrls, exposures, pastExposures, validExposure, firstPoint, hideLocationHistory, enableBle };
};
-const mapDispatchToProps = (dispatch: any) => {
- return bindActionCreators({
- setValidExposure,
- removeValidExposure,
- dismissExposure,
- checkForceUpdate,
- checkIfHideLocationHistory,
- showMapModal
- }, dispatch);
-};
-
-export default connect(mapStateToProps, mapDispatchToProps)(ScanHome);
+export default connect(mapStateToProps, {
+ setValidExposure,
+ removeValidExposure,
+ dismissExposure,
+ checkForceUpdate,
+ checkIfHideLocationHistory,
+ showMapModal,
+ checkIfBleEnabled
+})(ScanHome);
diff --git a/src/components/Main/ScanHomeHeader.tsx b/src/components/Main/ScanHomeHeader.tsx
index d50c22c3..90946c00 100644
--- a/src/components/Main/ScanHomeHeader.tsx
+++ b/src/components/Main/ScanHomeHeader.tsx
@@ -1,8 +1,8 @@
-import React, { useMemo } from 'react';
+import React, { useMemo, FunctionComponent } from 'react';
import { View, StyleSheet, ImageBackground, Share } from 'react-native';
import { TouchableOpacity, Icon } from '../common';
import { onError } from '../../services/ErrorService';
-import { ExternalUrls,Strings, Languages } from '../../locale/LocaleData';
+import { ExternalUrls, Strings, Languages } from '../../locale/LocaleData';
import { HIT_SLOP, PADDING_TOP, SCREEN_HEIGHT, SCREEN_WIDTH } from '../../constants/Constants';
interface ScanHomeHeaderProps {
@@ -14,16 +14,16 @@ interface ScanHomeHeaderProps {
openDrawer(): void
}
-const ScanHomeHeader = ({ isRTL,languages,locale,externalUrls,strings: { scanHome: { share: { message, title, androidTitle } } }, openDrawer }: ScanHomeHeaderProps) => {
- const messageAndUrl = useMemo(()=> {
+const ScanHomeHeader: FunctionComponent = ({ isRTL, languages, locale, externalUrls, strings: { scanHome: { share: { message, title, androidTitle } } }, openDrawer }) => {
+ const messageAndUrl = useMemo(() => {
const relevantLocale: string = Object.keys(languages.short).includes(locale) ? locale : 'he';
- return `${message}\n${externalUrls?.shareMessage?.[relevantLocale] ?? ''}`
- }, [locale])
+ return `${message}\n${externalUrls?.shareMessage?.[relevantLocale] ?? ''}`;
+ }, [locale]);
const onShare = async () => {
try {
- await Share.share({ message: messageAndUrl, title }, { dialogTitle: androidTitle, subject: title});
+ await Share.share({ message: messageAndUrl, title }, { dialogTitle: androidTitle, subject: title });
} catch (error) {
onError({ error });
}
@@ -70,7 +70,7 @@ const styles = StyleSheet.create({
},
bottomEdge: {
width: SCREEN_WIDTH,
- height: 45,
+ height: 24,
borderTopLeftRadius: 24,
borderTopRightRadius: 24,
backgroundColor: '#fff'
diff --git a/src/components/Onboarding/AllSet.tsx b/src/components/Onboarding/AllSet.tsx
index e1a0674e..e849cd8b 100644
--- a/src/components/Onboarding/AllSet.tsx
+++ b/src/components/Onboarding/AllSet.tsx
@@ -10,8 +10,9 @@ import { scheduleTask } from '../../services/BackgroundService';
import { startForegroundTimer } from '../../services/Tracker';
import { onError } from '../../services/ErrorService';
import { startSampling } from '../../services/SampleService';
+import { initBLETracing } from '../../services/BLEService';
import { NotificationData, Strings } from '../../locale/LocaleData';
-import { SCREEN_WIDTH, IS_FIRST_TIME } from '../../constants/Constants';
+import { SCREEN_WIDTH, IS_FIRST_TIME, DID_CLUSTER_LOCATIONS, SICK_DB_UPDATED } from '../../constants/Constants';
interface Props {
navigation: StackNavigationProp,
@@ -44,8 +45,10 @@ const AllSet = ({ navigation, strings: { allSet: { allGood } }, locale, notifica
const onboardingDoneActions = async () => {
try {
await AsyncStorage.setItem(IS_FIRST_TIME, 'true');
-
+ await AsyncStorage.setItem(DID_CLUSTER_LOCATIONS, 'true');
+ await AsyncStorage.setItem(SICK_DB_UPDATED, 'true');
startForegroundTimer();
+ await initBLETracing();
await startSampling(locale, notificationData);
await scheduleTask();
diff --git a/src/components/Onboarding/BluetoothOnboarding.tsx b/src/components/Onboarding/BluetoothOnboarding.tsx
new file mode 100644
index 00000000..c4ce56e9
--- /dev/null
+++ b/src/components/Onboarding/BluetoothOnboarding.tsx
@@ -0,0 +1,41 @@
+import React, { FunctionComponent } from 'react';
+import { View, StyleSheet } from 'react-native';
+import { useSelector, useDispatch } from 'react-redux';
+import { StackNavigationProp } from '@react-navigation/stack';
+import DeviceInfo from 'react-native-device-info';
+import { ActionButton, GeneralContainer, OnboardingHeader, Text, Icon, TouchableOpacity } from '../common';
+import { Strings } from '../../locale/LocaleData';
+import { IS_SMALL_SCREEN, MAIN_COLOR, USAGE_PRIVACY } from '../../constants/Constants';
+import { Store, LocaleReducer } from '../../types';
+import { toggleWebview } from '../../actions/GeneralActions';
+import BluetoothPermission from '../common/BluetoothPermission';
+
+interface Props {
+ navigation: StackNavigationProp,
+}
+
+const BluetoothOnboarding: FunctionComponent = ({ navigation }) => {
+ return (
+
+
+ {
+ const androidVersion = parseFloat(DeviceInfo.getSystemVersion().split(',')[0]);
+ navigation.navigate(androidVersion >= 10 ? 'FilterDrivingOnBoarding' : 'LocationHistoryOnBoarding');
+ }
+ }
+ />
+
+ );
+};
+
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'space-between',
+ alignItems: 'center'
+ },
+});
+
+export default BluetoothOnboarding;
diff --git a/src/components/Onboarding/Location.tsx b/src/components/Onboarding/Location.tsx
index c7b8f9b6..f7bf5249 100644
--- a/src/components/Onboarding/Location.tsx
+++ b/src/components/Onboarding/Location.tsx
@@ -10,7 +10,7 @@ import { ActionButton, GeneralContainer, OnboardingHeader, Text, TermsOfUse } fr
import { toggleWebview } from '../../actions/GeneralActions';
import { requestLocationPermissions } from '../../services/LocationService';
import { Strings } from '../../locale/LocaleData';
-import { IS_IOS, IS_SMALL_SCREEN, MAIN_COLOR, USAGE_ON_BOARDING } from '../../constants/Constants';
+import { IS_IOS, IS_SMALL_SCREEN, MAIN_COLOR, USAGE_ON_BOARDING, ENABLE_BLE } from '../../constants/Constants';
interface Props {
navigation: StackNavigationProp,
@@ -36,6 +36,9 @@ const Location = ({ navigation, isRTL, strings, toggleWebview }: Props) => {
if (IS_IOS) {
navigation.navigate('LocationIOS');
+ } else if (ENABLE_BLE) {
+ // got to this only if ble enabled
+ navigation.navigate('Bluetooth');
} else {
const androidVersion = parseFloat(DeviceInfo.getSystemVersion().split(',')[0]);
navigation.navigate(androidVersion >= 10 ? 'FilterDrivingOnBoarding' : 'LocationHistoryOnBoarding');
diff --git a/src/components/Onboarding/OnboardingRoutes.tsx b/src/components/Onboarding/OnboardingRoutes.tsx
new file mode 100644
index 00000000..6b3dfed0
--- /dev/null
+++ b/src/components/Onboarding/OnboardingRoutes.tsx
@@ -0,0 +1,27 @@
+import React from 'react';
+import { CardStyleInterpolators, createStackNavigator } from '@react-navigation/stack';
+import Welcome from './Welcome';
+import Location from './Location';
+import LocationIOS from './LocationIOS';
+import BluetoothOnboarding from './BluetoothOnboarding';
+import FilterDrivingOnBoarding from './FilterDrivingOnBoarding';
+import LocationHistoryOnBoarding from './LocationHistoryOnBoarding';
+import Notifications from './Notifications';
+import AllSet from './AllSet';
+
+const Stack = createStackNavigator();
+
+const OnboardingRoutes = () => (
+
+
+
+
+
+
+
+
+
+
+);
+
+export default OnboardingRoutes;
diff --git a/src/components/ShareLocations/ShareLocations.tsx b/src/components/ShareLocations/ShareLocations.tsx
index cf338a8e..ffc0dc6b 100644
--- a/src/components/ShareLocations/ShareLocations.tsx
+++ b/src/components/ShareLocations/ShareLocations.tsx
@@ -3,11 +3,11 @@ import { StyleSheet, AppState, AppStateStatus, View } from 'react-native';
import { StackNavigationProp } from '@react-navigation/stack';
import NetInfo, { NetInfoState } from '@react-native-community/netinfo';
import { useDispatch, useSelector } from 'react-redux';
-import { ActionButton, HeaderButton, Icon, Text } from '../common';
+import { ActionButton, HeaderButton, Icon, Text, TouchableOpacity } from '../common';
import { shareUserLocations } from '../../actions/DeepLinkActions';
import { Strings } from '../../locale/LocaleData';
import { LocaleReducer, Store } from '../../types';
-import { IS_SMALL_SCREEN, PADDING_BOTTOM, PADDING_TOP } from '../../constants/Constants';
+import { IS_SMALL_SCREEN, PADDING_BOTTOM, PADDING_TOP, TEXT_COLOR, IS_IOS, ENABLE_BLE } from '../../constants/Constants';
interface Props {
route: any,
@@ -24,16 +24,17 @@ const ICON = {
shareFail: SHARE_FAIL_ICON,
};
-type ShareStates = 'beforeShare'|'shareNoConnection'|'shareSuccess'|'shareFail'
-type ShareFailState = ''|'MissingToken'|'TokenError'
+type ShareStates = 'beforeShare' | 'shareNoConnection' | 'shareSuccess' | 'shareFail'
+type ShareFailState = '' | 'MissingToken' | 'TokenError' | 'WithWarnings'
const ShareLocations = ({ route, navigation }: Props) => {
- const { strings: { shareLocation: { title, description, greeting, button } } } = useSelector(state => state.locale);
+ const { isRTL, strings: { shareLocation: { title, description, greeting, button, addBleDataText } } } = useSelector(state => state.locale);
const dispatch = useDispatch();
const [state, setState] = useState('beforeShare');
const [failState, setFailState] = useState('');
const [canRetry, setRetryState] = useState(true);
+ const [agreeToBle, onValueSelected] = useState(true);
const { token } = route.params;
useEffect(() => {
@@ -51,34 +52,44 @@ const ShareLocations = ({ route, navigation }: Props) => {
return () => {
netInfoUnsubscribe();
- AppState.removeEventListener('change', () => {});
+ AppState.removeEventListener('change', () => { });
};
}, []);
const onButtonPress = async () => {
try {
if (canRetry) {
- const { statusCode, statusDesc }: any = await dispatch(shareUserLocations(token));
+ const { statusCode, statusDesc }: any = await dispatch(shareUserLocations(token, agreeToBle));
switch (statusCode) {
+ case 'CompleteSuccessfully':
case 'CompletSuccessfully': {
setState('shareSuccess');
setRetryState(false);
break;
}
+ case 'CompleteWithWarnings': {
+ setState('shareFail');
+ setFailState('WithWarnings');
+ setRetryState(false);
+ break;
+ }
case 'RunTimeError': {
setState('shareFail');
- setFailState('MissingToken');
+ setFailState('TokenError');
break;
}
case 'InvalidOperation': {
switch (statusDesc) {
+ case '1':
+ case '2':
case 1:
case 2: {
setState('shareFail');
setFailState('TokenError');
break;
}
+ case '3':
case 3: {
setState('shareSuccess');
setRetryState(false);
@@ -86,14 +97,14 @@ const ShareLocations = ({ route, navigation }: Props) => {
}
default: {
setState('shareFail');
- setRetryState(false);
+ setFailState('MissingToken');
+ break;
}
}
break;
}
default: {
setState('shareFail');
- setRetryState(false);
}
}
} else {
@@ -109,6 +120,23 @@ const ShareLocations = ({ route, navigation }: Props) => {
// @ts-ignore
const combinedState: ShareStates & ShareFailState = state + failState;
+ const AgreeToBleCheckbox = () => {
+ if (!IS_IOS && ENABLE_BLE && state === 'beforeShare') {
+ return (
+ onValueSelected(!agreeToBle)} accessibilityRole="checkbox" checked={agreeToBle}>
+
+ {agreeToBle && }
+
+
+ {addBleDataText}
+
+
+ );
+ }
+
+ return null;
+ };
+
return (
{Header}
@@ -120,8 +148,10 @@ const ShareLocations = ({ route, navigation }: Props) => {
{description[combinedState]}
{greeting[state]}
-
-
+
+
+
+
);
};
@@ -143,6 +173,20 @@ const styles = StyleSheet.create({
description: {
marginBottom: 17,
lineHeight: 19
+ },
+ box: {
+ width: 20,
+ height: 20,
+ borderWidth: 1,
+ justifyContent: 'center',
+ alignItems: 'center',
+ borderColor: TEXT_COLOR
+ },
+ text: {
+ fontSize: 13,
+ lineHeight: 18,
+ color: '#6a6a6a',
+ paddingHorizontal: 10,
}
});
diff --git a/src/components/common/ActionButton.tsx b/src/components/common/ActionButton.tsx
index 24e86097..dbb09646 100644
--- a/src/components/common/ActionButton.tsx
+++ b/src/components/common/ActionButton.tsx
@@ -25,7 +25,7 @@ const styles = StyleSheet.create({
container: {
...BASIC_SHADOW_STYLES,
width: SCREEN_WIDTH * 0.6,
- height: 60,
+ minHeight: 60,
justifyContent: 'center',
alignItems: 'center',
borderRadius: 10,
diff --git a/src/components/common/BluetoothPermission.tsx b/src/components/common/BluetoothPermission.tsx
new file mode 100644
index 00000000..57e18318
--- /dev/null
+++ b/src/components/common/BluetoothPermission.tsx
@@ -0,0 +1,112 @@
+import React, { FunctionComponent } from 'react';
+import { View, StyleSheet, Platform } from 'react-native';
+import { useSelector, useDispatch } from 'react-redux';
+import { useRoute } from '@react-navigation/native';
+import AsyncStorage from '@react-native-community/async-storage';
+// import { StackNavigationProp } from '@react-navigation/stack';
+import { ActionButton, Text, Icon, TouchableOpacity } from '.';
+import { Strings } from '../../locale/LocaleData';
+import { IS_SMALL_SCREEN, MAIN_COLOR, USAGE_PRIVACY, USER_AGREE_TO_BLE, IS_IOS, SCREEN_WIDTH } from '../../constants/Constants';
+import { Store, LocaleReducer } from '../../types';
+import { toggleWebview } from '../../actions/GeneralActions';
+import { ENABLE_BLE } from '../../constants/ActionTypes';
+
+
+interface Props {
+ onEnd(): void
+}
+
+const BluetoothPermission: FunctionComponent = ({ onEnd }) => {
+ const dispatch = useDispatch();
+ const { strings: {
+ general: { additionalInfo },
+ bluetooth: { title, description, approveBluetoothIOS, approveBluetoothAndroid, callToAction }
+ }
+ } = useSelector(state => state.locale);
+ const { params } = useRoute();
+
+ const userApprove = async () => {
+ await AsyncStorage.setItem(USER_AGREE_TO_BLE, 'true');
+ onEnd();
+ };
+
+ const handlePressIOS = () => { };
+
+ const handlePressAndroid = async () => {
+ onEnd();
+ // ENABLE_BLE
+ dispatch({ type: ENABLE_BLE, payload: true });
+ await AsyncStorage.setItem(USER_AGREE_TO_BLE, 'true');
+ };
+
+ return (
+ <>
+
+ {!IS_SMALL_SCREEN && (
+
+ )}
+ {title}
+ {description}
+ {callToAction}
+
+
+
+ {params?.showUsageLink && (
+
+ dispatch(toggleWebview(true, USAGE_PRIVACY))}>
+ {additionalInfo}
+
+
+
+ )}
+
+ >
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ justifyContent: 'space-between',
+ alignItems: 'center'
+ },
+ lottie: {
+ height: 120,
+ marginBottom: 20
+ },
+ title: {
+ fontSize: 22,
+ marginBottom: 25
+ },
+ description: {
+ lineHeight: 24,
+ marginBottom: 25
+ },
+ callToAction: {
+ lineHeight: 22,
+ color: '#4d4d4d'
+ },
+ bottomBorder: {
+ alignSelf: 'stretch',
+ height: 2,
+ borderRadius: 1,
+ backgroundColor: MAIN_COLOR
+ },
+ termsWrapper: {
+ width: SCREEN_WIDTH * 0.7,
+ alignItems: 'center'
+ }
+});
+
+export default BluetoothPermission;
diff --git a/src/components/common/CardIdentifyTag.tsx b/src/components/common/CardIdentifyTag.tsx
new file mode 100644
index 00000000..8a578c7e
--- /dev/null
+++ b/src/components/common/CardIdentifyTag.tsx
@@ -0,0 +1,27 @@
+import React, { FunctionComponent } from 'react';
+import { View } from 'react-native';
+import { Text } from '.';
+
+interface Props {
+ isRTL: boolean,
+ text: string,
+ color: string
+}
+
+const CardIdentifyTag: FunctionComponent = ({ isRTL, text, color }) => (
+
+ {text}
+
+);
+
+export default CardIdentifyTag;
diff --git a/src/components/common/GoogleTimeLine.tsx b/src/components/common/GoogleTimeLine.tsx
index ab4855b0..5c0a787f 100644
--- a/src/components/common/GoogleTimeLine.tsx
+++ b/src/components/common/GoogleTimeLine.tsx
@@ -31,12 +31,12 @@ interface FetchHistoryModalProps {
closeModal(): void
}
-const FetchHistoryModal = ({ isVisible, isLoggedIn, webViewRef, onMessage, closeModal }:FetchHistoryModalProps) => {
+const FetchHistoryModal = ({ isVisible, isLoggedIn, webViewRef, onMessage, closeModal }: FetchHistoryModalProps) => {
return (
{} : closeModal}
+ onRequestClose={isLoggedIn ? () => { } : closeModal}
>
@@ -69,7 +69,7 @@ interface GoogleTimeLineProps {
interface State {
openWebview: boolean,
isLoggedIn: boolean,
- state: 'before'|'successFound'|'successNotFound'|'failed'
+ state: 'before' | 'successFound' | 'successNotFound' | 'failed'
}
const GoogleTimeLine = ({ strings, toggleWebview, onCompletion }: GoogleTimeLineProps) => {
@@ -129,7 +129,7 @@ const GoogleTimeLine = ({ strings, toggleWebview, onCompletion }: GoogleTimeLine
};
}
- default: { return { icon: 0, title: '', desc1: '', desc2: '', button: '', action: () => {} }; }
+ default: { return { icon: 0, title: '', desc1: '', desc2: '', button: '', action: () => { } }; }
}
};
@@ -140,6 +140,7 @@ const GoogleTimeLine = ({ strings, toggleWebview, onCompletion }: GoogleTimeLine
}, IS_IOS ? 5000 : 10);
});
+
const onMessage = async ({ nativeEvent: { data } }: WebViewMessageEvent) => {
if (!data) {
return;
@@ -187,7 +188,7 @@ const GoogleTimeLine = ({ strings, toggleWebview, onCompletion }: GoogleTimeLine
onError({ error });
};
- const onFlowEnd = async (state: 'before'|'successFound'|'successNotFound'|'failed') => {
+ const onFlowEnd = async (state: 'before' | 'successFound' | 'successNotFound' | 'failed') => {
if (state !== 'failed') {
// once 14 days flow completed for the first time
await AsyncStorage.setItem(SHOULD_HIDE_LOCATION_HISTORY, 'true');
@@ -218,10 +219,12 @@ const GoogleTimeLine = ({ strings, toggleWebview, onCompletion }: GoogleTimeLine
{
state === 'before' && (
- toggleWebview(true, USAGE_PRIVACY)}>
- {additionalInfo}
-
-
+
+ toggleWebview(true, USAGE_PRIVACY)}>
+ {additionalInfo}
+
+
+
)
}
@@ -255,6 +258,7 @@ const styles = StyleSheet.create({
flex: 1,
alignItems: 'center',
justifyContent: 'space-between',
+ paddingTop: 10,
backgroundColor: '#fff'
},
textsContainer: {
diff --git a/src/components/common/HeaderButton.tsx b/src/components/common/HeaderButton.tsx
index a5a06378..38debde0 100644
--- a/src/components/common/HeaderButton.tsx
+++ b/src/components/common/HeaderButton.tsx
@@ -3,7 +3,7 @@ import { StyleSheet } from 'react-native';
import { useSelector } from 'react-redux';
import { TouchableOpacity, Icon } from '.';
import { LocaleReducer, Store } from '../../types';
-import { IS_SMALL_SCREEN, PADDING_TOP } from '../../constants/Constants';
+import { IS_SMALL_SCREEN, PADDING_TOP, HIT_SLOP } from '../../constants/Constants';
interface Props {
type: 'close'|'back',
@@ -15,6 +15,7 @@ const HeaderButton = ({ type, onPress }: Props) => {
return (
,
reference?: MutableRefObject,
children?: ReactNode,
bold?: boolean,
diff --git a/src/components/common/index.ts b/src/components/common/index.ts
index 090bfea4..e8bf7e04 100644
--- a/src/components/common/index.ts
+++ b/src/components/common/index.ts
@@ -13,3 +13,4 @@ export * from './ForceTerms';
export * from './GoogleTimeLine';
export * from './WebviewHeader';
export * from './HeaderButton';
+export * from './CardIdentifyTag';
diff --git a/src/config/config.ts b/src/config/config.ts
index 5faf52c2..169170d8 100644
--- a/src/config/config.ts
+++ b/src/config/config.ts
@@ -7,7 +7,7 @@ import { Config } from '../types';
// @ts-ignore
const env: 'com.hamagen.qa'|'com.hamagen' = DeviceInfo.getBundleId();
-
+// @ts-ignore
let config: Config = DefaultConfig[env] || DefaultConfig['com.hamagen.qa'];
export const initConfig = async () => new Promise(async (resolve) => {
diff --git a/src/config/default_config.json b/src/config/default_config.json
index 0a9f04c7..f09eb21e 100644
--- a/src/config/default_config.json
+++ b/src/config/default_config.json
@@ -1,15 +1,24 @@
{
"com.hamagen.dev": {
- "dataUrl": "https://matrixdemos.blob.core.windows.net/mabar/Points.json",
- "dataUrl_utc": "https://matrixdemos.blob.core.windows.net/mabar/Points.json",
+ "dataUrl": "https://matrixdemos.blob.core.windows.net/mabar/PointsFiltered.json",
+ "dataUrl_utc": "https://matrixdemos.blob.core.windows.net/mabar/PointsFiltered.json",
+ "BleDataUrl_utc": "https://matrixdemos.blob.core.windows.net/mabar/BleUtc.json",
"stringsUrl": "https://matrixdemos.blob.core.windows.net/mabar/texts.json",
"versionsUrl": "https://matrixdemos.blob.core.windows.net/mabar/versions.json",
"dataShareUrl": "https://hamagenapitest.health.gov.il/api/data/UploadMobileData",
"sampleDistance": 50,
"sampleInterval": 60000,
"fetchMilliseconds": 900000,
+ "minimumBLEFetchIntervalMin": 15,
+ "minimumGeoFetchIntervalMin": 60,
"meterRadius": 50,
+ "clusterRadius": 20,
+ "jitterValue": 2,
+ "jitterUnits": "minutes",
"intersectMilliseconds": 1,
+ "intersectMillisecondsWithCluster": 900000,
+ "intersectWithClusters": true,
+ "dataShareClusters": false,
"bufferUnits": "meter",
"sickGeometryLongIndex": 0,
"sickGeometryLatIndex": 1,
@@ -101,16 +110,25 @@
}
},
"com.hamagen.qa": {
- "dataUrl": "https://matrixdemos.blob.core.windows.net/mabar/Points.json",
- "dataUrl_utc": "https://matrixdemos.blob.core.windows.net/mabar/Points.json",
+ "dataUrl": "https://matrixdemos.blob.core.windows.net/mabar/PointsFiltered.json",
+ "dataUrl_utc": "https://matrixdemos.blob.core.windows.net/mabar/PointsFiltered.json",
+ "BleDataUrl_utc": "https://matrixdemos.blob.core.windows.net/mabar/BleUtc.json",
"stringsUrl": "https://matrixdemos.blob.core.windows.net/mabar/texts.json",
"versionsUrl": "https://matrixdemos.blob.core.windows.net/mabar/versions.json",
- "dataShareUrl": "https://hamagenapitest.health.gov.il/api/data/UploadMobileData",
+ "dataShareUrl": "https://hamagenapitest.health.gov.il/api/data/UploadMobileData2",
"sampleDistance": 50,
"sampleInterval": 60000,
"fetchMilliseconds": 900000,
+ "minimumBLEFetchIntervalMin": 15,
+ "minimumGeoFetchIntervalMin": 60,
"meterRadius": 50,
+ "clusterRadius": 20,
+ "jitterValue": 2,
+ "jitterUnits": "minutes",
"intersectMilliseconds": 1,
+ "intersectMillisecondsWithCluster": 900000,
+ "intersectWithClusters": true,
+ "dataShareClusters": false,
"bufferUnits": "meter",
"sickGeometryLongIndex": 0,
"sickGeometryLatIndex": 1,
@@ -204,14 +222,23 @@
"com.hamagen": {
"dataUrl": "https://gisweb.azureedge.net/PointsUtc.json",
"dataUrl_utc": "https://gisweb.azureedge.net/PointsUtc.json",
+ "BleDataUrl_utc": "https://gisweb.azureedge.net/BleUtc.json",
"stringsUrl": "https://gisweb.azureedge.net/texts.json",
"versionsUrl": "https://gisweb.azureedge.net/versions.json",
- "dataShareUrl": "https://hamagenapitest.health.gov.il/api/data/UploadMobileData",
+ "dataShareUrl": "https://hamagenapi.health.gov.il/api/data/UploadMobileData2",
"sampleDistance": 50,
"sampleInterval": 900000,
"fetchMilliseconds": 3600000,
+ "minimumBLEFetchIntervalMin": 15,
+ "minimumGeoFetchIntervalMin": 60,
"meterRadius": 50,
+ "clusterRadius": 20,
+ "jitterValue": 2,
+ "jitterUnits": "minutes",
"intersectMilliseconds": 1,
+ "intersectMillisecondsWithCluster": 900000,
+ "intersectWithClusters": true,
+ "dataShareClusters": false,
"bufferUnits": "meter",
"sickGeometryLongIndex": 0,
"sickGeometryLatIndex": 1,
diff --git a/src/constants/ActionTypes.ts b/src/constants/ActionTypes.ts
index 7028f057..2adea006 100755
--- a/src/constants/ActionTypes.ts
+++ b/src/constants/ActionTypes.ts
@@ -18,3 +18,6 @@ export const HIDE_FORCE_TERMS = 'HIDE_FORCE_TERMS';
export const HIDE_LOCATION_HISTORY = 'HIDE_LOCATION_HISTORY';
export const SHOW_MAP_MODAL = 'SHOW_MAP_MODAL';
export const HIDE_MAP_MODAL = 'HIDE_MAP_MODAL';
+export const REPLACE_EXPOSURES = 'REPLACE_EXPOSURES';
+export const REPLACE_PAST_EXPOSURES = 'REPLACE_PAST_EXPOSURES';
+export const ENABLE_BLE = 'ENABLE_BLE';
diff --git a/src/constants/Constants.ts b/src/constants/Constants.ts
index 2d23b1bf..561c0d24 100755
--- a/src/constants/Constants.ts
+++ b/src/constants/Constants.ts
@@ -15,12 +15,13 @@ export const IS_IPHONE_X: boolean = Platform.OS === 'ios' && (isIPhoneXSize || i
export const SCREEN_HEIGHT: number = Platform.OS === 'ios' ? Dimensions.get('window').height : ExtraDimensions.get('REAL_WINDOW_HEIGHT') - ExtraDimensions.get('SOFT_MENU_BAR_HEIGHT') - ExtraDimensions.get('STATUS_BAR_HEIGHT');
export const SCREEN_WIDTH: number = Dimensions.get('window').width;
export const PADDING_TOP = (padBy: number = 0): number => padBy + (IS_IOS ? (IS_IPHONE_X ? 32 : 20) : 0);
-export const PADDING_BOTTOM = (padBy: number): number => padBy + (IS_IPHONE_X ? 15 : 0);
-export const IS_SMALL_SCREEN: boolean = SCREEN_HEIGHT < 600;
+export const PADDING_BOTTOM = (padBy: number = 0): number => padBy + (IS_IPHONE_X ? 15 : 0);
+export const IS_SMALL_SCREEN: boolean = SCREEN_HEIGHT < 618;
// Colors
export const MAIN_COLOR = '#0077c8';
export const TEXT_COLOR = '#191919';
+export const WHITE = '#fff';
export const BACK_DROP_COLOR: string = 'rgba(0,0,0,0.7)';
// Styles
@@ -49,7 +50,24 @@ export const SHOULD_HIDE_LOCATION_HISTORY = 'SHOULD_HIDE_LOCATION_HISTORY';
export const IS_LAST_POINT_FROM_TIMELINE = 'IS_LAST_POINT_FROM_TIMELINE';
export const HIGH_VELOCITY_POINTS = 'HIGH_VELOCITY_POINTS';
export const MOTION_PERMISSION_CALL_TO_ACTION = 'MOTION_PERMISSION_CALL_TO_ACTION';
+export const ALL_POINTS_QA = 'ALL_POINTS_QA';
+export const HIGH_VELOCITY_POINTS_QA = 'HIGH_VELOCITY_POINTS_QA';
+export const SERVICE_TRACKER = 'SERVICE_TRACKER';
+export const INIT_ROUTE_NAME = 'INIT_ROUTE_NAME';
+export const USER_AGREE_BLE = 'USER_AGREE_BLE';
+export const SICK_DB_UPDATED = 'SICK_DB_UPDATED';
+
+
+// Cluster
+export const CLUSTER_JITTER_LOCATION = 'CLUSTER_JITTER_LOCATION';
+export const CURRENT_CLUSTER_LOCATIONS_DATA = 'CURRENT_CLUSTER_LOCATIONS_DATA';
+export const DID_CLUSTER_LOCATIONS = 'DID_CLUSTER_LOCATIONS';
+export const CLUSTERING_RESULT_LOG_FOR_QA = 'CLUSTERING_RESULT_LOG_FOR_QA';
// GeneralWebview
export const USAGE_ON_BOARDING = 'USAGE_ON_BOARDING';
export const USAGE_PRIVACY = 'USAGE_PRIVACY';
+
+// BLE
+export const USER_AGREE_TO_BLE = 'USER_AGREE_TO_BLE';
+export const ENABLE_BLE = false
diff --git a/src/constants/defaultBleResponse.json b/src/constants/defaultBleResponse.json
new file mode 100644
index 00000000..da1633c4
--- /dev/null
+++ b/src/constants/defaultBleResponse.json
@@ -0,0 +1,397 @@
+{
+ "startDay": 18000,
+ "days": [
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ []
+ ],
+ [
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [],
+ [
+ ],
+ [
+ ]
+ ]
+ ]
+ }
\ No newline at end of file
diff --git a/src/database/Database.js b/src/database/Database.js
index 52107287..c2c21e37 100755
--- a/src/database/Database.js
+++ b/src/database/Database.js
@@ -143,7 +143,7 @@ export class UserLocationsDatabase {
db.transaction(async (tx) => {
try {
- await tx.executeSql('DELETE FROM Samples WHERE endTime < ?', [timestamp]);
+ await tx.executeSql('DELETE FROM Samples WHERE endTime < ? OR endTime IS NULL', [timestamp]);
resolve(true);
} catch (error) {
onError({ error });
@@ -197,6 +197,212 @@ export class UserLocationsDatabase {
}
});
}
+
+ getBufferSamplesForClustering(bufferSize) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ try {
+ const [_, results] = await tx.executeSql('select * from (select * from Samples order by rowid DESC limit ?);', [bufferSize]);
+
+ const samples = [];
+ const len = results.rows.length;
+
+ for (let i = 0; i < len; i++) {
+ const row = results.rows.item(i);
+ samples.push(row);
+ }
+
+ resolve(samples.reverse());
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ }
+}
+
+export class UserClusteredLocationsDatabase {
+ initDB() {
+ let db;
+ return new Promise(async (resolve, reject) => {
+ try {
+ await SQLite.echoTest();
+
+ const DB = await SQLite.openDatabase(
+ database_name,
+ database_version,
+ database_displayname,
+ database_size
+ );
+
+ db = DB;
+
+ await db.executeSql('CREATE TABLE IF NOT EXISTS Clusters (lat,long,startTime,endTime,geoHash,radius,size);');
+
+ resolve(db);
+ } catch (error) {
+ reject(error);
+ onError({ error });
+ }
+ });
+ }
+
+ listClusters() {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ try {
+ const [_, results] = await tx.executeSql('SELECT * FROM Clusters', []);
+
+ const clusters = [];
+ const len = results.rows.length;
+
+ for (let i = 0; i < len; i++) {
+ const row = results.rows.item(i);
+ clusters.push(row);
+ }
+
+ resolve(clusters);
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ }
+
+ addCluster(cluster) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ try {
+ const [_, results] = await tx.executeSql('INSERT INTO Clusters VALUES (?,?,?,?,?,?,?)', [cluster.lat, cluster.long, cluster.startTime, cluster.endTime, cluster.geoHash, cluster.radius, cluster.size]);
+ resolve(results);
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ }
+
+ insertBulkClusters(data) {
+ return new Promise(async (resolve, reject) => {
+ try {
+ const db = await this.initDB();
+
+ await db.transaction(async (tx) => {
+ try {
+ const parsedData = data.flatMap(cluster => Object.values(cluster));
+ const numberOfBulks = Math.ceil(parsedData.length / 700);
+ const bulks = Array.from({ length: numberOfBulks }, (_, index) => parsedData.slice(index * 700, (index + 1) * 700));
+
+ await Promise.all(bulks.map((bulkData) => {
+ const clusters = Array.from({ length: bulkData.length / 7 }, () => '(?,?,?,?,?,?,?)').toString();
+ return tx.executeSql(`INSERT INTO Clusters VALUES ${clusters}`, bulkData);
+ }));
+
+ resolve();
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ } catch (error) {
+ reject(error);
+ }
+ });
+ }
+
+ getLastClusterEntered() {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ try {
+ const [_, results] = await tx.executeSql('SELECT * from Clusters WHERE rowid=(SELECT MAX(rowid) from Clusters)');
+
+ if (results.rows.length > 0) {
+ const row = results.rows.item(0);
+ resolve(row);
+ } else {
+ resolve(null);
+ }
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ }
+
+ updateLastCluster(cluster) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ try {
+ const [_, results] = await tx.executeSql('UPDATE Clusters SET lat=?, long=?, startTime=?, endTime=?, geoHash=?, radius=?, size=? WHERE rowid=(SELECT MAX(rowid) from Clusters)', [
+ cluster.lat,
+ cluster.long,
+ cluster.startTime,
+ cluster.endTime,
+ cluster.geoHash,
+ cluster.radius,
+ cluster.size
+ ]);
+
+ if (results.rows.length > 0) {
+ const row = results.rows.item(0);
+ resolve(row);
+ } else {
+ resolve(null);
+ }
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ }
+
+ purgeClustersTable(timestamp) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ try {
+ await tx.executeSql('DELETE FROM Clusters WHERE endTime < ? OR endTime IS NULL', [timestamp]);
+ resolve(true);
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ }
}
export class IntersectionSickDatabase {
@@ -215,7 +421,7 @@ export class IntersectionSickDatabase {
db = DB;
- await db.executeSql('CREATE TABLE IF NOT EXISTS IntersectingSick (OBJECTID,Name,Place,Comments,fromTime,toTime,long,lat);');
+ await db.executeSql('CREATE TABLE IF NOT EXISTS IntersectingSick (OBJECTID,Name,Place,Comments,fromTime,toTime,long,lat,wasThere,BLETimestamp);');
resolve(db);
} catch (error) {
@@ -253,6 +459,53 @@ export class IntersectionSickDatabase {
});
}
+ getGeoRecord = async (OBJECTID, db) => new Promise(async (resolve) => {
+ db.transaction(async (tx) => {
+ try {
+ const [_, results] = await tx.executeSql(`SELECT * FROM IntersectingSick WHERE OBJECTID =${OBJECTID}`);
+
+ const item = results.rows.item(0);
+
+ resolve(item);
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ })
+
+ getBleRecord = async (BLETimestamp, db) => new Promise(async (resolve) => {
+ db.transaction(async (tx) => {
+ try {
+ const [_, results] = await tx.executeSql(`SELECT * FROM IntersectingSick WHERE BLETimestamp =${BLETimestamp}`);
+
+ const item = results.rows.item(0);
+
+ resolve(item);
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ })
+
+ purgeIntersectionSickTable(timestamp) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ try {
+ await tx.executeSql('DELETE FROM IntersectingSick WHERE toTime < ?', [timestamp]);
+ resolve(true);
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ } catch (error) {
+ onError({ error });
+ }
+ });
+ }
+
containsObjectID(OBJECTID) {
return new Promise(async (resolve) => {
try {
@@ -273,6 +526,36 @@ export class IntersectionSickDatabase {
});
}
+ containsBLE(BLETimestamp) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ const [_, results] = await tx.executeSql(`SELECT * FROM IntersectingSick WHERE BLETimestamp =${BLETimestamp}`);
+
+ resolve(results?.rows?.length > 0);
+ });
+ } catch (error) {
+ onError({ error });
+ resolve(null);
+ }
+ });
+ }
+
+ async deleteAll() {
+ if (!__DEV__) return;
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ await tx.executeSql('DELETE FROM IntersectingSick');
+ });
+ } catch (e) {
+ onError({ e });
+ }
+ }
+
addSickRecord(record) {
return new Promise(async (resolve) => {
try {
@@ -280,7 +563,7 @@ export class IntersectionSickDatabase {
db.transaction(async (tx) => {
try {
- const [_, results] = await tx.executeSql('INSERT INTO IntersectingSick VALUES (?,?,?,?,?,?,?,?)',
+ await tx.executeSql('INSERT INTO IntersectingSick VALUES (?,?,?,?,?,?,?,?,?,?)',
[
record.properties.Key_Field,
record.properties.Name,
@@ -289,120 +572,167 @@ export class IntersectionSickDatabase {
record.properties.fromTime_utc,
record.properties.toTime_utc,
record.geometry.coordinates[config().sickGeometryLongIndex],
- record.geometry.coordinates[config().sickGeometryLatIndex]
+ record.geometry.coordinates[config().sickGeometryLatIndex],
+ null,
+ null
]);
- resolve(results);
+ const item = await this.getGeoRecord(record.properties.Key_Field, db);
+ resolve(item);
} catch (error) {
+ resolve(record.properties);
onError({ error });
}
});
} catch (error) {
+ resolve(record.properties);
onError({ error });
}
});
}
-}
-// TODO see if relevant and remove if not/fix if does.
-// export class WifiMacAddressDatabase {
-// initDB() {
-// let db;
-// return new Promise((resolve, reject) => {
-// SQLite.echoTest()
-// .then(() => {
-// SQLite.openDatabase(
-// database_name,
-// database_version,
-// database_displayname,
-// database_size
-// )
-// .then((DB) => {
-// db = DB;
-// db.executeSql('CREATE TABLE IF NOT EXISTS wifiTable (wifiHash, wifiList);')
-// .then(() => { resolve(db); })
-// .catch((error) => {
-// console.log(error);
-// reject(error);
-// });
-// });
-// })
-// .catch((error) => {
-// console.log(error);
-// })
-// .catch((error) => {
-// console.log('echoTest failed - plugin not functional');
-// });
-// });
-// }
-//
-// closeDatabase(db) {
-// if (db) {
-// db.close()
-// .catch((error) => {
-// // this.errorCB(error);
-// // TODO makes unhandled promise reject in addSample function - need to check why
-// });
-// }
-// }
-//
-// listAllRecords() {
-// return new Promise((resolve) => {
-// this.initDB().then((db) => {
-// db.transaction((tx) => {
-// tx.executeSql('SELECT * FROM wifiTable', []).then(([tx, results]) => {
-// const IntersectingSick = [];
-// const len = results.rows.length;
-// for (let i = 0; i < len; i++) {
-// const row = results.rows.item(i);
-// IntersectingSick.push(row);
-// }
-// resolve(IntersectingSick);
-// });
-// }).then((result) => {
-// this.closeDatabase(db);
-// }).catch((err) => {
-// console.log(err);
-// });
-// }).catch((err) => {
-// console.log(err);
-// });
-// });
-// }
-//
-// addWifiMacAddresses(record) {
-// return new Promise((resolve) => {
-// this.initDB().then((db) => {
-// db.transaction((tx) => {
-// tx.executeSql('INSERT INTO wifiTable VALUES (?,?)', [record.wifiHash, record.wifiList]).then(([tx, results]) => {
-// resolve(results);
-// });
-// }).then((result) => {
-// this.closeDatabase(db);
-// }).catch((err) => {
-// console.log(err);
-// });
-// }).catch((err) => {
-// console.log(err);
-// });
-// });
-// }
-//
-// containsWifiHash(wifiHash) {
-// return new Promise((resolve) => {
-// this.initDB().then((db) => {
-// db.transaction((tx) => {
-// tx.executeSql('SELECT * FROM wifiTable WHERE wifiHash = ?', [wifiHash]).then(([tx, results]) => {
-// resolve(results.rows.length > 0);
-// });
-// }).then((result) => {
-// this.closeDatabase(db);
-// }).catch((err) => {
-// console.log(err);
-// });
-// }).catch((err) => {
-// console.log(err);
-// });
-// });
-// }
-// }
+ addBLESickRecord(BLETimestamp) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ return db.transaction(async (tx) => {
+ await tx.executeSql('INSERT INTO IntersectingSick (BLETimestamp,wasThere) VALUES (?,?)', [BLETimestamp, true]);
+ const item = await this.getBleRecord(BLETimestamp, db);
+
+ resolve(item);
+ });
+ } catch (error) {
+ onError({ error });
+ resolve({ BLETimestamp, wasThere: true });
+ }
+ });
+ }
+
+ async MergeBLEIntoSickRecord(OBJECTID, BLETimestamp) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+ db.transaction(async (tx) => {
+ const [_, results] = await tx.executeSql('UPDATE IntersectingSick SET wasThere = ?, BLETimestamp = ? WHERE OBJECTID = ?',
+ [
+ true,
+ BLETimestamp,
+ OBJECTID
+ ]);
+
+ if (results.rows.length > 0) {
+ resolve(results.rows.item(0));
+ }
+ resolve(null);
+ });
+ } catch (error) {
+ onError({ error });
+ resolve(null);
+ }
+ });
+ }
+
+ //
+ async MergeGeoIntoSickRecord(record, BLETimestamp) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ return db.transaction(async (tx) => {
+ const [_, results] = await tx.executeSql('UPDATE IntersectingSick SET OBJECTID = ?,Name = ?,Place = ?,Comments = ?,fromTime = ?,toTime = ?,long = ?,lat = ?,wasThere =? WHERE BLETimestamp = ?',
+ [
+ record.properties.Key_Field,
+ record.properties.Name,
+ record.properties.Place,
+ record.properties.Comments,
+ record.properties.fromTime_utc,
+ record.properties.toTime_utc,
+ record.geometry.coordinates[config().sickGeometryLongIndex],
+ record.geometry.coordinates[config().sickGeometryLatIndex],
+ true,
+ BLETimestamp
+ ]);
+ results;
+
+ if (results.rowsAffected > 0) {
+ resolve(results.rows.item(0));
+ }
+
+ resolve(null);
+ });
+ } catch (error) {
+ onError({ error });
+ resolve(null);
+ }
+ });
+ }
+
+ async migrateTable() {
+ return new Promise(async (resolve) => {
+ try {
+ await SQLite.echoTest();
+
+ const DB = await SQLite.openDatabase(
+ database_name,
+ database_version,
+ database_displayname,
+ database_size
+ );
+
+
+ await DB.executeSql('ALTER TABLE IntersectingSick ADD wasThere NULL;');
+ await DB.executeSql('ALTER TABLE IntersectingSick ADD BLETimestamp NULL');
+
+
+ resolve(null);
+ } catch (error) {
+ console.log('migrateTable error:', error);
+
+ onError({ error });
+ resolve(null);
+ }
+ });
+ }
+
+ async updateSickRecord(record) {
+ return new Promise(async (resolve) => {
+ try {
+ const db = await this.initDB();
+
+ db.transaction(async (tx) => {
+ const [_, results] = tx.executeSql('UPDATE IntersectingSick SET wasThere = ? WHERE OBJECTID = ?', [record.properties.wasThere, record.properties.OBJECTID]);
+
+ if (results.rows.length > 0) {
+ resolve(results.rows.item(0));
+ }
+
+ resolve(null);
+ });
+ } catch (error) {
+ onError({ error });
+
+ resolve(null);
+ }
+ });
+ }
+
+ // first load after app update add wasThere property to dismissed exposures
+ async upgradeSickRecord(wasThere, IDs) {
+ return new Promise(async (resolve) => {
+ try {
+ if (IDs.length > 0) {
+ const db = await this.initDB();
+
+ return db.transaction(async (tx) => {
+ tx.executeSql(`UPDATE IntersectingSick SET wasThere = ? WHERE OBJECTID IN (${IDs.map(() => '?').join(',')})`, [wasThere ? 1 : 0, ...IDs]);
+ });
+ }
+ } catch (error) {
+ onError({ error });
+ } finally {
+ resolve(null);
+ }
+ });
+ }
+}
diff --git a/src/locale/LocaleData.ts b/src/locale/LocaleData.ts
index f7a83308..e87bab95 100644
--- a/src/locale/LocaleData.ts
+++ b/src/locale/LocaleData.ts
@@ -85,6 +85,13 @@ export interface Strings {
subTitle1: string,
subTitle2: string
},
+ bluetooth: {
+ title: string,
+ description: string,
+ callToAction: string,
+ approveBluetoothIOS: string,
+ approveBluetoothAndroid: string
+ },
location: {
title: string,
subTitle1: string,
@@ -150,7 +157,10 @@ export interface Strings {
},
noExposures: {
bannerText: string,
+ bannerTextPristine: string,
workAllTheTime: string,
+ instructionLinkUpper: string,
+ instructionLinkLower: string,
infoModal: {
textBodyPt1: string,
textBodyPt2: string
@@ -158,16 +168,29 @@ export interface Strings {
card: {
title: string,
atHour: string
- }
+ },
+ bluetoothServiceOff: string,
+ turnBluetoothOn: string,
+ canIdentifyWithBluetooth: string,
+ moreInformation: string
},
showOnMap: string,
wasNotMe: string,
- wasMe: string
+ wasMe: string,
+ doneBtn: string
},
exposuresHistory: {
title: string,
noExposures: string,
- keepInstructions: string
+ keepInstructions: string,
+ subTitle: string,
+ wasNotThere: string,
+ wasThere: string,
+ wasThereNoExposure: string,
+ wasNotThereNoExposure: string,
+ historyEditFinishBtn: string,
+ historyEditCancelBtn: string,
+ edit: string
},
exposureInstructions: {
title: string,
@@ -178,7 +201,15 @@ export interface Strings {
reportIsolation: string,
allInstructions: string,
reportSite: string,
- keepSafeNew: string
+ keepSafeNew: string,
+ subTitle: string,
+ themInstructions: string,
+ editBtn: string,
+ finishBtn: string,
+ updateTitle: string,
+ updateSubTitle: string,
+ showMore: string,
+ showLess: string
},
locationHistory: {
beforeCheckTitle: string,
@@ -219,7 +250,8 @@ export interface Strings {
shareNoConnection: string,
shareFail: string,
shareFailMissingToken: string,
- shareFailTokenError: string
+ shareFailTokenError: string,
+ shareFailWithWarnings: string
},
greeting: {
beforeShare: string,
@@ -233,8 +265,17 @@ export interface Strings {
shareNoConnection: string,
shareFail: string,
shareFailMissingToken: string,
- shareFailTokenError: string
+ shareFailTokenError: string,
+ shareFailWithWarnings: string
}
+ },
+ exposureRelief: {
+ editBtn: string,
+ title: string,
+ keepSafe: string,
+ backBtn: string,
+ reliefTitle: string,
+ historyBackBtn: string
}
}
diff --git a/src/locale/texts.json b/src/locale/texts.json
index 2d64081a..188d6352 100644
--- a/src/locale/texts.json
+++ b/src/locale/texts.json
@@ -141,6 +141,14 @@
"subTitle1": "אלפי ישראלים עלולים לסבול מנזק בריאותי כתוצאה מנגיף הקורונה.",
"subTitle2": "אבחון ובידוד בזמן יכולים להציל את חייהם. תודה שאתם עוזרים לנו, לעזור להם."
},
+ "bluetooth": {
+ "title": "זיהוי נקודות חפיפה\nבעזרת בלוטות'",
+ "description": "טכנולוגיית בלוטות' מאפשרת זיהוי מצבי קרבה בינך ובין בעלי מכשירי טלפון נוספים בסביבתך שמותקנת עליהם האפליקציה, כדי לאתר חשד להדבקה בקורונה.",
+ "approveBluetooth": "הפעל שירותי בלוטות׳",
+ "callToAction": "לשם כך, עליך לאשר\nהפעלת בלוטות' במכשיר שלך",
+ "approveBluetoothIOS": "הפעל שירותי בלוטות׳",
+ "approveBluetoothAndroid": "הבנתי"
+ },
"location": {
"title": "המיקום הוא קריטי",
"subTitle1": "האפליקציה תאסוף את נתוני המיקום שלכם ותשווה אותם למיקומים המאומתים של מאובחני קורונה. אם תמצא חפיפה, תקבלו הודעה על כך.",
@@ -153,14 +161,14 @@
},
"locationIOS": {
"title": "הפעלת שירותי\nמיקום ברקע",
- "subTitle1": "על מנת לספק לך מידע מדויק אודות מיקומים הרלוונטים עבורך באופן שוטף, עליך לאפשר קבלת מיקומים באופן קבוע.",
+ "subTitle1": "על מנת לספק לך מידע מדויק אודות מיקומים הרלוונטיים עבורך באופן שוטף, עליך לאפשר קבלת מיקומים באופן קבוע.",
"subTitle2": "יש לשנות את הגדרות המיקום כפי שמופיע בתמונות",
"goToSettings": "לחצו כאן כדי להיכנס להגדרות",
"set": "הגדרתי, המשך"
},
"notifications": {
"title": "חשוב לעדכן אותך",
- "subTitle1": "על מנת שנוכל לעדכן אותך באירועים הקשורים לקורונה ורלווטיים עבורך, עליך לאפשר קבלת התראות מאיתנו.",
+ "subTitle1": "על מנת שנוכל לעדכן אותך באירועים הקשורים לקורונה ורלוונטים עבורך, עליך לאפשר קבלת התראות מאיתנו.",
"subTitle2": "קבלת התראות מאיתנו הן הכרחיות עבורך ועבור הקרובים אליך",
"approveNotifications": "אשר קבלת התראות"
},
@@ -198,6 +206,7 @@
"suspectedExposure": "חשד לחשיפה:",
"events": "אירועים",
"possibleExposure": "ייתכן שהייתה חפיפה מול חולה קורונה:",
+ "possibleExposureBLE": "לפי נתוני מכשיר הטלפון שלך\nזיהינו שהיית בקרבת חולה קורונה:",
"atPlace": "ב",
"share": {
"message": "שיתוף אפליקציית המגן",
@@ -205,7 +214,7 @@
"androidTitle": "שיתוף אפליקציית המגן"
},
"noExposures": {
- "bannerText": "לא נמצאו\nנקודות חפיפה",
+ "bannerText": "לא נמצאו נקודות חפיפה חדשות",
"workAllTheTime": "אפליקציית המגן פועלת כל הזמן",
"infoModal": {
"textBodyPt1": "ההשוואה מבוצעת מרגע קבלת המיקומים שלך בתאריך ",
@@ -214,16 +223,39 @@
"card": {
"title": "נכון לתאריך:",
"atHour": "בשעה"
- }
+ },
+ "bannerTextPristine": "לא נמצאו\nנקודות חפיפה",
+ "instructionLinkUpper": "לשימוש במידת הצורך:",
+ "instructionLinkLower": "הנחיות לשוהים בבידוד",
+ "bluetoothServiceOff": "שירותי הבלוטות׳ על המכשיר כבויים",
+ "turnBluetoothOn": "הפעלת בלוטות׳",
+ "canIdentifyWithBluetooth": "מהיום אפשר לזהות נקודות חפיפה נוספות בעזרת בלוטות'",
+ "moreInformation": "מידע נוסף"
},
"showOnMap": "הציגו לי במפה",
"wasNotMe": "לא הייתי שם",
- "wasMe": "ייתכן שכן"
+ "wasMe": "ייתכן שכן",
+ "doneBtn": "סיימתי לעדכן",
+ "betweenHours": "בין השעות",
+ "deviceCloseTag": "קרבה בין מכשירים",
+ "locationCloseTag": "קרבה במיקום",
+ "wasMeBle": "המשך",
+ "wasMeOnly": "המשך לקבלת הנחיות"
},
"exposuresHistory": {
"title": "היסטוריית נקודות חפיפה",
"noExposures": "לשמחתנו, אין אירועים ב-14 הימים האחרונים״ ",
- "keepInstructions": "חשוב להמשיך לשמור על ההנחיות"
+ "keepInstructions": "חשוב להמשיך לשמור על ההנחיות",
+ "subTitle": "לפניך כל נקודות החפיפה שמצאנו ב-14\nהימים האחרונים כפי שסימנת אותן",
+ "wasThere": "ייתכן שהיית שם",
+ "wasNotThere": "לא היית שם",
+ "wasThereNoExposure": "לשמחתנו, אין אירועים ב-14 הימים האחרונים עבורם סימנת ״ייתכן שהייתי שם״",
+ "wasNotThereNoExposure": "אין אירועים ב-14 הימים האחרונים עבורם סימנת ״לא הייתי שם״",
+ "historyEditFinishBtn": "שמירת שינויים",
+ "historyEditCancelBtn": "ביטול עריכה",
+ "edit": "עריכה",
+ "BLELocationUpdate": "נתוני המיקום עודכנו",
+ "BLEWarning": "לא ניתן לערוך מידע שמתקבל בעזרת בלוטות'"
},
"exposureInstructions": {
"title": "חשד לחשיפה: מה לעשות?",
@@ -234,7 +266,15 @@
"reportIsolation": "לדיווח באתר משרד הבריאות על כניסה לבידוד",
"allInstructions": "לכל ההנחיות",
"reportSite": "לדיווח באתר",
- "keepSafeNew": "אלו ההנחיות של משרד הבריאות:"
+ "keepSafeNew": "אלו ההנחיות של משרד הבריאות:",
+ "subTitle": "ייתכן שהייתה חפיפה מול חולה קורונה",
+ "themInstructions": "אלו ההנחיות של משרד הבריאות:",
+ "editBtn": "עריכה",
+ "finishBtn": "סיימתי, חזרה לעמוד הבית",
+ "updateTitle": "תודה שעדכנת",
+ "updateSubTitle": "ייתכן שהשינוייים שעשית משפיעים על ההתנהלות בהמשך",
+ "showMore": "עוד",
+ "showLess": "פחות"
},
"locationHistory": {
"beforeCheckTitle": "הוספת נתונים קודמים",
@@ -270,12 +310,13 @@
"shareFail": "משהו השתבש"
},
"description": {
- "beforeShare": "בתהליך זה (שנקרא \"חקירה אפידמיולוגית\") נאסוף מהאפליקציה את נתוני המיקום שלך. את הנתונים על המקומות הציבוריים שבהם היית ב-14 הימים האחרונים נפרסם.\n\nלצורך הגנה על בריאות הציבור, נפרסם אך ורק מידע לגבי מקומות הדבקה פומביים.\nהמידע האישי שלך - ישאר חסוי",
+ "beforeShare": "בתהליך זה (שנקרא \"חקירה אפידמיולוגית\") נאסוף מהאפליקציה את נתוני המיקום שלך. את הנתונים על המקומות הציבוריים שבהם היית ב-14 הימים האחרונים נפרסם.\n\nלצורך הגנה על בריאות הציבור, נפרסם אך ורק מידע לגבי מקומות הדבקה פומביים.\n",
"shareSuccess": "קיבלנו את נתוני המיקומים שלך. בזכותם נוכל להמשיך לפעול במלחמה נגד מחלת הקורונה.",
"shareNoConnection": "עליך לבדוק את החיבור שלך לאינטרנט דרך מסך ההגדרות בטלפון שלך ולאחר מכן לנסות שוב",
- "shareFail": "לצערנו לא הצלחנו לקבל את הנתונים. יש לבקש במהלך השיחה SMS עם קישור חדש ולהיכנס אליו",
+ "shareFail": "לצערנו לא הצלחנו לקבל את הנתונים שלך. בבקשה לנסות שוב",
"shareFailMissingToken": "לצערנו לא הצלחנו לקבל את הנתונים. יש לבקש במהלך השיחה SMS עם קישור חדש ולהיכנס אליו",
- "shareFailTokenError": "לצערנו לא הצלחנו לקבל את הנתונים שלך. בבקשה לנסות שוב"
+ "shareFailTokenError": "לצערנו לא הצלחנו לקבל את הנתונים שלך. בבקשה לנסות שוב",
+ "shareFailWithWarnings": "לא נמצאו נתוני מיקום על המכשיר שלך.\nנמשיך בתהליך בשיחת הטלפון."
},
"greeting": {
"beforeShare": "המידע האישי שלך - יישאר חסוי",
@@ -287,10 +328,20 @@
"beforeShare": "שיתוף הנתונים שלי",
"shareSuccess": "חזרה לאפליקציה",
"shareNoConnection": "ניסיון נוסף",
- "shareFail": "הבנתי, תודה",
+ "shareFail": "נסה שנית",
"shareFailMissingToken": "הבנתי, תודה",
- "shareFailTokenError": "נסה שנית"
- }
+ "shareFailTokenError": "נסה שנית",
+ "shareFailWithWarnings": "הבנתי"
+ },
+ "addBleDataText": "מקובל עלי שתשתמשו גם במידע שנאסף דרך בלוטות׳,'לזיהוי מצבי קרבה למכשירי טלפון של חולי קורונה"
+ },
+ "exposureRelief": {
+ "editBtn": "עריכה",
+ "title": "נראה שלא הייתה לך חפיפה עם חולה קורנה",
+ "keepSafe": "חשוב להמשיך לשמור על ההנחיות!",
+ "backBtn": "חזרה לעמוד הבית",
+ "reliefTitle": "תודה על העדכון",
+ "historyBackBtn": "חזרה להיסטוריית חפיפה"
}
},
"ar": {
@@ -338,6 +389,14 @@
"subTitle1": "من الممكن أن يسبب فيروس الكورونا الضرر الصحي لالاف الإسرائيليين",
"subTitle2": "بإستطاعة التشخيص المبكر والعزل إنقاذ حياة الكثيرين. شكرا لمساعدتكم "
},
+ "bluetooth": {
+ "title": "تم تحديد نقاط تماس\n بمساعدة البلوتوث",
+ "description": "تقنية البلوتوث تتيح تحديد الأوضاع التي تكون فيها بقرب أشخاص آخرين في محيطك الذين يحملون هاتفًا تم تحميل التطبيق عليه, من أجل تحديد فيما لو كان هنالك اشتباه بالإصابة بفيروس الكورونا.",
+ "approveBluetooth": "تشغيل خدمات البلوتوث",
+ "callToAction": "لفعل ذلك, عليك الموافقة\nتشغيل البلوتوث في الجهاز الخاص بك",
+ "approveBluetoothIOS": "تمكين خدمات Bluetooth",
+ "approveBluetoothAndroid": "فهمت"
+ },
"location": {
"title": "أماكن تواجدكم مهمة جدا",
"subTitle1": "إن هذا التطبيق يقوم بجمع معطيات بخصوص أماكن تواجدكم ويقوم بمقارنتها بالمعطيات العامة للأشخاص المصابين بالفيروس",
@@ -357,7 +416,7 @@
},
"notifications": {
"title": "نود إعلامكم",
- "subTitle1": "حتى يتم إبلاغكم عن حالات الكورونا ذات الصلة بكم يجب عليكم الموافقة على استلام تنبيهات عن طريق التطبيق ",
+ "subTitle1": " من أجل تزويدك بمعلومات دقيقة حول المواقع ذات الصلة بك, عليك القيام بإتاحة الحصول على الموقع بشكل دائم .",
"subTitle2": "إستلام تنبيهات ذات أهمية لكم و للمحيطين بكم",
"approveNotifications": "الموافقة على إستلام التنبيهات"
},
@@ -395,6 +454,7 @@
"suspectedExposure": "إشتباه بالتعرض لمريض كورونا:",
"events": " أحداث ",
"possibleExposure": "هنالك إحتمالية التعرض لمريض كورونا:",
+ "possibleExposureBLE": "بحسب معطيات جهاز الهاتف الخاص بك\n قمنا بتشخيص تواجدك على مقربة من مصاب بالكورونا :",
"atPlace": " في",
"share": {
"message": "مشاركة تطبيق الحماية",
@@ -402,7 +462,7 @@
"androidTitle": "مشاركة تطبيق الحماية"
},
"noExposures": {
- "bannerText": "لم يتم العثور على \n نقاط تداخل",
+ "bannerText": "لم يتم العثور على نقاط تماس جديدة",
"workAllTheTime": "يعمل التطبيق الوقائي طوال الوقت",
"infoModal": {
"textBodyPt1": "تتم المقارنة من اللحظة التي تتلقى فيها مواقعك في",
@@ -411,16 +471,39 @@
"card": {
"title": "اعتبارًا من:",
"atHour": "في"
- }
+ },
+ "bannerTextPristine": " غير موجودة \nنقاط تماس",
+ "instructionLinkUpper": "للاستخدام عند الضرورة:",
+ "instructionLinkLower": "تعليمات للمتواجدين في الحجر الصحي",
+ "bluetoothServiceOff": "تم إطفاء خدمات البلوتوث على الجهاز ",
+ "turnBluetoothOn": "تشغيل البلوتوث׳",
+ "canIdentifyWithBluetooth": "من اليوم، يمكن تحديد نقاط تماس إضافية بمساعدة البلوتوث",
+ "moreInformation": "معلومات إضافية"
},
"showOnMap": "تعرفت على الخريطة",
- "wasNotMe": "لم أكن هناك",
- "wasMe": "قد يكون"
+ "wasNotMe": "لم أتواجد هناك",
+ "wasMe": "ربما نعم ",
+ "doneBtn": "انتهيت من التحديث ",
+ "betweenHours": "بين الساعات",
+ "deviceCloseTag": "قرب في الموقع",
+ "locationCloseTag": "القرب من الموقع",
+ "wasMeBle": "تابع",
+ "wasMeOnly": "تابع للحصول على التعليمات"
},
"exposuresHistory": {
"title": "تاريخ التطابق",
"noExposures": "لا يوجد نقاط تطابق",
- "keepInstructions": "من المهم الاستمرار في اتباع الإرشادات"
+ "keepInstructions": "من المهم الاستمرار بالمحافظة على التعليمات",
+ "subTitle": " أماك جميع نقاط التماس التي عثرنا عليها خلال ال-14\nلأيام الأخيرة وفقًا لما قمت باختياره",
+ "wasThere": "من الممكن انك تواجدت هناك",
+ "wasNotThere": "لم تتواجد هناك",
+ "wasThereNoExposure": "يُسعدنا, ليس هنالك احداث في ال-14 يوم الأخيرة التي قمت بتحديدها من الممكن بأني تواجدت هناك ",
+ "wasNotThereNoExposure": "ليس هنالك احداث في ال-14 يوم الأخيرة التي بتحديدها لم أتواجد هناك",
+ "historyEditFinishBtn": "حفظ التغييرات",
+ "historyEditCancelBtn": "إلغاء التحرير",
+ "edit": "تحرير",
+ "BLELocationUpdate": "تم تحديث معطيات الموقع",
+ "BLEWarning": "لا يمكن تحرير معلومات تم الحصول عليها بمساعدة البلوتوث '"
},
"exposureInstructions": {
"title": "لديك إشتباه بالتعرض لمريض كورونا؟ ماذا يجب أن تفعل؟",
@@ -430,13 +513,22 @@
"goIntoIsolation": "يرجى الدخول فورا الى الحجر الصحي لمدة ١٤ يوم من وقت التعرض",
"reportIsolation": "يتوجب عليكم إبلاغ وزارة الصحة",
"allInstructions": "لكل التوصيات",
- "reportSite": "للإبلاغ"
+ "reportSite": "للإبلاغ",
+ "keepSafeNew": "هذه هي تعليمات وزارة الصحة:",
+ "subTitle": "من المحتمل بأن يكون هنالك تماس مع مصاب بالكورونا",
+ "themInstructions": "هذه هي تعليمات وزارة الصحة:",
+ "editBtn": "تحرير",
+ "finishBtn": "انتهيت, العودة إلى الصفحة الرئيسية",
+ "updateTitle": "شكرًا على قيامك بالتحديث",
+ "updateSubTitle": "من الممكن بأن التغييرات التي قمت بإجرائها تؤثر على الإجراءات لاحقًا ",
+ "showMore": "المزيد",
+ "showLess": "أقل"
},
"locationHistory": {
"beforeCheckTitle": "أغلق الزوايا الأخيرة",
"beforeCheckDesc": "لتحديد مواقعك بدقة خلال آخر 14 يومًا ، يجب عليك تمكين بيانات الموقع من حسابك على Google. يتم تخزين هذه المعلومات على الهاتف لاستخدامك الشخصي فقط ولا يتم إرسالها إلى أي طرف آخر",
"beforeCheckDesc2": "للقيام بذلك ، يجب عليك السماح بالوصول إلى موقعك من Google خلال آخر 14 يومًا",
- "beforeCheckButton": "دقة البيانات",
+ "beforeCheckButton": "إضافة البيانات السابقة",
"skip": "تخطي",
"successFoundTitle": "تم تحديث بيانات Google بنجاح",
"successFoundDesc": "يعتمد تحديد نقاط التداخل خلال آخر 14 يومًا على بيانات الموقع المستلمة من Google",
@@ -466,12 +558,13 @@
"shareFail": "حدث خطأ ما"
},
"description": {
- "beforeShare": "في هذه العملية (تسمى \"الاستقصاء الوبائي\") سنجمع بيانات موقعك من التطبيق. سننشر بيانات الأماكن العامة الخاصة بك خلال آخر 14 يومًا. \n\n لن يتم نشر معلومات الصحة العامة إلا في الأماكن العامة. \n ستظل معلوماتك الشخصية سرية.",
+ "beforeShare": "في هذه العملية (تسمى \"الاستقصاء الوبائي\") سنجمع بيانات موقعك من التطبيق. سننشر بيانات الأماكن العامة الخاصة بك خلال آخر 14 يومًا.\n\nلن يتم نشر معلومات الصحة العامة إلا في الأماكن العامة.\n",
"shareSuccess": "لقد تلقينا بيانات موقعك. بفضلهم يمكننا الاستمرار في مكافحة مرض الاكليل.",
"shareNoConnection": "يجب عليك التحقق من اتصال الإنترنت الخاص بك من خلال شاشة إعدادات هاتفك ، ثم حاول مرة أخرى",
- "shareFail": "للأسف لم نتمكن من الحصول على البيانات. اطلب SMS برابط جديد أثناء المكالمة وقم بتسجيل الدخول",
+ "shareFail": "للأسف لم نتمكن من الحصول على بياناتك. يرجى المحاولة مرة أخرى",
"shareFailMissingToken": "للأسف لم نتمكن من الحصول على البيانات. اطلب SMS برابط جديد أثناء المكالمة وقم بتسجيل الدخول",
- "shareFailTokenError": "للأسف لم نتمكن من الحصول على بياناتك. يرجى المحاولة مرة أخرى"
+ "shareFailTokenError": "للأسف لم نتمكن من الحصول على بياناتك. يرجى المحاولة مرة أخرى",
+ "shareFailWithWarnings": "لم يتم العثور على معطيات في جهاز الهاتف الخاص بك.\nسنستمر في العملية عبر المكالمة الهاتفية."
},
"greeting": {
"beforeShare": "معلوماتك الشخصية - ستبقى سرية",
@@ -483,10 +576,20 @@
"beforeShare": "مشاركة بياناتي",
"shareSuccess": "العودة إلى التطبيق",
"shareNoConnection": "محاولة أخرى",
- "shareFail": "أفهم ، شكرا لك",
+ "shareFail": "يرجى المحاولة مرة أخرى",
"shareFailMissingToken": "أفهم ، شكرا لك",
- "shareFailTokenError": "يرجى المحاولة مرة أخرى"
- }
+ "shareFailTokenError": "يرجى المحاولة مرة أخرى",
+ "shareFailWithWarnings": "فهمت"
+ },
+ "addBleDataText": "من المقبول بالنسبة لي أيضًا استخدام المعلومات التي تم جمعها عبر الغدة لتحديد القرب من هواتف مرضى الاكليل"
+ },
+ "exposureRelief": {
+ "editBtn": "تحرير",
+ "title": "على ما يبدو لم يكن لديك تماس مع مصاب بالكورونا ",
+ "keepSafe": "من المهم الاستمرار بالمحافظة على التعليمات! ",
+ "backBtn": "العودة إلى الصفحة الرئيسية",
+ "reliefTitle": "شكرًا على التحديث",
+ "historyBackBtn": "العودة إلى تاريخ التماس "
}
},
"en": {
@@ -534,6 +637,14 @@
"subTitle1": "Thousands of Israelis could suffer the ill effects of the coronavirus.",
"subTitle2": "Timely diagnosis and isolation can save their lives."
},
+ "bluetooth": {
+ "title": "Using Bluetooth to identify overlap points",
+ "description": "Bluetooth technology can identify situations where you and other app users are close to alert potential COVID-19 contact points.",
+ "approveBluetooth": "Activate Bluetooth services",
+ "callToAction": "That's why you must activate Bluetooth on your device",
+ "approveBluetoothAndroid": "I understand",
+ "approveBluetoothIOS": "Enable Bluetooth services"
+ },
"location": {
"title": "Location is critical",
"subTitle1": "This app will collect your location data and compare it to the locations of people known to be infected with the virus. If any of those locations are found to overlap, you will receive a notification.",
@@ -546,7 +657,7 @@
},
"locationIOS": {
"title": "Activate location\nservices in the background",
- "subTitle1": "In order to be able to update you about events related to the coronavirus, we will need to send you notifications.",
+ "subTitle1": "In order to provide you with exact location history relevant to you on an ongoing basis, you must keep location services activated.",
"subTitle2": "Location service settings should be changed as shown in the pictures below",
"goToSettings": "Press here for settings",
"set": "Settings updated, let’s continue"
@@ -591,15 +702,16 @@
"suspectedExposure": "Suspected Exposure:",
"events": "Events",
"possibleExposure": "There may have been an exposure to a Corona patient:",
+ "possibleExposureBLE": "Based on data on your phone, we figured out you had been close to a confirmed COVID-19 patient",
"atPlace": "At ",
"share": {
- "message": "Sharing Hamagn",
- "title": "Sharing Hamagn",
- "androidTitle": "Sharing Hamagn"
+ "message": "Sharing Hamagen",
+ "title": "Sharing Hamagen",
+ "androidTitle": "Sharing Hamagen"
},
"noExposures": {
- "bannerText": "No \n overlap points found",
- "workAllTheTime": "The protective app works all the time",
+ "bannerText": "No exposure points found",
+ "workAllTheTime": "Hamagen app works all the time",
"infoModal": {
"textBodyPt1": "The comparison is made from the moment you receive your locations on",
"textBodyPt2": "In the face of the location data of all verified patients in the country for the last 14 days, and is constantly updated"
@@ -607,16 +719,39 @@
"card": {
"title": "As of:",
"atHour": "at"
- }
+ },
+ "bannerTextPristine": "Exposure points not found",
+ "instructionLinkUpper": "Use as needed:",
+ "instructionLinkLower": "Guidelines for those in isolation",
+ "bluetoothServiceOff": "Bluetooth services are deactivated on this device",
+ "turnBluetoothOn": "Activate Bluetooth",
+ "canIdentifyWithBluetooth": "Starting today, it is possible to identify additional overlap points by Bluetooth",
+ "moreInformation": "Further Information"
},
"showOnMap": "Show me on the map",
- "wasNotMe": "Was not there",
- "wasMe": "Might be"
+ "wasNotMe": "I was not there",
+ "wasMe": "I was there",
+ "doneBtn": "I'm done updating",
+ "betweenHours": "Between hours",
+ "deviceCloseTag": "Proximity between devices",
+ "locationCloseTag": "Location proximity",
+ "wasMeBle": "Proceed",
+ "wasMeOnly": "Proceed to receive guidelines"
},
"exposuresHistory": {
- "title": "Overlap history",
+ "title": "Exposure history",
"noExposures": "No overlap points found",
- "keepInstructions": "It is important to keep following the guidelines"
+ "keepInstructions": "It is important to continue following the guidelines",
+ "subTitle": "Below are all overlap points that we found over the last 14 days marked by you.",
+ "wasThere": "You might have been there",
+ "wasNotThere": "You were not there",
+ "wasThereNoExposure": "Fortunately, there are no contact incidents for the last 14 days that you've marked as I might have been there.",
+ "wasNotThereNoExposure": "There are no events in the last 14 days for which you marked \"I was not there\"",
+ "historyEditFinishBtn": "Save changes",
+ "historyEditCancelBtn": "Cancel edit",
+ "edit": "Edit",
+ "BLELocationUpdate": "Location history updated",
+ "BLEWarning": "It is not possible to edit Bluetooth data"
},
"exposureInstructions": {
"title": "Suspicion of exposure: What to do?",
@@ -626,13 +761,22 @@
"goIntoIsolation": "Stay at home and avoid contact with other people for 14 days from the moment of contact",
"reportIsolation": "Report Isolation",
"allInstructions": "For all the Instructions",
- "reportSite": "To report at the Site"
+ "reportSite": "To report at the Site",
+ "keepSafeNew": "These are the Ministry of Health's guidelines: ",
+ "subTitle": "Possible overlap with a confirmed COVID-19 patient ",
+ "themInstructions": "These are the Ministry of Health's guidelines:",
+ "editBtn": "Edit",
+ "finishBtn": "Done, go back to homepage",
+ "updateTitle": "Thank you for updating",
+ "updateSubTitle": "It is possible that the changes you've made will affect what you do next",
+ "showMore": "More",
+ "showLess": "Less"
},
"locationHistory": {
"beforeCheckTitle": "Closing the last corners",
"beforeCheckDesc": "In order to accurately determine your locations for the last 14 days, your location data must be enabled from your Google Account. This information is kept on the phone and for your personal use only and is not sent to any other party",
"beforeCheckDesc2": "To do this, you must allow access to locations within the last 14 days from Google",
- "beforeCheckButton": "Data accuracy",
+ "beforeCheckButton": "Importing data from Google",
"skip": "Skip",
"successFoundTitle": "Google data was updated successfully",
"successFoundDesc": "Locating the overlap points for the last 14 days will be based on location data received from Google",
@@ -662,16 +806,17 @@
"shareFail": "Something went wrong"
},
"description": {
- "beforeShare": "In this process (called \"epidemiological investigation\") we will collect your location data from the app. We will publish your public places data for the last 14 days.\n\nnPublic health information will only be published on public places.\nYour personal information will remain confidential.",
+ "beforeShare": "In this process (called \"epidemiological investigation\") we will collect your location data from the app. We will publish your public places data for the last 14 days.\n\nPublic health information will only be published on public places.\n",
"shareSuccess": "We've received your location data. Thanks to them we can continue to fight the corona disease.",
"shareNoConnection": "You should check your internet connection through the settings screen of your phone, and then try again",
- "shareFail": "Unfortunately we were unable to get the data. Request SMS with a new link during the call and log in",
+ "shareFail": "Unfortunately we were unable to get your data. Please try again",
"shareFailMissingToken": "Unfortunately we were unable to get the data. Request SMS with a new link during the call and log in",
- "shareFailTokenError": "Unfortunately we were unable to get your data. Please try again"
+ "shareFailTokenError": "Unfortunately we were unable to get your data. Please try again",
+ "shareFailWithWarnings": "No data was found on your phone. We will call you to continue this process."
},
"greeting": {
"beforeShare": "Your personal information - will remain confidential",
- "shareSuccess": "Many thanks and complete medicine",
+ "shareSuccess": "Many thanks and be well",
"shareNoConnection": "",
"shareFail": ""
},
@@ -679,10 +824,20 @@
"beforeShare": "Sharing my data",
"shareSuccess": "Back to the app",
"shareNoConnection": "another try",
- "shareFail": "I understood, thank you",
+ "shareFail": "try again",
"shareFailMissingToken": "I understood, thank you",
- "shareFailTokenError": "try again"
- }
+ "shareFailTokenError": "try again",
+ "shareFailWithWarnings": "I understand"
+ },
+ "addBleDataText": "It is acceptable for me to also use information collected via Bluetooth to identify proximity to corona patients' phones"
+ },
+ "exposureRelief": {
+ "editBtn": "Edit",
+ "title": "It seems that you've had no overlap with any confirmed COVID-19 patients",
+ "keepSafe": "It is important to continue following the guidelines!",
+ "backBtn": "Go back to the homepage",
+ "reliefTitle": "Thank you for your update",
+ "historyBackBtn": "Return to overlap history"
}
},
"ru": {
@@ -730,6 +885,14 @@
"subTitle1": "Тысячи израильтян могут пострадать от коронавируса.",
"subTitle2": "Диагностирование и карантин могут спасти их жизнь. Спасибо что помогаете нам помогать им!"
},
+ "bluetooth": {
+ "title": "Определение точек соприкосновения по Bluetooth",
+ "description": "Технология Bluetooth позволяет идентифицировать случаи, при которых вы приближаетесь к другим владельцам телефонов с установленным приложением, что необходимо для определения вероятного инфицирования коронавирусом.",
+ "approveBluetooth": "Включить Bluetooth",
+ "callToAction": "Для этого необходимо активировать Bluetooth на вашем устройстве.",
+ "approveBluetoothIOS": "Включить службы Bluetooth",
+ "approveBluetoothAndroid": "я осознал"
+ },
"location": {
"title": "Местонахождение критично",
"subTitle1": "Приложение будет собирать данные о вашем месте нахождение, и сообщит вам если будет совпадение с данными местонахождения больных.",
@@ -742,7 +905,7 @@
},
"locationIOS": {
"title": "Включение услуг местонахождения\nна постоянной основе",
- "subTitle1": "Чтобы регулярно получать точную информацию о вашим месте нахождения, включите услуги местонахождения на постоянную основу.",
+ "subTitle1": "Для того, чтобы мы могли регулярно предоставлять вам точную информацию о местоположениях, которые имеют к вам отношение, вы должны разрешить определение геолокации на постоянной основе.",
"subTitle2": "Измените настройки как указано в фотографиях",
"goToSettings": "Настройки",
"set": "Продолжить"
@@ -787,6 +950,7 @@
"suspectedExposure": "Подозрение на контакт:",
"events": "случая",
"possibleExposure": "Возможно контакт с больным был :",
+ "possibleExposureBLE": "На основании данных, полученных с Вашего телефона, мы определили, что Вы находились в близи от больного коронавирусом",
"atPlace": "в ",
"share": {
"message": "Совместное использование защитного приложения",
@@ -794,7 +958,7 @@
"androidTitle": "Совместное использование защитного приложения"
},
"noExposures": {
- "bannerText": "Не найдено точек перекрытия",
+ "bannerText": "Новых точек соприкосновения не обнаружено",
"workAllTheTime": "Защитное приложение работает все время",
"infoModal": {
"textBodyPt1": "Сравнение производится с момента получения вашего местоположения на",
@@ -803,16 +967,39 @@
"card": {
"title": "По состоянию на:",
"atHour": "в"
- }
+ },
+ "bannerTextPristine": "Точек соприкосновения не обнаружено ",
+ "instructionLinkUpper": "Для использования при необходимости:",
+ "instructionLinkLower": "Указания для пребывающих в карантине",
+ "bluetoothServiceOff": "Bluetooth на устройстве отключен",
+ "turnBluetoothOn": "Включить Bluetooth",
+ "canIdentifyWithBluetooth": "Теперь можно определить больше точек соприкосновения с помощью Bluetooth",
+ "moreInformation": "Дополнительная информация"
},
"showOnMap": "Меня познакомили с картой",
"wasNotMe": "Меня там не было",
- "wasMe": "Может быть"
+ "wasMe": "Возможно, я там был",
+ "doneBtn": "Завершить внесение обновлений",
+ "betweenHours": "Период времени",
+ "deviceCloseTag": "Расстояние между устройствами",
+ "locationCloseTag": "Расстояние до местоположения",
+ "wasMeBle": "Дальше",
+ "wasMeOnly": "Перейти к получению указаний"
},
"exposuresHistory": {
"title": "История контактов",
"noExposures": "Нет точек соприкосновения",
- "keepInstructions": "Важно продолжать следовать рекомендациям"
+ "keepInstructions": "Важно продолжать следовать указаниям",
+ "subTitle": "Все точки соприкосновения за последние 14 дней, которые мы определили, на основании отмеченного Вами",
+ "wasThere": "Возможно, Вы были там",
+ "wasNotThere": "Вас там не было",
+ "wasThereNoExposure": "К счастью, за последние 14 дней не было случаев, когда Вы поставили отметку «Возможно, я там был»",
+ "wasNotThereNoExposure": "За последние 14 дней не было случаев, когда Вы поставили отметку «Меня там не было»",
+ "historyEditFinishBtn": "Сохранить изменения",
+ "historyEditCancelBtn": "Отменить изменения",
+ "edit": "Редактировать",
+ "BLELocationUpdate": "Данные о местоположениях обновлены",
+ "BLEWarning": "Невозможно редактировать данные, полученные с помощью Bluetooth"
},
"exposureInstructions": {
"title": "Подозрение на контакт? ",
@@ -822,13 +1009,22 @@
"goIntoIsolation": "Оставайтесь дома на карантине в течение ближайших 14 дней",
"reportIsolation": "Сообщите о вашем карантине на сайте Минздрава",
"allInstructions": "Инструкции",
- "reportSite": "Сообщить"
+ "reportSite": "Сообщить",
+ "keepSafeNew": "Это указания Министерства здравоохранения:",
+ "subTitle": "Возможно, было пересечение с больным коронавирусом",
+ "themInstructions": "Это указания Министерства здравоохранения:",
+ "editBtn": "Редактировать",
+ "finishBtn": "Завершить и вернуться на главную страницу",
+ "updateTitle": "Спасибо, что обновили информацию",
+ "updateSubTitle": "Внесенные Вами изменения могут повлиять на дальнейшее поведение",
+ "showMore": "Больше",
+ "showLess": "Меньше"
},
"locationHistory": {
"beforeCheckTitle": "Последний этап",
"beforeCheckDesc": "Для точного определения вашего местоположения за последние 14 дней, нам нужен доступ к вашей учетной записи Google. Эта информация предназначена только для личного использования и не отправляется никаким другим лицам",
"beforeCheckDesc2": "Для этого пожалуйста разрешите доступ к местоположениям в течение последних 14 дней из Google",
- "beforeCheckButton": "Точность данных",
+ "beforeCheckButton": "Добавить данные из Google",
"skip": "Пропуск",
"successFoundTitle": "Данные Google успешно обновлены",
"successFoundDesc": "Определение местоположения точек перекрытия за последние 14 дней будет основано на данных о местоположении, полученных от Google.",
@@ -858,12 +1054,13 @@
"shareFail": "Что-то пошло не так"
},
"description": {
- "beforeShare": "В этом процессе (так называемое \"эпидемиологическое расследование\") мы будем собирать данные о вашем местонахождении из приложения. Мы будем публиковать данные о ваших общественных местах за последние 14 дней.\n\nОбщественная медицинская информация будет публиковаться только в общественных местах.\nYour Ваша личная информация будет оставаться конфиденциальной.",
+ "beforeShare": "В этом процессе (так называемое \"эпидемиологическое расследование\") мы будем собирать данные о вашем местонахождении из приложения. Мы будем публиковать данные о ваших общественных местах за последние 14 дней.\n\nОбщественная медицинская информация будет публиковаться только в общественных местах.\n",
"shareSuccess": "Мы получили данные о вашем местоположении. Благодаря им мы можем продолжать бороться с коронарной болезнью.",
"shareNoConnection": "Вы должны проверить подключение к интернету через экран настроек вашего телефона, а затем попробуйте снова",
- "shareFail": "К сожалению, мы не смогли получить данные. Запросите SMS с новой ссылкой во время звонка и войдите",
+ "shareFail": "К сожалению, мы не смогли получить ваши данные. Пожалуйста, попробуйте еще раз",
"shareFailMissingToken": "К сожалению, мы не смогли получить данные. Запросите SMS с новой ссылкой во время звонка и войдите",
- "shareFailTokenError": "К сожалению, мы не смогли получить ваши данные. Пожалуйста, попробуйте еще раз"
+ "shareFailTokenError": "К сожалению, мы не смогли получить ваши данные. Пожалуйста, попробуйте еще раз",
+ "shareFailWithWarnings": "Данные о вашем телефоне не найдены. Продолжим с помощью телефонного звонка."
},
"greeting": {
"beforeShare": "Ваша личная информация - останется конфиденциальной",
@@ -875,10 +1072,20 @@
"beforeShare": "Поделиться моими данными",
"shareSuccess": "Вернуться в приложение",
"shareNoConnection": "Еще одна попытка",
- "shareFail": "Я понимаю спасибо",
+ "shareFail": "Пожалуйста, попробуйте еще раз",
"shareFailMissingToken": "Я понимаю спасибо",
- "shareFailTokenError": "Пожалуйста, попробуйте еще раз"
- }
+ "shareFailTokenError": "Пожалуйста, попробуйте еще раз",
+ "shareFailWithWarnings": "Я понимаю"
+ },
+ "addBleDataText": "Для меня приемлемо также использовать информацию, собранную через железу, чтобы определить близость к телефонам пациентов с короной."
+ },
+ "exposureRelief": {
+ "editBtn": "Редактировать",
+ "title": "Видимо, Вы не пересекались с больным коронавирусом",
+ "keepSafe": "Важно продолжать следовать указаниям!",
+ "backBtn": "Вернуться на главную страницу",
+ "reliefTitle": "Спасибо за обновление",
+ "historyBackBtn": "Вернуться к истории точек соприкосновения"
}
},
"am": {
@@ -926,6 +1133,14 @@
"subTitle1": "በሺዎች የሚቆጠሩ እስራኤላውያን በኮሮና ቫይረስ የጤና ጉዳት ሊደርስባቸው ይችላል.",
"subTitle2": "ተገቢ ምርመራ እና ከጤነኛ ሰው ማግለል ህይወት ሊያድን ይችላል።."
},
+ "bluetooth": {
+ "title": "የተደራራቢ ነጥቦችን ይለዩ\nጎርፍ",
+ "description": "በኮሮና ውስጥ የኢንፌክሽን ጥርጣሬ ለመፈጠር የብሉቱዝ ቴክኖሎጂ በርስዎ እና በአከባቢዎ ባሉ ሌሎች የስልክ ባለቤቶች መካከል በአከባቢዎ ያለውን የዝውውር ሁኔታ ለመለየት ያስችላል ፡፡",
+ "approveBluetooth": "የብሉቱዝ አገልግሎቶችን ያንቁ",
+ "callToAction": "ይህንን ለማድረግ በመሣሪያዎ ላይ ብሉቱዝን ማንቃት አለብዎት",
+ "approveBluetoothIOS": "የብሉቱዝ አገልግሎቶችን ያንቁ",
+ "approveBluetoothAndroid": "ገባኝ"
+ },
"location": {
"title": "የምትገኙበት ቦታ ወሳኝ ነው",
"subTitle1": "አፕሊኬሽኑ (መተግበሪያው) የአካባቢ ውሂብን በራሱ ይሰበስብና የእርስዎን ቦታ በአካባቢው ካሉ የኮሮና በሽተኞች ቦታ ጋር በማነፃጸር ማንኛውንም መደራረብ ካገኘ ያሳውቀዎታል ፡፡.",
@@ -983,6 +1198,7 @@
"suspectedExposure": "የንክኪ ጥርጣሬ",
"events": "ክስተቶች /ገጠመኞች",
"possibleExposure": "ከኮሮና ህመምተኛ ጋር ንኪኪ ሊኖር ይችላል",
+ "possibleExposureBLE": "በስልክዎ መረጃ መሠረት\nበኮሮና ህመምተኛ አቅራቢያ መኖራቸውን አስተውለናል-",
"atPlace": "በ ",
"share": {
"message": "የመከላከያ መተግበሪያውን በማጋራት ላይ",
@@ -990,25 +1206,46 @@
"androidTitle": "የመከላከያ መተግበሪያውን በማጋራት ላይ"
},
"noExposures": {
- "bannerText": "ምንም የተደራራቢ ነጥቦች አልተገኙም",
- "workAllTheTime": "የመከላከያ መተግበሪያው ሁልጊዜ ይሠራል",
+ "bannerText": "ጥምር ግንኙነት\nአልተገኙም",
+ "workAllTheTime": "የሀመጌን መተግበሪ ሁልጊዜ ይሠራል",
"infoModal": {
"textBodyPt1": "ንፅፅሩ የተሰራው እርስዎ አካባቢዎን ከተቀበሉበት ጊዜ ጀምሮ ነው",
"textBodyPt2": "ላለፉት 14 ቀናት በእስራኤል ውስጥ ሁሉም የተረጋገጡ በሽተኞች የቦታ ውሂብ ፊትለፊት እና ሁልጊዜም ይዘምናል"
},
"card": {
- "title": "እንደ:",
+ "title": "እስከ:",
"atHour": "በ"
- }
+ },
+ "bannerTextPristine": "ምንም የተደራራቢ ነጥቦች አልተገኙም",
+ "instructionLinkUpper": "አስፈላጊ ከሆነ ለመጠቀም",
+ "instructionLinkLower": "በብቸኝነት ለመኖር የሚረዱ መመሪያዎች",
+ "bluetoothServiceOff": "የብሉቱዝ አገልግሎቶች ጠፍተዋል",
+ "turnBluetoothOn": "ብሉቱዝ አብራ",
+ "canIdentifyWithBluetooth": "ከአሁን ጀምሮ ተጨማሪ መደራረብ በ ዕጢዎች ዕጢዎች ሊታወቅ ይችላል ፡፡",
+ "moreInformation": "ተጨማሪ መረጃ"
},
"showOnMap": "ወደ ካርታው አስተዋወቅኩ",
"wasNotMe": "እዚያ አልነበርኩም",
- "wasMe": "ሊሆን ይችላል"
+ "wasMe": "ሊሆን ይችላል",
+ "doneBtn": "ማዘመን አጠናቅቄያለሁ",
+ "betweenHours": "በሰዓቶች መካከል",
+ "deviceCloseTag": "በመሳሪያዎች መካከል ቅርበት",
+ "locationCloseTag": "ወደ ቅርበት ቅርበት",
+ "wasMeBle": "ቀጠለ",
+ "wasMeOnly": "መመሪያዎችን ይቀጥሉ"
},
"exposuresHistory": {
"title": "ከተያዘ ሰው ጋር ተቀራርበዋል",
"noExposures": "ድርርብ አልተገኘም።",
- "keepInstructions": "መመሪያዎችን መከተል አስፈላጊ ነው"
+ "keepInstructions": "መመሪያዎችን መከተል አስፈላጊ ነው",
+ "subTitle": "እርስዎ ምልክት ሲያደርጉባቸው በአለፉት 14\nቀናት ውስጥ ያጋጠሙኝ ሁሉም መደራረቦች እነሆ",
+ "wasThere": "እዚያ ሊሆኑ ይችላሉ",
+ "wasNotThere": "እዚያ አልነበሩም",
+ "wasThereNoExposure": "ደስ የሚለው ነገር ፣ ካለፉት 14 ቀናት ውስጥ “እዛ እዛ እሆን ነበር” ብለው ያሰቧቸው ምንም ክስተቶች የሉም ፡፡",
+ "wasNotThereNoExposure": "በአለፉት 14 ቀናት ውስጥ እዛ አልነበሩም ብለው ምልክት ያደረጉባቸው ክስተቶች የሉም",
+ "historyEditFinishBtn": "ለውጦችን በማስቀመጥ ላይ",
+ "historyEditCancelBtn": "ማርትዕ ቀልብስ",
+ "edit": "ማርትዕ"
},
"exposureInstructions": {
"title": "ተጋልጠዋል የሚል ጥርጣሬ አለ ፣ ምን ማድረግ አለብዎት?",
@@ -1018,13 +1255,22 @@
"goIntoIsolation": "-ለቫይረሱ ከተጋለጡበት ጊዜ ጀምሮ በአስቸኳይ ለ14 ቀናተ እራስዎን ያግልሉ፡፡,",
"reportIsolation": "መገለያ ቦታ መግባትዎን በጤና ጥበቃ መ/ቤት ድረ-ገፅ ያስታውቁ።,",
"allInstructions": "ለሁሉም መመሪያዎች ።,",
- "reportSite": "በድረ-ገፅ ያስታውቁ ።"
+ "reportSite": "በድረ-ገፅ ያስታውቁ ።",
+ "keepSafeNew": "እነዚህ የጤና ጥበቃ ሚኒስቴር መመሪያዎች ናቸው",
+ "subTitle": "ከኮሮና ህመምተኛ ጋር መደራረብ ሊኖር ይችላል",
+ "themInstructions": "እነዚህ የጤና ጥበቃ ሚኒስቴር መመሪያዎች ናቸው",
+ "editBtn": "ማርትዕ",
+ "finishBtn": "ጨርሻለሁ ፣ ወደ መነሻ ገጽ ተመለስ",
+ "updateTitle": "ስላዘመኑ እናመሰግናለን",
+ "updateSubTitle": "ያደረጓቸው ለውጦች ከዚህ በታች ባለው ባህሪ ላይ ተጽዕኖ ሊያሳድሩ ይችላሉ",
+ "showMore": "ተጨማሪ",
+ "showLess": "ያነሰ"
},
"locationHistory": {
"beforeCheckTitle": "የመጨረሻዎቹን ማዕዘኖች መዝጋት",
"beforeCheckDesc": "ያለፉት 14 ቀናት አካባቢዎን በትክክል ለማወቅ የአከባቢዎ ውሂብ ከ Google መለያ መንቃት አለበት። ይህ መረጃ በስልክ ላይ እና ለግል ጥቅም ብቻ የሚቀመጥ እና ለሌላ ወገን የማይላክ ነው",
"beforeCheckDesc2": "ይህንን ለማድረግ ከ Google ጀምሮ በአለፉት 14 ቀናት ውስጥ መዳረሻዎችን መፍቀድ አለብዎት",
- "beforeCheckButton": "የውሂብ ትክክለኛነት",
+ "beforeCheckButton": "ተጨማሪ መረጃ ከጉግል ለመጨመር,",
"skip": "ዝለል",
"successFoundTitle": "የጉግል ውሂብ በተሳካ ሁኔታ ዘምኗል",
"successFoundDesc": "ላለፉት 14 ቀናት የተደራራቢ ነጥቦችን መፈለግ ከ Google በተቀበለው የአካባቢ ውሂብ ላይ የተመሠረተ ይሆናል",
@@ -1054,12 +1300,13 @@
"shareFail": "የሆነ ችግር ተፈጥሯል"
},
"description": {
- "beforeShare": "በዚህ ሂደት (\"ኤፒዲሚዮሎጂካል ምርመራ\" ተብሎ ይጠራል) የአካባቢ ውሂብዎን ከመተግበሪያው እንሰበስባለን። ላለፉት 14 ቀናት የህዝብ ቦታዎችዎን መረጃዎች እናትማለን።\n\nየሕዝብ ጤና መረጃ በሕዝባዊ ቦታዎች ላይ ብቻ ይታተማል ፡፡\nየግል መረጃዎ ሚስጥራዊ እንደሆነ ይቆያል ፡፡",
+ "beforeShare": "በዚህ ሂደት (\"ኤፒዲሚዮሎጂካል ምርመራ\" ተብሎ ይጠራል) የአካባቢ ውሂብዎን ከመተግበሪያው እንሰበስባለን። ላለፉት 14 ቀናት የህዝብ ቦታዎችዎን መረጃዎች እናትማለን።\n\nየሕዝብ ጤና መረጃ በሕዝባዊ ቦታዎች ላይ ብቻ ይታተማል ፡፡\n",
"shareSuccess": "የአካባቢዎን ውሂብ ተቀብለናል። ለእነሱ ምስጋና ይግባውና የኮሮና በሽታን መዋጋት እንችላለን።",
"shareNoConnection": "የበይነመረብ ግንኙነትዎን በስልክዎ የቅንብሮች ማያ ገጽ በኩል መመርመር አለብዎት ፣ ከዚያ እንደገና ይሞክሩ",
- "shareFail": "እንደ አለመታደል ሆኖ ውሂቡን ማግኘት አልቻልንም። በጥሪው ወቅት በአዲሱ አገናኝ ኤስኤምኤስ ይጠይቁ እና በመለያ ይግቡ",
+ "shareFail": "እንደ አጋጣሚ ሆኖ የእርስዎን ውሂብ ማግኘት አልቻልንም። እባክዎ እንደገና ይሞክሩ",
"shareFailMissingToken": "እንደ አለመታደል ሆኖ ውሂቡን ማግኘት አልቻልንም። በጥሪው ወቅት በአዲሱ አገናኝ ኤስኤምኤስ ይጠይቁ እና በመለያ ይግቡ",
- "shareFailTokenError": "እንደ አጋጣሚ ሆኖ የእርስዎን ውሂብ ማግኘት አልቻልንም። እባክዎ እንደገና ይሞክሩ"
+ "shareFailTokenError": "እንደ አጋጣሚ ሆኖ የእርስዎን ውሂብ ማግኘት አልቻልንም። እባክዎ እንደገና ይሞክሩ",
+ "shareFailWithWarnings": "በስልክዎ ላይ ምንም ውሂብ አልተገኘም።\nበጥሪው እንቀጥላለን።"
},
"greeting": {
"beforeShare": "የእርስዎ የግል መረጃ - በሚስጥር ይቀጥላል",
@@ -1071,10 +1318,20 @@
"beforeShare": "ውሂቤን በማጋራት ላይ",
"shareSuccess": "ወደ መተግበሪያው ይመለሱ",
"shareNoConnection": "ሌላ ሙከራ",
- "shareFail": "ገባኝ ፣ አመሰግናለሁ",
+ "shareFail": "እባክዎ እንደገና ይሞክሩ",
"shareFailMissingToken": "ገባኝ ፣ አመሰግናለሁ",
- "shareFailTokenError": "እባክዎ እንደገና ይሞክሩ"
- }
+ "shareFailTokenError": "እባክዎ እንደገና ይሞክሩ",
+ "shareFailWithWarnings": "ገባኝ"
+ },
+ "addBleDataText": "በኮሮ ሕመምተኞች ስልኮች አቅራቢያ ያለውን ቅርበት ለመለየት በአይን እጢ በኩል የተሰበሰበውን መረጃ መጠቀሙ ለእኔም ተቀባይነት አለው"
+ },
+ "exposureRelief": {
+ "editBtn": "ማርትዕ",
+ "title": "በቆርቆሮ የተስተካከሉ አይመስሉም",
+ "keepSafe": "መመሪያዎችን መከተል አስፈላጊ ነው!",
+ "backBtn": "ወደ መነሻ ገጽ ይመለሱ",
+ "reliefTitle": "ለዝማኔው እናመሰግናለን",
+ "historyBackBtn": "ወደ መደራረብ ታሪክ ይመለሱ"
}
},
"fr": {
@@ -1122,6 +1379,14 @@
"subTitle1": "Des milliers d'Israéliens pourraient subir les effets néfastes du coronavirus.",
"subTitle2": "Un diagnostic et un isolement en temps opportun peuvent leur sauver la vie"
},
+ "bluetooth": {
+ "title": "Identifier les points de chevauchement \n Avec l'aide du Bluetooth'",
+ "description": "La technologie Bluetooth permet d'identifier les endroits de proximité entre vous et les autres propriétaires de téléphone de votre région ayant installée l'application, afin de détecter les éventuelles contaminations de Corona.",
+ "approveBluetooth": "Activer les services Bluetooth",
+ "callToAction": "Afin de confirmer l'utilisation de ces services \nActivez le Bluetooth sur votre appareil",
+ "approveBluetoothIOS": "Activer les services Bluetooth",
+ "approveBluetoothAndroid": "J’ai compris"
+ },
"location": {
"title": "La localisation est critique",
"subTitle1": "Cette application va collecter vos localisations et les comparer à celles des personnes infectées par le virus. Si l'un de ces emplacements se chevauche,vous recevrez une notification.",
@@ -1134,7 +1399,7 @@
},
"locationIOS": {
"title": "Activer le service de localisation en arrière-plan",
- "subTitle1": "Afin de pouvoir vous tenir au courant des événements liés au coronavirus, nous devrons vous envoyer des notifications.",
+ "subTitle1": "Afin de vous fournir régulièrement des informations précises sur les lieux qui vous concernent,, Vous devez autoriser la geolocalisation de vos deplacements",
"subTitle2": "Les paramètres du service de localisation doivent être modifiés comme indiqué dans les images ci-dessous",
"goToSettings": "Appuyez ici pour les paramètres",
"set": "\nParamètres mis à jour, continuons"
@@ -1179,6 +1444,7 @@
"suspectedExposure": "Suspicion d'exposition:",
"events": "les événements",
"possibleExposure": "Il peut y avoir un chevauchement avec le patient Corona:",
+ "possibleExposureBLE": "Selon les données de votre téléphone \n Nous avons détecté que vous étiez proche d’un malade de Corona",
"atPlace": "À ",
"share": {
"message": "Partager l'application de protection",
@@ -1186,7 +1452,7 @@
"androidTitle": "Partager l'application de protection"
},
"noExposures": {
- "bannerText": "Aucun \n point de chevauchement trouvé",
+ "bannerText": "Aucun nouveau chevauchement trouvé ",
"workAllTheTime": "L'application de protection fonctionne tout le temps",
"infoModal": {
"textBodyPt1": "La comparaison est faite à partir du moment où vous recevez vos emplacements sur",
@@ -1195,16 +1461,39 @@
"card": {
"title": "Au:",
"atHour": "À"
- }
+ },
+ "bannerTextPristine": "Aucun point \n de chevauchement trouvé ",
+ "instructionLinkUpper": "À utiliser si nécessaire:",
+ "instructionLinkLower": "Consignes pour confinement",
+ "bluetoothServiceOff": "Les services Bluetooth sur l'appareil sont désactivés ",
+ "turnBluetoothOn": "Activation du Bluetooth",
+ "canIdentifyWithBluetooth": "Désormais, davantage de points de chevauchements peuvent être identifiés à l'aide du Bluetooth. ",
+ "moreInformation": "Plus d'informations "
},
"showOnMap": "J'ai été présenté à la carte",
- "wasNotMe": "Je n'étais pas là",
- "wasMe": "Cela peut être"
+ "wasNotMe": "Je n'étais pas a cet endroit",
+ "wasMe": "J’y etais peut-être ",
+ "doneBtn": "J'ai terminé la mise à jour ",
+ "betweenHours": "Entre les heures",
+ "deviceCloseTag": "Proximité entre les appareils ",
+ "locationCloseTag": "Proximité de l'emplacement ",
+ "wasMeBle": "Continuer",
+ "wasMeOnly": "Continuez pour recevoir les instructions"
},
"exposuresHistory": {
- "title": "Historique des intersections\n",
+ "title": "Historique des intersections",
"noExposures": "Pas d'intersection trouvée",
- "keepInstructions": "Il est important de continuer à suivre les directives"
+ "keepInstructions": "Il est important de continuer à suivre les directives ",
+ "subTitle": "Voici tous les chevauchements que nous avons trouvés durant les 14\n derniers jours que vous les avez marqués",
+ "wasThere": "Vous avez peut-être été là ",
+ "wasNotThere": "Vous n'étiez pas là ",
+ "wasThereNoExposure": "Aucun événement détecté au cours des 14 derniers jours pour lequel vous ayez marqué J'ai peut-être été là",
+ "wasNotThereNoExposure": "Aucun événement détecté au cours des 14 derniers jours pour lequel vous avez marqué Je n'étais pas là",
+ "historyEditFinishBtn": "Enregistrer les modifications ",
+ "historyEditCancelBtn": "Annuler l'édition",
+ "edit": "Éditer",
+ "BLELocationUpdate": " Données de localisation mises à jour ",
+ "BLEWarning": " Les informations obtenues à l'aide du Bluetooth ne sont pas modifiables '"
},
"exposureInstructions": {
"title": "Suspicion d'exposition: que faire?",
@@ -1214,13 +1503,22 @@
"goIntoIsolation": "Isolez-vous pendant 14 jours depuis le moment du contact",
"reportIsolation": "Signaler l’isolement",
"allInstructions": "Pour toutes les instructions",
- "reportSite": "Pour signaler sur le sit"
+ "reportSite": "Pour signaler sur le sit",
+ "keepSafeNew": "Directives du Ministère de la Santé:",
+ "subTitle": "Il peut y avoir un chevauchement avec un malade Corona ",
+ "themInstructions": "Ci-dessous les directives du Ministère de la Santé:",
+ "editBtn": "Éditer ",
+ "finishBtn": "J'ai fini, retour à la page d'accueil ",
+ "updateTitle": "Merci pour votre mise à jour",
+ "updateSubTitle": "Les modifications que vous avez apportées peuvent affecter le comportement ci-dessous",
+ "showMore": "Plus",
+ "showLess": "Moins"
},
"locationHistory": {
"beforeCheckTitle": "Ajout des données précédentes ",
"beforeCheckDesc": "Afin de déterminer vos emplacements au cours des 14 derniers jours,nous devrons obtenir vos données de localisation à partir de votre compte Google. Ces informations sont conservées sur votre téléphone, pour votre usage personnel et ne sont envoyées à aucune autre partie",
"beforeCheckDesc2": "Pour ce faire,merci d’autoriser l'accès aux emplacements des 14 derniers jours à partir de Google",
- "beforeCheckButton": "Précision des données",
+ "beforeCheckButton": "Ajout de données de Google",
"skip": "Sauter",
"successFoundTitle": "Mise à jour réussie des données Google",
"successFoundDesc": "La localisation des points de chevauchement des 14 derniers jours sera basée sur les données de localisation reçues de Google",
@@ -1250,12 +1548,13 @@
"shareFail": "Quelque chose a mal tourné"
},
"description": {
- "beforeShare": "Dans ce processus (appelé \"enquête épidémiologique\"), nous collecterons vos données de localisation à partir de l'application. Nous publierons vos données sur les lieux publics au cours des 14 derniers jours.\n\nLes informations de santé publique ne seront publiées que sur les lieux publics.\nVos informations personnelles resteront confidentielles.",
+ "beforeShare": "Dans ce processus (appelé \"enquête épidémiologique\"), nous collecterons vos données de localisation à partir de l'application. Nous publierons vos données sur les lieux publics au cours des 14 derniers jours.\n\nLes informations de santé publique ne seront publiées que sur les lieux publics.\n",
"shareSuccess": "Nous avons reçu vos données de localisation. Grâce à eux, nous pouvons continuer à lutter contre la corona.",
"shareNoConnection": "Vous devez vérifier votre connexion Internet via l'écran des paramètres de votre téléphone, puis réessayer",
- "shareFail": "Malheureusement, nous n'avons pas pu obtenir les données. Demander un SMS avec un nouveau lien lors de l'appel et se connecter",
+ "shareFail": "Malheureusement, nous n'avons pas pu obtenir vos données. Veuillez réessayer",
"shareFailMissingToken": "Malheureusement, nous n'avons pas pu obtenir les données. Demander un SMS avec un nouveau lien lors de l'appel et se connecter",
- "shareFailTokenError": "Malheureusement, nous n'avons pas pu obtenir vos données. Veuillez réessayer"
+ "shareFailTokenError": "Malheureusement, nous n'avons pas pu obtenir vos données. Veuillez réessayer",
+ "shareFailWithWarnings": "Aucune donnée trouvée sur votre téléphone.\nNous continuerons le processus par un appel téléphonique"
},
"greeting": {
"beforeShare": "Vos informations personnelles - resteront confidentielles",
@@ -1267,10 +1566,20 @@
"beforeShare": "Partager mes données",
"shareSuccess": "Retour à l'appli",
"shareNoConnection": "Un autre essai",
- "shareFail": "Je comprends merci",
+ "shareFail": "Veuillez réessayer",
"shareFailMissingToken": "Je comprends merci",
- "shareFailTokenError": "Veuillez réessayer"
- }
+ "shareFailTokenError": "Veuillez réessayer",
+ "shareFailWithWarnings": "J’ai compris"
+ },
+ "addBleDataText": "Il est acceptable pour moi d'utiliser également les informations collectées via Bluetooth pour identifier la proximité des téléphones des patients corona"
+ },
+ "exposureRelief": {
+ "editBtn": "Éditer ",
+ "title": "Vous ne semblez pas avoir de chevauchement avec un malade Corona",
+ "keepSafe": "Il est important de continuer à suivre les directives!",
+ "backBtn": "Retour à la page d'accueil ",
+ "reliefTitle": "Merci pour la mise à jour ",
+ "historyBackBtn": "Retour à l'historique des chevauchements "
}
}
-}
\ No newline at end of file
+}
diff --git a/src/reducers/ExposuresReducer.ts b/src/reducers/ExposuresReducer.ts
index 0da0d962..d73787ce 100644
--- a/src/reducers/ExposuresReducer.ts
+++ b/src/reducers/ExposuresReducer.ts
@@ -7,7 +7,9 @@ import {
SET_VALID_EXPOSURE,
UPDATE_EXPOSURES,
UPDATE_PAST_EXPOSURES,
- UPDATE_FIRST_POINT
+ UPDATE_FIRST_POINT,
+ REPLACE_EXPOSURES,
+ REPLACE_PAST_EXPOSURES
} from '../constants/ActionTypes';
const INITIAL_STATE = {
@@ -17,10 +19,12 @@ const INITIAL_STATE = {
firstPoint: undefined
};
+
export default (state: ExposuresReducer = INITIAL_STATE, action: ReducerAction) => {
switch (action.type) {
case UPDATE_EXPOSURES: {
const { exposures } = action.payload;
+
return { ...state, exposures: _.sortBy([...state.exposures, ...exposures], exposure => exposure.properties.fromTime).reverse() };
}
@@ -35,7 +39,11 @@ export default (state: ExposuresReducer = INITIAL_STATE, action: ReducerAction)
case UPDATE_PAST_EXPOSURES: {
const { pastExposures } = action.payload;
- return { ...state, pastExposures: [...state.pastExposures, ...pastExposures] };
+ return {
+ ...state,
+ pastExposures:
+ _.sortBy([...state.pastExposures, ...pastExposures], exposure => exposure.properties.fromTime).reverse()
+ };
}
case DISMISS_EXPOSURE: {
@@ -51,6 +59,19 @@ export default (state: ExposuresReducer = INITIAL_STATE, action: ReducerAction)
return { ...state, firstPoint: action.payload };
}
+ case REPLACE_EXPOSURES: {
+ const { exposures } = action.payload;
+ return { ...state, exposures };
+ }
+
+ case REPLACE_PAST_EXPOSURES: {
+ return {
+ ...state,
+ pastExposures:
+ _.sortBy([...action.payload], exposure => exposure.properties.fromTime).reverse()
+ };
+ }
+
default:
return state;
}
diff --git a/src/reducers/GeneralReducer.ts b/src/reducers/GeneralReducer.ts
index 114195f5..ffe798ef 100644
--- a/src/reducers/GeneralReducer.ts
+++ b/src/reducers/GeneralReducer.ts
@@ -8,7 +8,8 @@ import {
HIDE_FORCE_TERMS,
HIDE_LOCATION_HISTORY,
SHOW_MAP_MODAL,
- HIDE_MAP_MODAL
+ HIDE_MAP_MODAL,
+ ENABLE_BLE
} from '../constants/ActionTypes';
import { USAGE_PRIVACY } from '../constants/Constants';
@@ -22,6 +23,7 @@ const INITIAL_STATE = {
usageType: USAGE_PRIVACY,
termsVersion: 0,
hideLocationHistory: false,
+ enableBle: false,
showMap: {
visible: false,
region: {
@@ -75,6 +77,10 @@ export default (state: GeneralReducer = INITIAL_STATE, action: ReducerAction) =>
return { ...state, showMap: { ...INITIAL_STATE.showMap } };
}
+ case ENABLE_BLE: {
+ return { ...state, enableBle: action.payload };
+ }
+
default:
return state;
}
diff --git a/src/services/BLEService.ts b/src/services/BLEService.ts
new file mode 100644
index 00000000..a6d86f0f
--- /dev/null
+++ b/src/services/BLEService.ts
@@ -0,0 +1,94 @@
+import { NativeEventEmitter, Clipboard, Alert } from 'react-native';
+import AsyncStorage from '@react-native-community/async-storage';
+// @ts-ignore
+import SpecialBle from 'rn-contact-tracing';
+import { IS_IOS, ENABLE_BLE } from '../constants/Constants';
+import { onError } from './ErrorService';
+import { downloadAndVerifySigning } from './SigningService';
+import config from '../config/config';
+import defaultBleResponse from '../constants/defaultBleResponse.json';
+
+export const initBLETracing = () => new Promise(async (resolve) => {
+ if (ENABLE_BLE) {
+ try {
+ const UUID = '00000000-0000-1000-8000-00805F9B34FB';
+
+ // TODO move to config
+ let config: any = {
+ serviceUUID: UUID,
+ scanDuration: 60000,
+ scanInterval: 240000,
+ advertiseInterval: 50000,
+ advertiseDuration: 10000,
+ token: 'default_token'
+ };
+
+ if (!IS_IOS) {
+ config = {
+ ...config,
+ advertiseMode: 0,
+ advertiseTXPowerLevel: 3,
+ scanMatchMode: 1,
+ notificationTitle: '',
+ notificationContent: 'סריקת BLE פועלת',
+ notificationLargeIconPath: '../assets/main/moreInfoBig.png',
+ notificationSmallIconPath: '../assets/main/moreInfo.png'
+ };
+ }
+ await SpecialBle.stopBLEService();
+ await SpecialBle.setConfig(config);
+ await SpecialBle.startBLEService();
+
+ resolve();
+ } catch (error) {
+ resolve();
+ onError({ error });
+ }
+ } else {
+ await SpecialBle.stopBLEService();
+ resolve();
+ }
+});
+
+export const registerBLEListeners = () => {
+ if (ENABLE_BLE) {
+ const eventEmitter = new NativeEventEmitter(SpecialBle);
+ eventEmitter.addListener('scanningStatus', (status) => {
+ // TODO handle ble event
+ });
+
+ eventEmitter.addListener('advertisingStatus', (status) => {
+ // TODO handle ble event
+ });
+ }
+};
+
+export const fetchInfectionDataByConsent = async () => new Promise(async (resolve) => {
+ try {
+ SpecialBle.fetchInfectionDataByConsent((res: any) => {
+ const parsedRes = JSON.parse(res || '[]');
+ resolve(parsedRes);
+ });
+ } catch (error) {
+ resolve([]);
+ onError({ error });
+ }
+});
+
+export const match = async () => new Promise(async (resolve) => {
+ if (!ENABLE_BLE) resolve([]);
+ else {
+ try {
+ const responseJson = await downloadAndVerifySigning(config().BleDataUrl_utc);
+
+ SpecialBle.match(JSON.stringify(responseJson), (res: string) => {
+ const parsedRes: any[] = JSON.parse(res || '[]');
+
+ resolve(parsedRes);
+ });
+ } catch (error) {
+ resolve([]);
+ onError({ error });
+ }
+ }
+});
diff --git a/src/services/BackgroundService.ts b/src/services/BackgroundService.ts
index 6c36951b..fb132b29 100644
--- a/src/services/BackgroundService.ts
+++ b/src/services/BackgroundService.ts
@@ -1,7 +1,10 @@
import BackgroundFetch from 'react-native-background-fetch';
+import AsyncStorage from '@react-native-community/async-storage';
import config, { initConfig } from '../config/config';
-import { checkSickPeople } from './Tracker';
+import { checkGeoSickPeople, checkBLESickPeople } from './Tracker';
+import { syncLocationsDBOnLocationEvent } from './SampleService';
import { onError } from './ErrorService';
+import { LAST_FETCH_TS } from '../constants/Constants';
export const scheduleTask = async () => {
try {
@@ -17,7 +20,14 @@ export const scheduleTask = async () => {
try {
console.log('Background fetch event fired');
await initConfig();
- await checkSickPeople();
+ await syncLocationsDBOnLocationEvent();
+ await checkBLESickPeople();
+ await checkGeoSickPeople();
+
+ await AsyncStorage.setItem(
+ LAST_FETCH_TS,
+ JSON.stringify(new Date().getTime()),
+ );
BackgroundFetch.finish(BackgroundFetch.FETCH_RESULT_NEW_DATA);
} catch (error) {
onError({ error });
diff --git a/src/services/ClusteringService.ts b/src/services/ClusteringService.ts
new file mode 100644
index 00000000..cd09dc52
--- /dev/null
+++ b/src/services/ClusteringService.ts
@@ -0,0 +1,238 @@
+import AsyncStorage from '@react-native-community/async-storage';
+import moment from 'moment';
+import _ from 'lodash';
+import AsyncLock from 'async-lock';
+import Geohash from 'latlon-geohash';
+import { UserClusteredLocationsDatabase, UserLocationsDatabase } from '../database/Database';
+import { onError } from './ErrorService';
+import config from '../config/config';
+import { Cluster, DBLocation } from '../types';
+import { CLUSTER_JITTER_LOCATION, CURRENT_CLUSTER_LOCATIONS_DATA, DID_CLUSTER_LOCATIONS } from '../constants/Constants';
+
+// tslint:disable-next-line:no-var-requires
+const haversine = require('haversine');
+
+const lock = new AsyncLock();
+
+export const clusterSample = async () => {
+ const locationsDB = new UserLocationsDatabase();
+ const clustersDB = new UserClusteredLocationsDatabase();
+
+ // fetch last 2 points from locations DB (AKA "buffer").
+ const buffer: DBLocation[] = await locationsDB.getBufferSamplesForClustering(2);
+
+ // fetch current cluster from clusters DB.
+ const currentCluster: Cluster = await clustersDB.getLastClusterEntered();
+
+ const [firstLocationInBuffer, secondLocationInBuffer] = buffer;
+
+ if (buffer.length < 2 || (currentCluster && (currentCluster.endTime > firstLocationInBuffer.startTime))) {
+ return;
+ }
+
+ if (currentCluster) {
+ // if first point in buffer belongs to the current cluster.
+ if (areLocationsCreatingCluster(currentCluster, firstLocationInBuffer)) {
+ const jitterLocation = JSON.parse(await AsyncStorage.getItem(CLUSTER_JITTER_LOCATION) || 'false');
+
+ if (currentCluster.endTime === firstLocationInBuffer.startTime || jitterLocation) {
+ const updatedCluster = await updateCluster(currentCluster, firstLocationInBuffer);
+ await clustersDB.updateLastCluster(updatedCluster);
+ await AsyncStorage.removeItem(CLUSTER_JITTER_LOCATION);
+ return;
+ }
+ }
+
+ if (
+ moment(firstLocationInBuffer.endTime).diff(moment(firstLocationInBuffer.startTime), config().jitterUnits, true) < config().jitterValue
+ && !areLocationsCreatingCluster(currentCluster, firstLocationInBuffer)
+ && areLocationsCreatingCluster(currentCluster, secondLocationInBuffer)
+ && currentCluster.endTime === firstLocationInBuffer.startTime
+ && firstLocationInBuffer.endTime === secondLocationInBuffer.startTime
+ ) {
+ await AsyncStorage.setItem(CLUSTER_JITTER_LOCATION, 'true');
+ return;
+ }
+ }
+
+ await createCluster(clustersDB, firstLocationInBuffer);
+};
+
+const areLocationsCreatingCluster = (clusterOrLocation: Cluster|DBLocation, location: DBLocation) => {
+ const start = {
+ latitude: clusterOrLocation.lat,
+ longitude: clusterOrLocation.long,
+ };
+
+ const end = {
+ latitude: location.lat,
+ longitude: location.long,
+ };
+
+ return haversine(start, end, { threshold: config().clusterRadius, unit: config().bufferUnits });
+};
+
+const updateCluster = async (cluster: Cluster, location: DBLocation) => {
+ const updatedLat = ((cluster.lat * cluster.size) + location.lat) / (cluster.size + 1);
+ const updatedLong = ((cluster.long * cluster.size) + location.long) / (cluster.size + 1);
+
+ const clusterLocationsData: Array<{ lat: number, long: number }> = JSON.parse(await AsyncStorage.getItem(CURRENT_CLUSTER_LOCATIONS_DATA) || '[]');
+ const clusterLocationsDataWithNewLocation = [...clusterLocationsData, { lat: location.lat, long: location.long }];
+
+ const start = {
+ latitude: updatedLat,
+ longitude: updatedLong
+ };
+
+ const clusterRadii: number[] = clusterLocationsDataWithNewLocation.map(({ lat, long }) => haversine(start, { latitude: lat, longitude: long }, { unit: config().bufferUnits }));
+
+ const updatedRadius = _.max(clusterRadii) || 0;
+
+ // add new location to current cluster locations data.
+ await AsyncStorage.setItem(CURRENT_CLUSTER_LOCATIONS_DATA, JSON.stringify(clusterLocationsDataWithNewLocation));
+
+ return {
+ lat: updatedLat,
+ long: updatedLong,
+ startTime: cluster.startTime,
+ endTime: location.endTime,
+ geoHash: cluster.geoHash,
+ radius: updatedRadius,
+ size: cluster.size + 1
+ };
+};
+
+const createCluster = async (clustersDB: any, location: DBLocation) => {
+ const { lat, long, startTime, endTime }: DBLocation = location;
+
+ await clustersDB.addCluster({ lat, long, startTime, endTime, geoHash: Geohash.encode(lat, long, 6), radius: 0, size: 1 });
+
+ // override previous cluster locations data with new location.
+ await AsyncStorage.setItem(CURRENT_CLUSTER_LOCATIONS_DATA, JSON.stringify([{ lat, long }]));
+};
+
+export const clusterLocationsOnAppUpdate = () => new Promise(async (resolve) => {
+ await lock.acquire('clusterLocationsOnAppUpdate', async (done) => {
+ try {
+ const didClusterLocations = await AsyncStorage.getItem(DID_CLUSTER_LOCATIONS);
+
+ if (didClusterLocations) {
+ done();
+ resolve();
+ return;
+ }
+
+ const db = new UserLocationsDatabase();
+ const cdb = new UserClusteredLocationsDatabase();
+
+ const currentLocations = await db.listSamples();
+
+ const clustersBulkData = clusterLocationHistorySynchronously(currentLocations);
+ await cdb.insertBulkClusters(clustersBulkData);
+
+ await AsyncStorage.setItem(DID_CLUSTER_LOCATIONS, 'true');
+ done();
+ resolve();
+ } catch (error) {
+ done();
+ resolve();
+ onError({ error });
+ }
+ });
+});
+
+export const clusterLocationHistorySynchronously = (currentLocations: DBLocation[], isGoogleTimelineLocations?: boolean) => {
+ let isJitter = false;
+ let currentClusterLocationsData: Array<{ lat: number, long: number }> = [];
+ const clusters: Cluster[] = [];
+
+ currentLocations.forEach((_, index) => {
+ // fetch last 2 points from locations DB (AKA "buffer").
+ const buffer: DBLocation[] = currentLocations.slice(index, index + 2);
+
+ const currentCluster: Cluster = clusters[clusters.length - 1];
+ const [firstLocationInBuffer, secondLocationInBuffer] = buffer;
+
+ // if from google timeline and is the last point if belong and start a new one if not
+ if (isGoogleTimelineLocations && (index === (currentLocations.length - 1))) {
+ // if belongs to current cluster add to it
+ if (areLocationsCreatingCluster(currentCluster, firstLocationInBuffer) && currentCluster.endTime === firstLocationInBuffer.startTime) {
+ const { updatedCluster } = updateClusterSynchronously(currentCluster, firstLocationInBuffer, currentClusterLocationsData);
+ clusters[clusters.length - 1] = updatedCluster;
+ return;
+ }
+
+ // else create new cluster and done
+ const { lat, long, startTime, endTime }: DBLocation = firstLocationInBuffer;
+ clusters.push({ lat, long, startTime, endTime, geoHash: Geohash.encode(lat, long, 6), radius: 0, size: 1 });
+ return;
+ }
+
+
+ if (buffer.length < 2) {
+ return;
+ }
+
+ if (currentCluster) {
+ // if first point in buffer belongs to the current cluster.
+ if (areLocationsCreatingCluster(currentCluster, firstLocationInBuffer)) {
+ const jitterLocation = isJitter;
+
+ if (currentCluster.endTime === firstLocationInBuffer.startTime || jitterLocation) {
+ const { updatedCluster, clusterLocationsDataWithNewLocation } = updateClusterSynchronously(currentCluster, firstLocationInBuffer, currentClusterLocationsData);
+
+ currentClusterLocationsData = clusterLocationsDataWithNewLocation;
+ clusters[clusters.length - 1] = updatedCluster;
+ isJitter = false;
+ return;
+ }
+ }
+
+ if (
+ moment(firstLocationInBuffer.endTime).diff(moment(firstLocationInBuffer.startTime), config().jitterUnits, true) < config().jitterValue
+ && !areLocationsCreatingCluster(currentCluster, firstLocationInBuffer)
+ && areLocationsCreatingCluster(currentCluster, secondLocationInBuffer)
+ && currentCluster.endTime === firstLocationInBuffer.startTime
+ && firstLocationInBuffer.endTime === secondLocationInBuffer.startTime
+ ) {
+ isJitter = true;
+ return;
+ }
+ }
+
+ const { lat, long, startTime, endTime }: DBLocation = firstLocationInBuffer;
+ clusters.push({ lat, long, startTime, endTime, geoHash: Geohash.encode(lat, long, 6), radius: 0, size: 1 });
+
+ currentClusterLocationsData = [{ lat, long }];
+ });
+
+ return clusters;
+};
+
+const updateClusterSynchronously = (cluster: Cluster, location: DBLocation, clusterLocationsData: Array<{ lat: number, long: number }>) => {
+ const updatedLat = ((cluster.lat * cluster.size) + location.lat) / (cluster.size + 1);
+ const updatedLong = ((cluster.long * cluster.size) + location.long) / (cluster.size + 1);
+
+ const clusterLocationsDataWithNewLocation = [...clusterLocationsData, { lat: location.lat, long: location.long }];
+
+ const start = {
+ latitude: updatedLat,
+ longitude: updatedLong
+ };
+
+ const clusterRadii: number[] = clusterLocationsDataWithNewLocation.map(({ lat, long }) => haversine(start, { latitude: lat, longitude: long }, { unit: config().bufferUnits }));
+ const updatedRadius = _.max(clusterRadii) || 0;
+
+ return {
+ clusterLocationsDataWithNewLocation,
+ updatedCluster: {
+ lat: updatedLat,
+ long: updatedLong,
+ startTime: cluster.startTime,
+ endTime: location.endTime,
+ geoHash: cluster.geoHash,
+ radius: updatedRadius,
+ size: cluster.size + 1
+ }
+ };
+};
diff --git a/src/services/DeepLinkService.ts b/src/services/DeepLinkService.ts
index 3830d392..799b7804 100644
--- a/src/services/DeepLinkService.ts
+++ b/src/services/DeepLinkService.ts
@@ -1,6 +1,10 @@
import { StackNavigationProp } from '@react-navigation/stack';
+import { fetchInfectionDataByConsent } from './BLEService';
import { queryDB } from './Tracker';
+import config from '../config/config';
import { DBLocation } from '../types';
+import { IS_IOS, ENABLE_BLE } from '../constants/Constants';
+import defaultBleResponse from '../constants/defaultBleResponse.json';
export const onOpenedFromDeepLink = (url: string, navigation: StackNavigationProp) => {
const { token } = parseQueryParamsFromUrlScheme(url);
@@ -34,7 +38,6 @@ const parseQueryParamsFromUrlScheme = (url: string): any => {
if (!Array.isArray(obj[key])) {
obj[key] = [obj[key]];
}
-
// Push the new value to the key's array
obj[key].push(value);
}
@@ -43,25 +46,47 @@ const parseQueryParamsFromUrlScheme = (url: string): any => {
return obj;
};
-export const getUserLocationsReadyForServer = (token: string) => new Promise(async (resolve, reject) => {
+export const getUserLocationsReadyForServer = (token: string, userAgreedToBle: boolean = false) => new Promise(async (resolve, reject) => {
try {
- const locations: DBLocation[] = await queryDB();
+ const objectToShare = {
+ token,
+ dataRows: [],
+ };
+
+ const isClusters = config().dataShareClusters;
+
+ const locations: DBLocation[] = await queryDB(isClusters);
+
const dataRows = locations.map((location) => {
location._long = parseFloat(location.long.toFixed(6));
location.lat = parseFloat(location.lat.toFixed(6));
- location.accuracy = Math.min(location.accuracy, 999);
-
// fix for geoHashes entered with a "'" from google timeline.
location.geoHash = location.geoHash.replace(/[']/g, '');
delete location.long;
- delete location.hash;
- delete location.wifiHash;
+
+ if (!isClusters) {
+ // server can handle 4 digits
+ location.accuracy = Math.min(location.accuracy, 999);
+ delete location.hash;
+ delete location.wifiHash;
+ }
return location;
});
- resolve({ token, dataRows });
+ if (dataRows) {
+ objectToShare.dataRows = dataRows;
+ }
+
+ if (ENABLE_BLE && userAgreedToBle) {
+ const dataBleRows = await fetchInfectionDataByConsent();
+ if (dataBleRows) {
+ objectToShare.dataBleRows = dataBleRows;
+ }
+ }
+
+ resolve(objectToShare);
} catch (e) {
reject(e);
}
diff --git a/src/services/LocationHistoryService.ts b/src/services/LocationHistoryService.ts
index 93337718..cafad268 100644
--- a/src/services/LocationHistoryService.ts
+++ b/src/services/LocationHistoryService.ts
@@ -3,11 +3,13 @@ import _ from 'lodash';
import geoHash from 'latlon-geohash';
import { DOMParser } from 'xmldom';
import AsyncStorage from '@react-native-community/async-storage';
-import { UserLocationsDatabase } from '../database/Database';
import { sha256 } from './sha256';
import { checkIfHideLocationHistory } from '../actions/GeneralActions';
+import { clusterLocationHistorySynchronously } from './ClusteringService';
+import { UserClusteredLocationsDatabase, UserLocationsDatabase } from '../database/Database';
import store from '../store';
import config from '../config/config';
+import { DBLocation } from '../types';
import { UPDATE_FIRST_POINT } from '../constants/ActionTypes';
import { FIRST_POINT_TS, IS_LAST_POINT_FROM_TIMELINE, SHOULD_HIDE_LOCATION_HISTORY } from '../constants/Constants';
@@ -73,10 +75,11 @@ export const kmlToGeoJson = (text: any) => {
return objArray;
};
-export const insertToSampleDB = (data : any[]) => new Promise(async (resolve, reject) => {
+export const insertToSampleDB = (data : DBLocation[]) => new Promise(async (resolve, reject) => {
try {
if (data) {
const db = new UserLocationsDatabase();
+ const cdb = new UserClusteredLocationsDatabase();
let insertString = '';
/**
@@ -95,6 +98,10 @@ export const insertToSampleDB = (data : any[]) => new Promise(async (resolve, re
// insert bulk samples to db
await db.insertBulkSamples(insertString);
+ // convert samples to clusters and insert bulk clusters to cdb
+ const clusters = clusterLocationHistorySynchronously(data, true);
+ await cdb.insertBulkClusters(clusters);
+
// insert first Point if needed
data = _.sortBy(data, (point: any) => point.startTime);
diff --git a/src/services/PushService.ts b/src/services/PushService.ts
index 3cac2835..1885c081 100755
--- a/src/services/PushService.ts
+++ b/src/services/PushService.ts
@@ -2,6 +2,9 @@ import firebase from 'react-native-firebase';
import moment, { DurationInputArg1, DurationInputArg2 } from 'moment';
import { onError } from './ErrorService';
+let onNotificationListener: any = null;
+let onNotificationOpenedListener: any = null;
+
export const initPushNotifications = () => new Promise(async (resolve) => {
try {
const enabled = await firebase.messaging().hasPermission();
@@ -53,3 +56,26 @@ export const registerLocalNotification = async (title: string, message: string,
onError({ error });
}
};
+
+export const startPushListeners = async () => {
+ firebase.messaging().subscribeToTopic('wakeup');
+
+ // if app was closed and opened from push
+ const notification = await firebase.notifications().getInitialNotification();
+
+ if (notification) {
+ pushNotificationHandler(notification, true, false);
+ }
+
+ onNotificationListener = firebase.notifications().onNotification(notification => pushNotificationHandler({ notification }, false, false));
+ onNotificationOpenedListener = firebase.notifications().onNotificationOpened(notification => pushNotificationHandler(notification, true, false));
+};
+
+export const removePushListeners = () => {
+ onNotificationListener && onNotificationListener();
+ onNotificationOpenedListener && onNotificationOpenedListener();
+};
+
+const pushNotificationHandler = ({ notification }: any, isTapped: boolean, isSilent: boolean) => {
+
+};
diff --git a/src/services/SampleService.ts b/src/services/SampleService.ts
index 6376ab4d..a74f711d 100755
--- a/src/services/SampleService.ts
+++ b/src/services/SampleService.ts
@@ -4,8 +4,9 @@ import AsyncLock from 'async-lock';
import moment from 'moment';
import BackgroundGeolocation from 'react-native-background-geolocation';
import { startLocationTracking } from './LocationService';
-import { UserLocationsDatabase } from '../database/Database';
+import { UserClusteredLocationsDatabase, UserLocationsDatabase } from '../database/Database';
import { sha256 } from './sha256';
+import { clusterSample } from './ClusteringService';
import { onError } from './ErrorService';
import store from '../store';
import config, { initConfig } from '../config/config';
@@ -85,6 +86,8 @@ export const insertDB = async (sample: Sample) => new Promise(async (resolve) =>
await AsyncStorage.removeItem(IS_LAST_POINT_FROM_TIMELINE);
}
+ await clusterSample();
+
const sampleObj = {
lat: sample.coords.latitude,
long: sample.coords.longitude,
@@ -136,22 +139,25 @@ const saveToStorage = (key: string, value: number) => new Promise(async (resolve
});
export const purgeSamplesDB = () => new Promise(async (resolve, reject) => {
- const NUM_OF_WEEKS_TO_PURGE = 2;
+ await lock.acquire('purgeDB', async (done) => {
+ try {
+ const NUM_OF_WEEKS_TO_PURGE = 2;
- try {
- await lock.acquire('purgeDB', async (done) => {
const db = new UserLocationsDatabase();
+ const cdb = new UserClusteredLocationsDatabase();
await db.purgeSamplesTable(moment().subtract(NUM_OF_WEEKS_TO_PURGE, 'week').unix() * 1000);
+ await cdb.purgeClustersTable(moment().subtract(NUM_OF_WEEKS_TO_PURGE, 'week').unix() * 1000);
resolve();
done();
return true;
- });
- } catch (error) {
- reject(error);
- onError({ error });
- }
+ } catch (error) {
+ reject(error);
+ done();
+ onError({ error });
+ }
+ });
});
export const updateDBAccordingToSampleVelocity = async (location: Sample) => {
diff --git a/src/services/SigningService.ts b/src/services/SigningService.ts
index f88d4ea6..362c7665 100644
--- a/src/services/SigningService.ts
+++ b/src/services/SigningService.ts
@@ -13,7 +13,9 @@ export const downloadAndVerifySigning = (url: string) => new Promise(async
const signatureLength = data.indexOf('{');
const signature = data.slice(0, signatureLength);
+
const jsonB64 = data.slice(signatureLength);
+
const json = JSON.parse(jsonB64);
// @ts-ignore
@@ -27,9 +29,9 @@ export const downloadAndVerifySigning = (url: string) => new Promise(async
if (result) {
resolve(json);
+ } else {
+ reject('invalid ECDSA signature');
}
-
- reject('invalid ECDSA signature');
} catch (error) {
reject(error);
onError({ error });
diff --git a/src/services/Tracker.ts b/src/services/Tracker.ts
index 78427c1f..efbec2e2 100644
--- a/src/services/Tracker.ts
+++ b/src/services/Tracker.ts
@@ -1,59 +1,187 @@
import BackgroundTimer from 'react-native-background-timer';
import AsyncStorage from '@react-native-community/async-storage';
import moment from 'moment';
-import { setExposures } from '../actions/ExposuresActions';
+import geoHash from 'latlon-geohash';
+import { setExposures, updateGeoPastExposure, updateBlePastExposure } from '../actions/ExposuresActions';
import { initLocale } from '../actions/LocaleActions';
-import { UserLocationsDatabase, IntersectionSickDatabase } from '../database/Database';
+import { UserLocationsDatabase, IntersectionSickDatabase, UserClusteredLocationsDatabase } from '../database/Database';
import { registerLocalNotification } from './PushService';
import { downloadAndVerifySigning } from './SigningService';
+import { match } from './BLEService';
import { onError } from './ErrorService';
import config from '../config/config';
import store from '../store';
-import { Exposure, Location, SickJSON } from '../types';
-import { LAST_FETCH_TS } from '../constants/Constants';
+import { Cluster, Exposure, Location, SickJSON, ExposureProperties } from '../types';
+import { LAST_FETCH_TS, DISMISSED_EXPOSURES } from '../constants/Constants';
// tslint:disable-next-line:no-var-requires
const haversine = require('haversine');
export const startForegroundTimer = async () => {
- await checkSickPeople();
+ await checkBLESickPeople();
+ await checkGeoSickPeople();
- BackgroundTimer.runBackgroundTimer(async () => {
- await checkSickPeople();
- }, config().fetchMilliseconds);
+
+ BackgroundTimer.runBackgroundTimer(backgroundTimerFn, config().fetchMilliseconds);
+
+ await AsyncStorage.setItem(
+ LAST_FETCH_TS,
+ JSON.stringify(moment().valueOf()),
+ );
};
-export const queryDB = async () => {
+const backgroundTimerFn = async () => {
+ await checkBLESickPeople();
+ await checkGeoSickPeople();
+
+ await AsyncStorage.setItem(
+ LAST_FETCH_TS,
+ JSON.stringify(moment().valueOf()),
+ );
+};
+
+export const queryDB = async (isClusters: boolean) => {
const db = new UserLocationsDatabase();
- const rows = await db.listSamples();
+ const cdb = new UserClusteredLocationsDatabase();
+
+ const rows = isClusters ? await cdb.listClusters() : await db.listSamples();
return rows;
};
-export const checkSickPeople = async () => {
+export const checkBLESickPeople = async () => {
try {
- const lastFetch = JSON.parse((await AsyncStorage.getItem(LAST_FETCH_TS)) || '0');
+ const lastFetch: number = JSON.parse((await AsyncStorage.getItem(LAST_FETCH_TS)) || '0');
+ // check if interval is above the minimum delay
+ if (moment(lastFetch).add(config().minimumBLEFetchIntervalMin, 'm').isAfter(moment())) {
+ return;
+ }
+
+ const bleMatches: any[] = await match();
+
+ if (bleMatches.length > 0) {
+ const bleMatchNotUTC = bleMatches.sort((matchA, matchB) => matchB.startContactTimestamp - matchA.startContactTimestamp)[0];
+
+ // convert ble match to have normal time(it lacks the ms's)
+ const bleMatch = {
+ ...bleMatchNotUTC,
+ startContactTimestamp: parseInt(bleMatchNotUTC.startContactTimestamp.toString()) * 1000,
+ endContactTimestamp: parseInt(bleMatchNotUTC.endContactTimestamp.toString()) * 1000
+ };
+
+ bleMatch.BLETimestamp = moment(Math.floor((bleMatch.startContactTimestamp + bleMatch.endContactTimestamp) / 2)).startOf('hour').valueOf();
+
+ const sickDB = new IntersectionSickDatabase();
+
+ // check if BLe match is not a duplicate
+ const hasBLTS = await sickDB.containsBLE(bleMatch.BLETimestamp);
+
+ if (!hasBLTS) {
+ await checkBleAndGeoIntersection(bleMatch, sickDB);
+ }
+ }
+ } catch (error) {
+ onError({ error });
+ }
+};
+
+
+const checkBleAndGeoIntersection = async ({ startContactTimestamp, endContactTimestamp, BLETimestamp }, sickDB) => {
+ const exposures: Exposure[] = await sickDB.listAllRecords();
+
+ const overlappingGeoExposure = exposures.find((properties) => {
+ return properties?.OBJECTID && (Math.min(properties.toTime, endContactTimestamp) - Math.max(properties.fromTime, startContactTimestamp)) > 0;
+ });
+
+ if (overlappingGeoExposure) {
+ const newExposure = await sickDB.MergeBLEIntoSickRecord(overlappingGeoExposure.OBJECTID, BLETimestamp);
+
+ // if user already told us he was not there - alert him by removing exposure from dismissed and resetting it in exposures
+ if (!overlappingGeoExposure.wasThere) {
+ // remove exposure from dismissed exposures list
+ const dismissedExposures = await AsyncStorage.getItem(DISMISSED_EXPOSURES);
+ const parsedDismissedExposures: number[] = JSON.parse(dismissedExposures ?? '');
+ await AsyncStorage.setItem(DISMISSED_EXPOSURES, JSON.stringify(parsedDismissedExposures.filter((num: number) => num !== overlappingGeoExposure.OBJECTID)));
+
+ await onSickPeopleNotify([{
+ ...overlappingGeoExposure,
+ wasThere: true,
+ BLETimestamp
+ }]);
+ }
+
+ // update in past exposures
+ store().dispatch(updateGeoPastExposure({
+ properties: {
+ ...overlappingGeoExposure,
+ wasThere: true,
+ BLETimestamp
+ }
+ }));
+ } else {
+ const lastExposure = exposures.filter(properties => properties.BLETimestamp).sort((matchA, matchB) => matchB.BLETimestamp - matchA.BLETimestamp)[0];
+ // check if latest ble exposure is before the new exposure
+ if (!lastExposure?.BLETimestamp || moment(BLETimestamp).isAfter(lastExposure.BLETimestamp)) {
+ // new exposure that doesn't overlap
+ const sick = await sickDB.addBLESickRecord(BLETimestamp);
+
+ await onSickPeopleNotify([sick]);
+ }
+ }
+};
- // prevent excessive calls to checkSickPeople
- if (lastFetch && moment().valueOf() - lastFetch < config().fetchMilliseconds) {
+
+export const checkGeoSickPeople = async () => {
+ try {
+ const lastFetch: number = JSON.parse((await AsyncStorage.getItem(LAST_FETCH_TS)) || '0');
+ // check if interval is above the minimum delay
+ if (moment(lastFetch).add(config().minimumGeoFetchIntervalMin, 'm').isAfter(moment())) {
return;
}
const responseJson: SickJSON = await downloadAndVerifySigning(config().dataUrl_utc);
- const myData = await queryDB();
+ const myData = await queryDB(config().intersectWithClusters);
const shouldFilterByGeohash = !!responseJson.features[0]?.properties?.geohashFilter;
const sickPeopleIntersected: any = shouldFilterByGeohash ? getIntersectingSickRecordsByGeoHash(myData, responseJson) : getIntersectingSickRecords(myData, responseJson);
if (sickPeopleIntersected.length > 0) {
- await onSickPeopleNotify(sickPeopleIntersected);
- }
+ const dbSick = new IntersectionSickDatabase();
+
+ const filteredIntersected: Exposure[] = [];
+ for (const currSick of sickPeopleIntersected) {
+ const queryResult = await dbSick.containsObjectID(
+ currSick.properties.Key_Field,
+ );
+
+ // exposure is not a duplicate
+ if (!queryResult) {
+ const overlappingBLEExposure = await checkGeoAndBleIntersection(currSick, dbSick);
+
+ // BLE was found
+ if (overlappingBLEExposure?.BLETimestamp) {
+ // merge geo and ble exposure
+ await dbSick.MergeGeoIntoSickRecord(currSick, overlappingBLEExposure.BLETimestamp);
+ // update merged exposure in store
+ store().dispatch(updateBlePastExposure({
+ properties: {
+ ...currSick.properties,
+ BLETimestamp: overlappingBLEExposure.BLETimestamp,
+ wasThere: true
+ }
+ }));
+ } else {
+ const sick = await dbSick.addSickRecord(currSick);
+ filteredIntersected.push(sick);
+ }
+ }
+ }
- await AsyncStorage.setItem(
- LAST_FETCH_TS,
- JSON.stringify(moment().valueOf()),
- );
+ if (filteredIntersected.length > 0) {
+ await onSickPeopleNotify(filteredIntersected);
+ }
+ }
} catch (error) {
- onError(error);
+ onError({ error });
}
};
@@ -80,35 +208,39 @@ export const getIntersectingSickRecords = (myData: Location[], sickRecordsJson:
});
}
- return sickPeopleIntersected;
+ return [...new Set(sickPeopleIntersected)];
};
export const getIntersectingSickRecordsByGeoHash = (myData: Location[], sickRecordsJson: SickJSON) => {
- const sickPeopleIntersected: any = [];
+ const sickPeopleIntersected: any[] = [];
if (myData.length === 0) {
console.log('Could not find data');
- } else {
- const mappedLocations: {[key: string]: Location[]} = {};
-
- myData.forEach((location) => {
- // fix for geoHashes entered with a "'" from google timeline.
- const locationGeohashPrefix = location.geoHash.replace(/[']/g, '').slice(0, sickRecordsJson.features[0].properties.geohashFilter.length);
+ return sickPeopleIntersected;
+ }
- if (mappedLocations[locationGeohashPrefix]) {
- mappedLocations[locationGeohashPrefix].push(location);
- } else {
- mappedLocations[locationGeohashPrefix] = [location];
- }
- });
+ const mappedLocations: { [key: string]: Location[] } = {};
- // for each feature in json data
- sickRecordsJson.features.map((sickRecord: Exposure) => {
- const sickRecordGeohashPrefix = sickRecord.properties.geohashFilter;
+ myData.forEach((location) => {
+ // fix for geoHashes entered with a "'" from google timeline.
+ const locationGeohashPrefix = location.geoHash.replace(/[']/g, '').slice(0, sickRecordsJson.features[0].properties.geohashFilter.length);
+ if (mappedLocations[locationGeohashPrefix]) {
+ mappedLocations[locationGeohashPrefix].push(location);
+ } else {
+ mappedLocations[locationGeohashPrefix] = [location];
+ }
+ });
+
+ // for each feature in json data
+ sickRecordsJson.features.forEach((sickRecord: Exposure) => {
+ const sickRecordGeohashPrefix = sickRecord.properties.geohashFilter;
+ // get 8 neighbors of geolocation
+ const neighborsArr = [sickRecordGeohashPrefix, ...Object.values(geoHash.neighbours(sickRecordGeohashPrefix))];
+ neighborsArr.forEach((geo) => {
// for each raw in user data
- if (mappedLocations[sickRecordGeohashPrefix]) {
- mappedLocations[sickRecordGeohashPrefix].reverse().forEach((userRecord: Location) => {
+ if (mappedLocations[geo]) {
+ mappedLocations[geo].forEach((userRecord: Location) => {
if (isTimeOverlapping(userRecord, sickRecord) && isSpaceOverlapping(userRecord, sickRecord)) {
// add sick people you intersects
sickRecord.properties.fromTime_utc = Math.max(userRecord.startTime, sickRecord.properties.fromTime_utc);
@@ -118,13 +250,16 @@ export const getIntersectingSickRecordsByGeoHash = (myData: Location[], sickReco
});
}
});
- }
+ });
- return sickPeopleIntersected;
+ const sickPeopleIntersectedSet = new Set(sickPeopleIntersected);
+ // sort array from the most early to last
+ return [...sickPeopleIntersectedSet].sort((intersectA, intersectB) => intersectB.fromTime_utc - intersectA.fromTime_utc);
};
+
const checkMillisecondsDiff = (to: number, from: number) => {
- return to - from > config().intersectMilliseconds;
+ return to - from > (config().intersectWithClusters ? config().intersectMillisecondsWithCluster : config().intersectMilliseconds);
};
export const isTimeOverlapping = (userRecord: Location, sickRecord: Exposure) => {
@@ -134,10 +269,10 @@ export const isTimeOverlapping = (userRecord: Location, sickRecord: Exposure) =>
);
};
-export const isSpaceOverlapping = ({ lat, long }: Location, { properties: { radius }, geometry: { coordinates } }: Exposure) => {
+export const isSpaceOverlapping = (clusterOrLocation: Location | Cluster, { properties: { radius }, geometry: { coordinates } }: Exposure) => {
const start = {
- latitude: lat,
- longitude: long,
+ latitude: clusterOrLocation.lat,
+ longitude: clusterOrLocation.long,
};
const end = {
@@ -145,42 +280,36 @@ export const isSpaceOverlapping = ({ lat, long }: Location, { properties: { radi
longitude: coordinates[config().sickGeometryLongIndex],
};
- return haversine(start, end, { threshold: radius || config().meterRadius, unit: config().bufferUnits });
+ return haversine(start, end, { threshold: (radius || config().meterRadius) + (config().intersectWithClusters ? clusterOrLocation.radius : 0), unit: config().bufferUnits });
};
-export const onSickPeopleNotify = async (sickPeopleIntersected: Exposure[]) => {
- try {
- const dbSick = new IntersectionSickDatabase();
-
- const exposuresToUpdate = [];
+const checkGeoAndBleIntersection = async (currSick, dbSick) => {
+ const exposures: ExposureProperties[] = await dbSick.listAllRecords();
+ return exposures.find((exposure) => {
+ // if its a geo exposure or exposure doesn't have ble time stamp
+ if (exposure.OBJECTID !== null || !exposure.BLETimestamp) return false;
- for (const currSick of sickPeopleIntersected) {
- const queryResult = await dbSick.containsObjectID(
- currSick.properties.Key_Field,
- );
+ const bleStart = moment.utc(exposure.BLETimestamp);
+ const bleEnd = bleStart.startOf('hour').add(1, 'hours');
- if (!queryResult) {
- currSick.properties.fromTime = currSick.properties.fromTime_utc;
- currSick.properties.toTime = currSick.properties.toTime_utc;
- currSick.properties.OBJECTID = currSick.properties.Key_Field;
- currSick.properties.lat = currSick.geometry.coordinates[config().sickGeometryLatIndex];
- currSick.properties.long = currSick.geometry.coordinates[config().sickGeometryLongIndex];
-
- exposuresToUpdate.push(currSick);
- await dbSick.addSickRecord(currSick);
- }
- }
+ return (Math.min(currSick.properties.toTime_utc, bleEnd.valueOf()) - Math.max(currSick.properties.fromTime_utc, bleStart.valueOf())) > 0;
+ });
+};
- store().dispatch(setExposures(exposuresToUpdate));
+export const onSickPeopleNotify = async (sickPeopleIntersected: ExposureProperties[]) => {
+ try {
+ if (sickPeopleIntersected.length > 0) {
+ await store().dispatch(setExposures(sickPeopleIntersected.map((exposure: any) => ({ properties: { ...exposure } }))));
- const { locale, notificationData } = await store().dispatch(initLocale());
+ const { locale, notificationData } = await store().dispatch(initLocale());
- exposuresToUpdate.length > 0 && await registerLocalNotification(
- notificationData.sickMessage[locale].title,
- notificationData.sickMessage[locale].body,
- notificationData.sickMessage.duration,
- 'ms',
- );
+ await registerLocalNotification(
+ notificationData.sickMessage[locale].title,
+ notificationData.sickMessage[locale].body,
+ notificationData.sickMessage.duration,
+ 'ms',
+ );
+ }
} catch (error) {
onError({ error });
}
diff --git a/src/types/index.ts b/src/types/index.ts
index 4ad03195..811aeef0 100755
--- a/src/types/index.ts
+++ b/src/types/index.ts
@@ -1,4 +1,5 @@
import { Region } from 'react-native-maps';
+import moment from 'moment';
import { ExternalUrls, Languages, LocaleData, NotificationData, Strings } from '../locale/LocaleData';
export interface Config {
@@ -10,8 +11,16 @@ export interface Config {
versionsUrl: string,
dataShareUrl: string,
fetchMilliseconds: number,
+ minimumBLEFetchIntervalMin: number,
+ minimumGeoFetchIntervalMin: number,
meterRadius: number,
+ clusterRadius: number,
+ jitterValue: number,
+ jitterUnits: moment.unitOfTime.Diff,
intersectMilliseconds: number,
+ intersectMillisecondsWithCluster: number,
+ intersectWithClusters: boolean,
+ dataShareClusters: boolean,
bufferUnits: string,
sickGeometryLongIndex: number,
sickGeometryLatIndex: number,
@@ -56,7 +65,9 @@ export interface ExposureProperties {
radius?: number,
geohashFilter: string,
lat?: number,
- long?: number
+ long?: number,
+ wasThere?: boolean,
+ BLETimestamp?: number
}
export interface ExposureGeometry {
@@ -66,7 +77,7 @@ export interface ExposureGeometry {
}
export interface Exposure {
- properties:ExposureProperties,
+ properties: ExposureProperties,
geometry: ExposureGeometry
}
@@ -105,6 +116,7 @@ export interface Location {
accuracy: number,
lat: number,
startTime: number,
+ radius: number,
long: number
}
@@ -157,3 +169,13 @@ export interface LocaleReducer {
locale: string,
localeData: LocaleData
}
+
+export interface Cluster {
+ lat: number,
+ long: number,
+ startTime: number,
+ endTime: number,
+ geoHash: string,
+ radius: number,
+ size: number
+}
diff --git a/yarn.lock b/yarn.lock
index e1aca496..a7f8c59e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -29,40 +29,19 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/core@^7.0.0", "@babel/core@^7.1.0":
- version "7.8.7"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.7.tgz#b69017d221ccdeb203145ae9da269d72cf102f3b"
- integrity sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==
+"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.7.5":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
+ integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
dependencies:
"@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.8.7"
- "@babel/helpers" "^7.8.4"
- "@babel/parser" "^7.8.7"
- "@babel/template" "^7.8.6"
- "@babel/traverse" "^7.8.6"
- "@babel/types" "^7.8.7"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.1"
- json5 "^2.1.0"
- lodash "^4.17.13"
- resolve "^1.3.2"
- semver "^5.4.1"
- source-map "^0.5.0"
-
-"@babel/core@^7.7.5":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e"
- integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==
- dependencies:
- "@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.9.0"
+ "@babel/generator" "^7.9.6"
"@babel/helper-module-transforms" "^7.9.0"
- "@babel/helpers" "^7.9.0"
- "@babel/parser" "^7.9.0"
+ "@babel/helpers" "^7.9.6"
+ "@babel/parser" "^7.9.6"
"@babel/template" "^7.8.6"
- "@babel/traverse" "^7.9.0"
- "@babel/types" "^7.9.0"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.1"
@@ -72,22 +51,12 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.0.0", "@babel/generator@^7.4.0", "@babel/generator@^7.6.2", "@babel/generator@^7.8.6", "@babel/generator@^7.8.7":
- version "7.8.8"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.8.tgz#cdcd58caab730834cee9eeadb729e833b625da3e"
- integrity sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==
- dependencies:
- "@babel/types" "^7.8.7"
- jsesc "^2.5.1"
- lodash "^4.17.13"
- source-map "^0.5.0"
-
-"@babel/generator@^7.9.0":
- version "7.9.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.4.tgz#12441e90c3b3c4159cdecf312075bf1a8ce2dbce"
- integrity sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA==
+"@babel/generator@^7.0.0", "@babel/generator@^7.4.0", "@babel/generator@^7.6.2", "@babel/generator@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
+ integrity sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==
dependencies:
- "@babel/types" "^7.9.0"
+ "@babel/types" "^7.9.6"
jsesc "^2.5.1"
lodash "^4.17.13"
source-map "^0.5.0"
@@ -107,33 +76,33 @@
"@babel/helper-explode-assignable-expression" "^7.8.3"
"@babel/types" "^7.8.3"
-"@babel/helper-builder-react-jsx@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz#dee98d7d79cc1f003d80b76fe01c7f8945665ff6"
- integrity sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ==
+"@babel/helper-builder-react-jsx-experimental@^7.9.0":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz#0b4b3e04e6123f03b404ca4dfd6528fe6bb92fe3"
+ integrity sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg==
dependencies:
- "@babel/types" "^7.8.3"
- esutils "^2.0.0"
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/helper-module-imports" "^7.8.3"
+ "@babel/types" "^7.9.5"
-"@babel/helper-call-delegate@^7.8.7":
- version "7.8.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz#28a279c2e6c622a6233da548127f980751324cab"
- integrity sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==
+"@babel/helper-builder-react-jsx@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32"
+ integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==
dependencies:
- "@babel/helper-hoist-variables" "^7.8.3"
- "@babel/traverse" "^7.8.3"
- "@babel/types" "^7.8.7"
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/types" "^7.9.0"
-"@babel/helper-create-class-features-plugin@^7.8.3":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz#243a5b46e2f8f0f674dc1387631eb6b28b851de0"
- integrity sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg==
+"@babel/helper-create-class-features-plugin@^7.8.3", "@babel/helper-create-class-features-plugin@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz#965c8b0a9f051801fd9d3b372ca0ccf200a90897"
+ integrity sha512-6N9IeuyHvMBRyjNYOMJHrhwtu4WJMrYf8hVbEHD3pbbbmNOk1kmXSQs7bA4dYDUaIx4ZEzdnvo6NwC3WHd/Qow==
dependencies:
- "@babel/helper-function-name" "^7.8.3"
+ "@babel/helper-function-name" "^7.9.5"
"@babel/helper-member-expression-to-functions" "^7.8.3"
"@babel/helper-optimise-call-expression" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
- "@babel/helper-replace-supers" "^7.8.6"
+ "@babel/helper-replace-supers" "^7.9.6"
"@babel/helper-split-export-declaration" "^7.8.3"
"@babel/helper-create-regexp-features-plugin@^7.8.3":
@@ -162,14 +131,14 @@
"@babel/traverse" "^7.8.3"
"@babel/types" "^7.8.3"
-"@babel/helper-function-name@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca"
- integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==
+"@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
+ integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==
dependencies:
"@babel/helper-get-function-arity" "^7.8.3"
"@babel/template" "^7.8.3"
- "@babel/types" "^7.8.3"
+ "@babel/types" "^7.9.5"
"@babel/helper-get-function-arity@^7.8.3":
version "7.8.3"
@@ -178,13 +147,6 @@
dependencies:
"@babel/types" "^7.8.3"
-"@babel/helper-hoist-variables@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134"
- integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==
- dependencies:
- "@babel/types" "^7.8.3"
-
"@babel/helper-member-expression-to-functions@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c"
@@ -199,19 +161,6 @@
dependencies:
"@babel/types" "^7.8.3"
-"@babel/helper-module-transforms@^7.8.3":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz#6a13b5eecadc35692047073a64e42977b97654a4"
- integrity sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==
- dependencies:
- "@babel/helper-module-imports" "^7.8.3"
- "@babel/helper-replace-supers" "^7.8.6"
- "@babel/helper-simple-access" "^7.8.3"
- "@babel/helper-split-export-declaration" "^7.8.3"
- "@babel/template" "^7.8.6"
- "@babel/types" "^7.8.6"
- lodash "^4.17.13"
-
"@babel/helper-module-transforms@^7.9.0":
version "7.9.0"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5"
@@ -255,15 +204,15 @@
"@babel/traverse" "^7.8.3"
"@babel/types" "^7.8.3"
-"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8"
- integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==
+"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6", "@babel/helper-replace-supers@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444"
+ integrity sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==
dependencies:
"@babel/helper-member-expression-to-functions" "^7.8.3"
"@babel/helper-optimise-call-expression" "^7.8.3"
- "@babel/traverse" "^7.8.6"
- "@babel/types" "^7.8.6"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
"@babel/helper-simple-access@^7.8.3":
version "7.8.3"
@@ -280,10 +229,10 @@
dependencies:
"@babel/types" "^7.8.3"
-"@babel/helper-validator-identifier@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed"
- integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==
+"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
+ integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
"@babel/helper-wrap-function@^7.8.3":
version "7.8.3"
@@ -295,42 +244,28 @@
"@babel/traverse" "^7.8.3"
"@babel/types" "^7.8.3"
-"@babel/helpers@^7.6.2", "@babel/helpers@^7.8.4":
- version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73"
- integrity sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==
+"@babel/helpers@^7.6.2", "@babel/helpers@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
+ integrity sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==
dependencies:
"@babel/template" "^7.8.3"
- "@babel/traverse" "^7.8.4"
- "@babel/types" "^7.8.3"
-
-"@babel/helpers@^7.9.0":
- version "7.9.2"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f"
- integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==
- dependencies:
- "@babel/template" "^7.8.3"
- "@babel/traverse" "^7.9.0"
- "@babel/types" "^7.9.0"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
"@babel/highlight@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
- integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079"
+ integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==
dependencies:
+ "@babel/helper-validator-identifier" "^7.9.0"
chalk "^2.0.0"
- esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.2", "@babel/parser@^7.8.6", "@babel/parser@^7.8.7":
- version "7.8.8"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.8.tgz#4c3b7ce36db37e0629be1f0d50a571d2f86f6cd4"
- integrity sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==
-
-"@babel/parser@^7.7.5", "@babel/parser@^7.9.0":
- version "7.9.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8"
- integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.2", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
+ integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==
"@babel/plugin-external-helpers@^7.0.0":
version "7.8.3"
@@ -364,12 +299,13 @@
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
"@babel/plugin-proposal-object-rest-spread@^7.0.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz#eb5ae366118ddca67bed583b53d7554cad9951bb"
- integrity sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz#7a093586fcb18b08266eb1a7177da671ac575b63"
+ integrity sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-object-rest-spread" "^7.8.0"
+ "@babel/plugin-transform-parameters" "^7.9.5"
"@babel/plugin-proposal-optional-catch-binding@^7.0.0":
version "7.8.3"
@@ -380,21 +316,28 @@
"@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
"@babel/plugin-proposal-optional-chaining@^7.0.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz#ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543"
- integrity sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58"
+ integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-optional-chaining" "^7.8.0"
-"@babel/plugin-syntax-bigint@^7.0.0":
+"@babel/plugin-syntax-async-generators@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
+ integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-bigint@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-class-properties@^7.0.0":
+"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz#6cb933a8872c8d359bfde69bbeaae5162fd1e8f7"
integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==
@@ -422,6 +365,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
+"@babel/plugin-syntax-json-strings@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
+ integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94"
@@ -429,28 +379,42 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0":
+"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz#3995d7d7ffff432f6ddc742b47e730c054599897"
+ integrity sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0":
+"@babel/plugin-syntax-numeric-separator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f"
+ integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-optional-catch-binding@^7.8.0":
+"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-optional-chaining@^7.8.0":
+"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
@@ -496,13 +460,13 @@
lodash "^4.17.13"
"@babel/plugin-transform-classes@^7.0.0":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz#77534447a477cbe5995ae4aee3e39fbc8090c46d"
- integrity sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c"
+ integrity sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==
dependencies:
"@babel/helper-annotate-as-pure" "^7.8.3"
"@babel/helper-define-map" "^7.8.3"
- "@babel/helper-function-name" "^7.8.3"
+ "@babel/helper-function-name" "^7.9.5"
"@babel/helper-optimise-call-expression" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/helper-replace-supers" "^7.8.6"
@@ -517,9 +481,9 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-transform-destructuring@^7.0.0":
- version "7.8.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz#fadb2bc8e90ccaf5658de6f8d4d22ff6272a2f4b"
- integrity sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz#72c97cf5f38604aea3abf3b935b0e17b1db76a50"
+ integrity sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
@@ -532,17 +496,17 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-transform-flow-strip-types@^7.0.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.8.3.tgz#da705a655466b2a9b36046b57bf0cbcd53551bd4"
- integrity sha512-g/6WTWG/xbdd2exBBzMfygjX/zw4eyNC4X8pRaq7aRHRoDUCzAIu3kGYIXviOv8BjCuWm8vDBwjHcjiRNgXrPA==
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392"
+ integrity sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-flow" "^7.8.3"
"@babel/plugin-transform-for-of@^7.0.0":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz#a051bd1b402c61af97a27ff51b468321c7c2a085"
- integrity sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e"
+ integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
@@ -569,14 +533,14 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-transform-modules-commonjs@^7.0.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz#df251706ec331bd058a34bdd72613915f82928a5"
- integrity sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277"
+ integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==
dependencies:
- "@babel/helper-module-transforms" "^7.8.3"
+ "@babel/helper-module-transforms" "^7.9.0"
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/helper-simple-access" "^7.8.3"
- babel-plugin-dynamic-import-node "^2.3.0"
+ babel-plugin-dynamic-import-node "^2.3.3"
"@babel/plugin-transform-object-assign@^7.0.0":
version "7.8.3"
@@ -593,12 +557,11 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/helper-replace-supers" "^7.8.3"
-"@babel/plugin-transform-parameters@^7.0.0":
- version "7.8.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz#0381de466c85d5404565243660c4496459525daf"
- integrity sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==
+"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795"
+ integrity sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==
dependencies:
- "@babel/helper-call-delegate" "^7.8.7"
"@babel/helper-get-function-arity" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
@@ -617,19 +580,20 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-transform-react-jsx-source@^7.0.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.3.tgz#951e75a8af47f9f120db731be095d2b2c34920e0"
- integrity sha512-PLMgdMGuVDtRS/SzjNEQYUT8f4z1xb2BAT54vM1X5efkVuYBf5WyGUMbpmARcfq3NaglIwz08UVQK4HHHbC6ag==
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0"
+ integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-jsx" "^7.8.3"
"@babel/plugin-transform-react-jsx@^7.0.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz#4220349c0390fdefa505365f68c103562ab2fc4a"
- integrity sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g==
+ version "7.9.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f"
+ integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==
dependencies:
- "@babel/helper-builder-react-jsx" "^7.8.3"
+ "@babel/helper-builder-react-jsx" "^7.9.0"
+ "@babel/helper-builder-react-jsx-experimental" "^7.9.0"
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-jsx" "^7.8.3"
@@ -641,9 +605,9 @@
regenerator-transform "^0.14.2"
"@babel/plugin-transform-runtime@^7.0.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz#c0153bc0a5375ebc1f1591cb7eea223adea9f169"
- integrity sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ==
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.6.tgz#3ba804438ad0d880a17bca5eaa0cdf1edeedb2fd"
+ integrity sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w==
dependencies:
"@babel/helper-module-imports" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
@@ -681,11 +645,11 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-transform-typescript@^7.0.0":
- version "7.8.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.8.7.tgz#48bccff331108a7b3a28c3a4adc89e036dc3efda"
- integrity sha512-7O0UsPQVNKqpHeHLpfvOG4uXmlw+MOxYvUv6Otc9uH5SYMIxvF6eBdjkWvC3f9G+VXe0RsNExyAQBeTRug/wqQ==
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.6.tgz#2248971416a506fc78278fc0c0ea3179224af1e9"
+ integrity sha512-8OvsRdvpt3Iesf2qsAn+YdlwAJD7zJ+vhFZmDCa4b8dTp7MmHtKk5FF2mCsGxjZwuwsy/yIIay/nLmxST1ctVQ==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.8.3"
+ "@babel/helper-create-class-features-plugin" "^7.9.6"
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-typescript" "^7.8.3"
@@ -698,9 +662,9 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/register@^7.0.0":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.8.6.tgz#a1066aa6168a73a70c35ef28cc5865ccc087ea69"
- integrity sha512-7IDO93fuRsbyml7bAafBQb3RcBGlCpU4hh5wADA2LJEEcYk92WkwFZ0pHyIi2fb5Auoz1714abETdZKCOxN0CQ==
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.9.0.tgz#02464ede57548bddbb5e9f705d263b7c3f43d48b"
+ integrity sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q==
dependencies:
find-cache-dir "^2.0.0"
lodash "^4.17.13"
@@ -716,13 +680,13 @@
regenerator-runtime "^0.13.2"
"@babel/runtime@^7.0.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4":
- version "7.8.7"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.7.tgz#8fefce9802db54881ba59f90bb28719b4996324d"
- integrity sha512-+AATMUFppJDw6aiR5NVPHqIQBlV/Pj8wY/EZH+lmvRdUo9xBaz/rF3alAwFJQavvKfeOlPE7oaaDHVbcySbCsg==
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f"
+ integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/template@^7.0.0", "@babel/template@^7.4.0", "@babel/template@^7.6.0", "@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
+"@babel/template@^7.0.0", "@babel/template@^7.3.3", "@babel/template@^7.4.0", "@babel/template@^7.6.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
version "7.8.6"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==
@@ -731,51 +695,27 @@
"@babel/parser" "^7.8.6"
"@babel/types" "^7.8.6"
-"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.6.2", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4", "@babel/traverse@^7.8.6":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.6.tgz#acfe0c64e1cd991b3e32eae813a6eb564954b5ff"
- integrity sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.6.2", "@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442"
+ integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==
dependencies:
"@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.8.6"
- "@babel/helper-function-name" "^7.8.3"
+ "@babel/generator" "^7.9.6"
+ "@babel/helper-function-name" "^7.9.5"
"@babel/helper-split-export-declaration" "^7.8.3"
- "@babel/parser" "^7.8.6"
- "@babel/types" "^7.8.6"
+ "@babel/parser" "^7.9.6"
+ "@babel/types" "^7.9.6"
debug "^4.1.0"
globals "^11.1.0"
lodash "^4.17.13"
-"@babel/traverse@^7.7.4", "@babel/traverse@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.0.tgz#d3882c2830e513f4fe4cec9fe76ea1cc78747892"
- integrity sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==
- dependencies:
- "@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.9.0"
- "@babel/helper-function-name" "^7.8.3"
- "@babel/helper-split-export-declaration" "^7.8.3"
- "@babel/parser" "^7.9.0"
- "@babel/types" "^7.9.0"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.13"
-
-"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.6.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7":
- version "7.8.7"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.7.tgz#1fc9729e1acbb2337d5b6977a63979b4819f5d1d"
- integrity sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==
- dependencies:
- esutils "^2.0.2"
- lodash "^4.17.13"
- to-fast-properties "^2.0.0"
-
-"@babel/types@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.0.tgz#00b064c3df83ad32b2dbf5ff07312b15c7f1efb5"
- integrity sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==
+"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.6.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
+ integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==
dependencies:
- "@babel/helper-validator-identifier" "^7.9.0"
+ "@babel/helper-validator-identifier" "^7.9.5"
lodash "^4.17.13"
to-fast-properties "^2.0.0"
@@ -848,43 +788,44 @@
chalk "^2.0.1"
slash "^2.0.0"
-"@jest/console@^25.2.3":
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.2.3.tgz#38ac19b916ff61457173799239472659e1a67c39"
- integrity sha512-k+37B1aSvOt9tKHWbZZSOy1jdgzesB0bj96igCVUG1nAH1W5EoUfgc5EXbBVU08KSLvkVdWopLXaO3xfVGlxtQ==
+"@jest/console@^25.5.0":
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb"
+ integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==
dependencies:
- "@jest/source-map" "^25.2.1"
+ "@jest/types" "^25.5.0"
chalk "^3.0.0"
- jest-util "^25.2.3"
+ jest-message-util "^25.5.0"
+ jest-util "^25.5.0"
slash "^3.0.0"
-"@jest/core@^25.2.4":
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.2.4.tgz#382ef80369d3311f1df79db1ee19e958ae95cdad"
- integrity sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg==
+"@jest/core@^25.5.4":
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4"
+ integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==
dependencies:
- "@jest/console" "^25.2.3"
- "@jest/reporters" "^25.2.4"
- "@jest/test-result" "^25.2.4"
- "@jest/transform" "^25.2.4"
- "@jest/types" "^25.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"
exit "^0.1.2"
- graceful-fs "^4.2.3"
- jest-changed-files "^25.2.3"
- jest-config "^25.2.4"
- jest-haste-map "^25.2.3"
- jest-message-util "^25.2.4"
- jest-regex-util "^25.2.1"
- jest-resolve "^25.2.3"
- jest-resolve-dependencies "^25.2.4"
- jest-runner "^25.2.4"
- jest-runtime "^25.2.4"
- jest-snapshot "^25.2.4"
- jest-util "^25.2.3"
- jest-validate "^25.2.3"
- jest-watcher "^25.2.4"
+ 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"
@@ -892,14 +833,14 @@
slash "^3.0.0"
strip-ansi "^6.0.0"
-"@jest/environment@^25.2.4":
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.2.4.tgz#74f4d8dd87b427434d0b822cde37bc0e78f3e28b"
- integrity sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw==
+"@jest/environment@^25.5.0":
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37"
+ integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==
dependencies:
- "@jest/fake-timers" "^25.2.4"
- "@jest/types" "^25.2.3"
- jest-mock "^25.2.3"
+ "@jest/fake-timers" "^25.5.0"
+ "@jest/types" "^25.5.0"
+ jest-mock "^25.5.0"
"@jest/fake-timers@^24.9.0":
version "24.9.0"
@@ -910,45 +851,55 @@
jest-message-util "^24.9.0"
jest-mock "^24.9.0"
-"@jest/fake-timers@^25.2.4":
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.2.4.tgz#6821b6edde74fda2a42467ae92cc93095d4c9527"
- integrity sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q==
+"@jest/fake-timers@^25.5.0":
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185"
+ integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==
dependencies:
- "@jest/types" "^25.2.3"
- jest-message-util "^25.2.4"
- jest-mock "^25.2.3"
- jest-util "^25.2.3"
+ "@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"
-"@jest/reporters@^25.2.4":
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.2.4.tgz#aa01c20aab217150d3a6080d5c98ce0bf34b17ed"
- integrity sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ==
+"@jest/globals@^25.5.2":
+ version "25.5.2"
+ resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88"
+ integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==
+ dependencies:
+ "@jest/environment" "^25.5.0"
+ "@jest/types" "^25.5.0"
+ expect "^25.5.0"
+
+"@jest/reporters@^25.5.1":
+ version "25.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b"
+ integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==
dependencies:
"@bcoe/v8-coverage" "^0.2.3"
- "@jest/console" "^25.2.3"
- "@jest/test-result" "^25.2.4"
- "@jest/transform" "^25.2.4"
- "@jest/types" "^25.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.0"
- jest-haste-map "^25.2.3"
- jest-resolve "^25.2.3"
- jest-util "^25.2.3"
- jest-worker "^25.2.1"
+ 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.0.1"
+ v8-to-istanbul "^4.1.3"
optionalDependencies:
node-notifier "^6.0.0"
@@ -961,13 +912,13 @@
graceful-fs "^4.1.15"
source-map "^0.6.0"
-"@jest/source-map@^25.2.1":
- version "25.2.1"
- resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.2.1.tgz#b62ecf8ae76170b08eff8859b56eb7576df34ab8"
- integrity sha512-PgScGJm1U27+9Te/cxP4oUFqJ2PX6NhBL2a6unQ7yafCgs8k02c0LSyjSIx/ao0AwcAdCczfAPDf5lJ7zoB/7A==
+"@jest/source-map@^25.5.0":
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b"
+ integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==
dependencies:
callsites "^3.0.0"
- graceful-fs "^4.2.3"
+ graceful-fs "^4.2.4"
source-map "^0.6.0"
"@jest/test-result@^24.9.0":
@@ -979,26 +930,26 @@
"@jest/types" "^24.9.0"
"@types/istanbul-lib-coverage" "^2.0.0"
-"@jest/test-result@^25.2.4":
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.2.4.tgz#8fc9eac58e82eb2a82e4058e68c3814f98f59cf5"
- integrity sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg==
+"@jest/test-result@^25.5.0":
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c"
+ integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==
dependencies:
- "@jest/console" "^25.2.3"
- "@jest/transform" "^25.2.4"
- "@jest/types" "^25.2.3"
+ "@jest/console" "^25.5.0"
+ "@jest/types" "^25.5.0"
"@types/istanbul-lib-coverage" "^2.0.0"
collect-v8-coverage "^1.0.0"
-"@jest/test-sequencer@^25.2.4":
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz#28364aeddec140c696324114f63570f3de536c87"
- integrity sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew==
+"@jest/test-sequencer@^25.5.4":
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737"
+ integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==
dependencies:
- "@jest/test-result" "^25.2.4"
- jest-haste-map "^25.2.3"
- jest-runner "^25.2.4"
- jest-runtime "^25.2.4"
+ "@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/transform@^24.9.0":
version "24.9.0"
@@ -1022,21 +973,21 @@
source-map "^0.6.1"
write-file-atomic "2.4.1"
-"@jest/transform@^25.2.4":
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.2.4.tgz#34336f37f13f62f7d1f5b93d5d150ba9eb3e11b9"
- integrity sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==
+"@jest/transform@^25.5.1":
+ version "25.5.1"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3"
+ integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==
dependencies:
"@babel/core" "^7.1.0"
- "@jest/types" "^25.2.3"
+ "@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.3"
- jest-haste-map "^25.2.3"
- jest-regex-util "^25.2.1"
- jest-util "^25.2.3"
+ 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"
@@ -1053,20 +1004,10 @@
"@types/istanbul-reports" "^1.1.1"
"@types/yargs" "^13.0.0"
-"@jest/types@^25.1.0":
- version "25.1.0"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.1.0.tgz#b26831916f0d7c381e11dbb5e103a72aed1b4395"
- integrity sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==
- 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.2.3":
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.2.3.tgz#035c4fb94e2da472f359ff9a211915d59987f6b6"
- integrity sha512-6oLQwO9mKif3Uph3RX5J1i3S7X7xtDHWBaaaoeKw8hOzV6YUd0qDcYcHZ6QXMHDIzSr7zzrEa51o2Ovlj6AtKQ==
+"@jest/types@^25.5.0":
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d"
+ integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^1.1.1"
@@ -1241,9 +1182,9 @@
ws "^1.1.0"
"@react-native-community/cookies@^2.0.8":
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/@react-native-community/cookies/-/cookies-2.0.8.tgz#baedf268fc32d463d3314f2d9f4b50c977c8f1d2"
- integrity sha512-uIb+VBMoOz/zlh2FxZ1FEXc+/RpgD+YrF8XG7jvQcJu3GimsD8mf6hxfjHUDnFonilQgL0jDB2biTR5rF1XGbg==
+ version "2.0.9"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cookies/-/cookies-2.0.9.tgz#97bb4f431ecf1307be5807ade47b991a99f224d3"
+ integrity sha512-gZvnLQjkpZX//4/CIOX4lOFdfOT2gQi/Ov1t+K6D2KZ0GyqY1CQ9xe0F1NsRSIGciTUkxOPTeway/LRWgwHsxQ==
dependencies:
invariant "^2.2.4"
@@ -1265,9 +1206,9 @@
prettier "1.16.4"
"@react-native-community/masked-view@^0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.8.tgz#05c9c800f258274a34abd584596464b86fbd92dc"
- integrity sha512-y+mnsPPC4Etzs/waHIC9Pj3DwhVQGqVru0n1KSqHZc0moKNAZ0NRBWYVat9awLIjjVrnepUva/+/bi31T4hR4A==
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.10.tgz#5dda643e19e587793bc2034dd9bf7398ad43d401"
+ integrity sha512-rk4sWFsmtOw8oyx8SD3KSvawwaK7gRBSEIy2TAwURyGt+3TizssXP1r8nx3zY+R7v2vYYHXZ+k2/GULAT/bcaQ==
"@react-native-community/netinfo@5.6.2":
version "5.6.2"
@@ -1283,16 +1224,16 @@
react-native-iphone-x-helper "^1.2.1"
"@react-navigation/core@^5.1.2":
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-5.2.1.tgz#8fae1b40b3fbaeb70c6182e00899a2e4d281a12f"
- integrity sha512-fRezZDtVFMfPtCkFUXFZlhrtECXuuFE9t2LnSyZdm3hZXBf7Gp6KvcMrlzAVXC/n8YCDSqhtDYz7EbF2gX6DJg==
+ version "5.5.2"
+ resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-5.5.2.tgz#14e844287225fe7a41b471262f282ecd2d0404ea"
+ integrity sha512-nYPDpwPVZ3+S8YSj5ktMKgxQq9B298An4nfDhIobLNqMifvTXC15kWTPbMAWSYdwZr5tbw7SniP6+jXFZgfIlQ==
dependencies:
- "@react-navigation/routers" "^5.1.0"
- escape-string-regexp "^2.0.0"
- query-string "^6.10.1"
- react-is "^16.12.0"
- shortid "^2.2.15"
- use-subscription "^1.3.0"
+ "@react-navigation/routers" "^5.4.4"
+ escape-string-regexp "^4.0.0"
+ nanoid "^3.1.5"
+ query-string "^6.12.1"
+ react-is "^16.13.0"
+ use-subscription "^1.4.0"
"@react-navigation/drawer@5.4.0":
version "5.4.0"
@@ -1309,13 +1250,20 @@
dependencies:
"@react-navigation/core" "^5.1.2"
-"@react-navigation/routers@^5.1.0":
+"@react-navigation/routers@5.1.0":
version "5.1.0"
resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-5.1.0.tgz#ec741e734d501b7024120bef3d109b17f69a7b6b"
integrity sha512-sY+eCIcWheflQIfGMSnWomnjP8d+7ZPmH1dKZ1pRezTqLWVlCFntQfQSr2FfM5LLVWty4gZ/K9D+o6UT4ntc3w==
dependencies:
shortid "^2.2.15"
+"@react-navigation/routers@^5.4.4":
+ version "5.4.4"
+ resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-5.4.4.tgz#3b5e1a55edb73a506a82db59081ad434c0ce1aab"
+ integrity sha512-Q8ZIubVYc1569JOs2oMWbhNXBNzZHvRfP5cEZ6/ksj9cPF7DkwOXsAdF0b+Oe0ei0f7OaK9LTRmfiNdtAPWVzw==
+ dependencies:
+ nanoid "^3.1.5"
+
"@react-navigation/stack@5.0.3":
version "5.0.3"
resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-5.0.3.tgz#e3d0f27b83a6da50da98846de4cd180647597546"
@@ -1333,25 +1281,25 @@
redux-persist "^4.6.0"
"@sinonjs/commons@^1.7.0":
- version "1.7.1"
- resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1"
- integrity sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ==
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.2.tgz#505f55c74e0272b43f6c52d81946bed7058fc0e2"
+ integrity sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw==
dependencies:
type-detect "4.0.8"
"@tmcw/togeojson@https://github.com/tmcw/togeojson.git":
version "4.0.0"
- resolved "https://github.com/tmcw/togeojson.git#47a726b69bd8b7f0eb4adcb27c021136e86afdae"
+ resolved "https://github.com/tmcw/togeojson.git#cdae0c2243f536a9c37e15e434e00f77a53102f4"
"@types/async-lock@1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/async-lock/-/async-lock-1.1.1.tgz#81f218213bebcc5f740efe9648272c774a2e4b4b"
integrity sha512-TU1X8jmAU2BjwKryBFV/GDezz7Ge0xu9ZuYC7dy6wKj4hnL0JcxeseCOr/G2JkGylff6hdUBrR+Ee5ApAQeU5g==
-"@types/babel__core@^7.1.0":
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.6.tgz#16ff42a5ae203c9af1c6e190ed1f30f83207b610"
- integrity sha512-tTnhWszAqvXnhW7m5jQU9PomXSiKXk2sFxpahXvI20SZKu9ylPi8WtIxueZ6ehDWikPT0jeFujMj3X4ZHuf3Tg==
+"@types/babel__core@^7.1.0", "@types/babel__core@^7.1.7":
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89"
+ integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==
dependencies:
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
@@ -1375,9 +1323,9 @@
"@babel/types" "^7.0.0"
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
- version "7.0.9"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.9.tgz#be82fab304b141c3eee81a4ce3b034d0eba1590a"
- integrity sha512-jEFQ8L1tuvPjOI8lnpaf73oCJe+aoxL6ygqSy6c8LcW98zaC+4mzWuQIRCEvKeCOu+lbqdXcg4Uqmm1S8AP1tw==
+ version "7.0.11"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.11.tgz#1ae3010e8bf8851d324878b42acec71986486d18"
+ integrity sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==
dependencies:
"@babel/types" "^7.3.0"
@@ -1391,6 +1339,13 @@
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
+"@types/graceful-fs@^4.1.2":
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f"
+ integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==
+ dependencies:
+ "@types/node" "*"
+
"@types/hoist-non-react-statics@^3.3.0":
version "3.3.1"
resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"
@@ -1420,12 +1375,12 @@
"@types/istanbul-lib-report" "*"
"@types/jest@^25.1.4":
- version "25.1.4"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.1.4.tgz#9e9f1e59dda86d3fd56afce71d1ea1b331f6f760"
- integrity sha512-QDDY2uNAhCV7TMCITrxz+MRk1EizcsevzfeS6LykIlq2V1E5oO4wXG8V2ZEd9w7Snxeeagk46YbMgZ8ESHx3sw==
+ version "25.2.1"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.1.tgz#9544cd438607955381c1bdbdb97767a249297db5"
+ integrity sha512-msra1bCaAeEdkSyA0CZ6gW1ukMIvZ5YoJkdXw/qhQdsuuDlFTcEUrUw8CLCPt2rVRUfXlClVvK2gvPs9IokZaA==
dependencies:
- jest-diff "^25.1.0"
- pretty-format "^25.1.0"
+ jest-diff "^25.2.1"
+ pretty-format "^25.2.1"
"@types/json-schema@^7.0.3":
version "7.0.4"
@@ -1447,11 +1402,21 @@
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440"
integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==
+"@types/node@*":
+ version "14.0.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c"
+ integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==
+
"@types/node@13.1.0":
version "13.1.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.0.tgz#225cbaac5fdb2b9ac651b02c070d8aa3c37cc812"
integrity sha512-zwrxviZS08kRX40nqBrmERElF2vpw4IUTd5khkhBTfFH8AOaeoLVx48EC4+ZzS2/Iga7NevncqnsUSYjM4OWYA==
+"@types/normalize-package-data@^2.4.0":
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
+ integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+
"@types/prettier@^1.19.0":
version "1.19.1"
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f"
@@ -1503,9 +1468,9 @@
"@types/react" "*"
"@types/react@*":
- version "16.9.23"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.23.tgz#1a66c6d468ba11a8943ad958a8cb3e737568271c"
- integrity sha512-SsGVT4E7L2wLN3tPYLiF20hmZTPGuzaayVunfgXzUn1x4uHVsKH6QDJQ/TdpHqwsTLd4CwrmQ2vOgxN7gE24gw==
+ version "16.9.35"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.35.tgz#a0830d172e8aadd9bd41709ba2281a3124bbd368"
+ integrity sha512-q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ==
dependencies:
"@types/prop-types" "*"
csstype "^2.2.0"
@@ -1546,9 +1511,9 @@
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
"@types/yargs@^13.0.0":
- version "13.0.8"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz#a38c22def2f1c2068f8971acb3ea734eb3c64a99"
- integrity sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==
+ version "13.0.9"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.9.tgz#44028e974343c7afcf3960f1a2b1099c39a7b5e1"
+ integrity sha512-xrvhZ4DZewMDhoH1utLtOAwYQy60eYFoXeje30TzM3VOvQlBwQaEpKFq5m34k1wOw2AKIi2pwtiAjdmhvlBUzg==
dependencies:
"@types/yargs-parser" "*"
@@ -1689,14 +1654,14 @@ acorn@^6.0.1:
integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
acorn@^7.1.0, acorn@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf"
- integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe"
+ integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==
ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5:
- version "6.12.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7"
- integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==
+ version "6.12.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
+ integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
@@ -1772,11 +1737,6 @@ ansi-regex@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
- integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
-
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -1922,13 +1882,6 @@ assign-symbols@^1.0.0:
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
-assign@>=0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/assign/-/assign-0.1.7.tgz#e63bfe3a887b8630913c27663e4cc9bff1ddd25f"
- integrity sha1-5jv+Ooh7hjCRPCdmPkzJv/Hd0l8=
- dependencies:
- fusing "0.4.x"
-
ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
@@ -1949,11 +1902,6 @@ async-lock@1.2.2:
resolved "https://registry.yarnpkg.com/async-lock/-/async-lock-1.2.2.tgz#480bd51e4b7ffd4debbd4973763718ec9acb9a9e"
integrity sha512-uczz62z2fMWOFbyo6rG4NlV2SdxugJT6sZA2QcfB1XaSjEiOh8CuOb/TttyMnYQCda6nkWecJe465tGQDPJiKw==
-async@0.6.x:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/async/-/async-0.6.2.tgz#41fd038a3812c0a8bc1842ecf08ba63eb0392bef"
- integrity sha1-Qf0DijgSwKi8GELs8IumPrA5K+8=
-
async@^2.4.0:
version "2.6.3"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
@@ -2019,23 +1967,24 @@ babel-jest@24.9.0:
chalk "^2.4.2"
slash "^2.0.0"
-babel-jest@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.2.4.tgz#b21b68d3af8f161c3e6e501e91f0dea8e652e344"
- integrity sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==
+babel-jest@^25.5.1:
+ version "25.5.1"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853"
+ integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==
dependencies:
- "@jest/transform" "^25.2.4"
- "@jest/types" "^25.2.3"
- "@types/babel__core" "^7.1.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.2.1"
+ babel-preset-jest "^25.5.0"
chalk "^3.0.0"
+ graceful-fs "^4.2.4"
slash "^3.0.0"
-babel-plugin-dynamic-import-node@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f"
- integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==
+babel-plugin-dynamic-import-node@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
dependencies:
object.assign "^4.1.0"
@@ -2067,11 +2016,13 @@ babel-plugin-jest-hoist@^24.9.0:
dependencies:
"@types/babel__traverse" "^7.0.6"
-babel-plugin-jest-hoist@^25.2.1:
- version "25.2.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.1.tgz#d0003a1f3d5caa281e1107fe03bbf16b799f9955"
- integrity sha512-HysbCQfJhxLlyxDbKcB2ucGYV0LjqK4h6dBoI3RtFuOxTiTWK6XGZMsHb0tGh8iJdV4hC6Z2GCHzVvDeh9i0lQ==
+babel-plugin-jest-hoist@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677"
+ integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==
dependencies:
+ "@babel/template" "^7.3.3"
+ "@babel/types" "^7.3.3"
"@types/babel__traverse" "^7.0.6"
babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0:
@@ -2079,6 +2030,22 @@ babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0:
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf"
integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==
+babel-preset-current-node-syntax@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6"
+ integrity sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==
+ 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-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.8.3"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
babel-preset-fbjs@^3.1.2, babel-preset-fbjs@^3.2.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz#a6024764ea86c8e06a22d794ca8b69534d263541"
@@ -2120,21 +2087,13 @@ babel-preset-jest@^24.9.0:
"@babel/plugin-syntax-object-rest-spread" "^7.0.0"
babel-plugin-jest-hoist "^24.9.0"
-babel-preset-jest@^25.2.1:
- version "25.2.1"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.2.1.tgz#4ccd0e577f69aa11b71806edfe8b25a5c3ac93a2"
- integrity sha512-zXHJBM5iR8oEO4cvdF83AQqqJf3tJrXy3x8nfu2Nlqvn4cneg4Ca8M7cQvC5S9BzDDy1O0tZ9iXru9J6E3ym+A==
- dependencies:
- "@babel/plugin-syntax-bigint" "^7.0.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
- babel-plugin-jest-hoist "^25.2.1"
-
-back@1.0.x:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/back/-/back-1.0.2.tgz#a93f5e6ce69729984d5901a2bb16e3b01a4d6369"
- integrity sha1-qT9ebOaXKZhNWQGiuxbjsBpNY2k=
+babel-preset-jest@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49"
+ integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==
dependencies:
- xtend "^4.0.0"
+ babel-plugin-jest-hoist "^25.5.0"
+ babel-preset-current-node-syntax "^0.1.2"
balanced-match@^1.0.0:
version "1.0.0"
@@ -2174,7 +2133,7 @@ base@^0.11.1:
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
-basic-auth@~2.0.0:
+basic-auth@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
@@ -2359,17 +2318,6 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-chalk@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
- dependencies:
- ansi-styles "^2.2.1"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -2420,14 +2368,14 @@ cli-cursor@^2.1.0:
restore-cursor "^2.0.0"
cli-spinners@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77"
- integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5"
+ integrity sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==
cli-width@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
- integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
+ integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
cliui@^3.2.0:
version "3.2.0"
@@ -2472,9 +2420,9 @@ code-point-at@^1.0.0:
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
collect-v8-coverage@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1"
- integrity sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ==
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
+ integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
collection-visit@^1.0.0:
version "1.0.0"
@@ -2484,11 +2432,6 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-color-convert@^0.5.0:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd"
- integrity sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=
-
color-convert@^1.9.0, color-convert@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -2513,13 +2456,6 @@ color-name@^1.0.0, color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-color-string@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
- integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=
- dependencies:
- color-name "^1.0.0"
-
color-string@^1.5.2:
version "1.5.3"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
@@ -2533,14 +2469,6 @@ color-support@^1.1.3:
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
-color@0.8.x:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/color/-/color-0.8.0.tgz#890c07c3fd4e649537638911cf691e5458b6fca5"
- integrity sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=
- dependencies:
- color-convert "^0.5.0"
- color-string "^0.3.0"
-
color@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
@@ -2554,19 +2482,6 @@ colorette@^1.0.7:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.1.0.tgz#1f943e5a357fac10b4e0f5aaef3b14cdc1af6ec7"
integrity sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==
-colornames@0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/colornames/-/colornames-0.0.2.tgz#d811fd6c84f59029499a8ac4436202935b92be31"
- integrity sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=
-
-colorspace@1.0.x:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.0.1.tgz#c99c796ed31128b9876a52e1ee5ee03a4a719749"
- integrity sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=
- dependencies:
- color "0.8.x"
- text-hex "0.0.x"
-
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -2575,9 +2490,9 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
delayed-stream "~1.0.0"
command-exists@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291"
- integrity sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==
+ version "1.2.9"
+ resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69"
+ integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==
commander@^2.11.0, commander@^2.12.1, commander@^2.19.0:
version "2.20.3"
@@ -2624,7 +2539,7 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-concat-stream@1.6.2, concat-stream@^1.6.0:
+concat-stream@^1.6.0:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
@@ -2739,9 +2654,9 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
which "^1.2.9"
cross-spawn@^7.0.0:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14"
- integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6"
+ integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==
dependencies:
path-key "^3.1.0"
shebang-command "^2.0.0"
@@ -2758,16 +2673,16 @@ cssom@~0.3.6:
integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
cssstyle@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992"
- integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
+ integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
dependencies:
cssom "~0.3.6"
csstype@^2.2.0:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.9.tgz#05141d0cd557a56b8891394c1911c40c8a98d098"
- integrity sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==
+ version "2.6.10"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b"
+ integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==
damerau-levenshtein@^1.0.4:
version "1.0.6"
@@ -2791,25 +2706,15 @@ data-urls@^1.1.0:
whatwg-url "^7.0.0"
dayjs@^1.8.15:
- version "1.8.22"
- resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.22.tgz#5e835d776b373e216678be8d12c336da71a25a9c"
- integrity sha512-N8IXfxBD62Y9cKTuuuSoOlCXRnnzaTj1vu91r855iq6FbY5cZqOZnW/95nUn6kJiR+W9PHHrLykEoQOe6fUKxQ==
+ version "1.8.26"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.26.tgz#c6d62ccdf058ca72a8d14bb93a23501058db9f1e"
+ integrity sha512-KqtAuIfdNfZR5sJY1Dixr2Is4ZvcCqhb0dZpCOt5dGEFiMzoIbjkTSzUb4QKTCsP+WNpGwUjAFIZrnZvUxxkhw==
debounce@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131"
integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==
-debug@0.7.x:
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
- integrity sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=
-
-debug@0.8.x:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/debug/-/debug-0.8.1.tgz#20ff4d26f5e422cb68a1bacbbb61039ad8c1c130"
- integrity sha1-IP9NJvXkIstoobrLu2EDmtjBwTA=
-
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -2912,6 +2817,11 @@ depd@~1.1.2:
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+depd@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
destroy@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
@@ -2922,24 +2832,15 @@ detect-newline@^3.0.0:
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
-diagnostics@1.0.x:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.0.1.tgz#accdb080c82bb25d0dd73430a9e6a87fbb431541"
- integrity sha1-rM2wgMgrsl0N1zQwqeaof7tDFUE=
- dependencies:
- colorspace "1.0.x"
- enabled "1.0.x"
- kuler "0.0.x"
-
didyoumean@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff"
integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=
-diff-sequences@^25.2.1:
- version "25.2.1"
- resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.1.tgz#fcfe8aa07dd9b0c648396a478dabca8e76c6ab27"
- integrity sha512-foe7dXnGlSh3jR1ovJmdv+77VQj98eKCHHwJPbZ2eEf0fHwKbkZicpPxEch9smZ+n2dnF6QFwkOQdLq9hpeJUg==
+diff-sequences@^25.2.6:
+ version "25.2.6"
+ resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd"
+ integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==
diff@^3.2.0:
version "3.5.0"
@@ -2977,9 +2878,9 @@ doctrine@^3.0.0:
esutils "^2.0.2"
dom-walk@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
- integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
+ integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
domexception@^1.0.1:
version "1.0.1"
@@ -3001,16 +2902,6 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-emits@1.0.x:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/emits/-/emits-1.0.2.tgz#db20ec6668325071c313441e30cfe2a69ea73859"
- integrity sha1-2yDsZmgyUHHDE0QeMM/ipp6nOFk=
-
-emits@3.0.x:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/emits/-/emits-3.0.0.tgz#32752bba95e1707b219562384ab9bb8b1fd62f70"
- integrity sha1-MnUrupXhcHshlWI4Srm7ix/WL3A=
-
emoji-regex@^7.0.1, emoji-regex@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
@@ -3021,13 +2912,6 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-enabled@1.0.x:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/enabled/-/enabled-1.0.2.tgz#965f6513d2c2d1c5f4652b64a2e3396467fc2f93"
- integrity sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=
- dependencies:
- env-variable "0.0.x"
-
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
@@ -3047,15 +2931,10 @@ end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
-env-variable@0.0.x:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.6.tgz#74ab20b3786c545b62b4a4813ab8cf22726c9808"
- integrity sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==
-
envinfo@^7.1.0:
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.0.tgz#91410bb6db262fb4f1409bd506e9ff57e91023f4"
- integrity sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==
+ version "7.5.1"
+ resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.1.tgz#93c26897225a00457c75e734d354ea9106a72236"
+ integrity sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ==
error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
@@ -3072,10 +2951,10 @@ errorhandler@^1.5.0:
accepts "~1.3.7"
escape-html "~1.0.3"
-es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2:
- version "1.17.4"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184"
- integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==
+es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
+ version "1.17.5"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9"
+ integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==
dependencies:
es-to-primitive "^1.2.1"
function-bind "^1.1.1"
@@ -3103,16 +2982,21 @@ escape-html@~1.0.3:
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0:
+escape-string-regexp@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
escodegen@^1.11.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457"
@@ -3169,9 +3053,9 @@ eslint-import-resolver-reactnative@1.0.2:
find-root "^1.0.0"
eslint-module-utils@^2.4.0:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz#7878f7504824e1b857dd2505b59a8e5eda26a708"
- integrity sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q==
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
+ integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
dependencies:
debug "^2.6.9"
pkg-dir "^2.0.0"
@@ -3377,11 +3261,11 @@ esprima@^4.0.0, esprima@^4.0.1:
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esquery@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.1.0.tgz#c5c0b66f383e7656404f86b31334d72524eddb48"
- integrity sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
+ integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
dependencies:
- estraverse "^4.0.0"
+ estraverse "^5.1.0"
esrecurse@^4.1.0:
version "4.2.1"
@@ -3390,17 +3274,22 @@ esrecurse@^4.1.0:
dependencies:
estraverse "^4.1.0"
-estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+estraverse@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
+ integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
+
esutils@^1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375"
integrity sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=
-esutils@^2.0.0, esutils@^2.0.2:
+esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
@@ -3415,11 +3304,6 @@ event-target-shim@^5.0.0, event-target-shim@^5.0.1:
resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
-eventemitter3@1.2.x:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
- integrity sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=
-
eventemitter3@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
@@ -3495,17 +3379,17 @@ expand-brackets@^2.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-expect@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/expect/-/expect-25.2.4.tgz#b66e0777c861034ebc21730bb34e1839d5d46806"
- integrity sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA==
+expect@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba"
+ integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==
dependencies:
- "@jest/types" "^25.2.3"
+ "@jest/types" "^25.5.0"
ansi-styles "^4.0.0"
- jest-get-type "^25.2.1"
- jest-matcher-utils "^25.2.3"
- jest-message-util "^25.2.4"
- jest-regex-util "^25.2.1"
+ jest-get-type "^25.2.6"
+ jest-matcher-utils "^25.5.0"
+ jest-message-util "^25.5.0"
+ jest-regex-util "^25.2.6"
extend-shallow@^1.1.2:
version "1.1.4"
@@ -3534,11 +3418,6 @@ extend@~3.0.2:
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-extendible@0.1.x:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/extendible/-/extendible-0.1.1.tgz#e2a37ed87129fb4f9533e8a8d7506230a539c905"
- integrity sha1-4qN+2HEp+0+VM+io11BiMKU5yQU=
-
external-editor@^2.0.4:
version "2.2.0"
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
@@ -3571,21 +3450,6 @@ extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-extract-github@0.0.x:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/extract-github/-/extract-github-0.0.5.tgz#f542536db8c19b983a3bec9db96d2ef2a5ff1a86"
- integrity sha1-9UJTbbjBm5g6O+yduW0u8qX/GoY=
-
-extract-zip@^1.6.7:
- version "1.6.7"
- resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9"
- integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=
- dependencies:
- concat-stream "1.6.2"
- debug "2.6.9"
- mkdirp "0.5.1"
- yauzl "2.4.1"
-
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
@@ -3686,13 +3550,6 @@ fbjs@^1.0.0:
setimmediate "^1.0.5"
ua-parser-js "^0.7.18"
-fd-slicer@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
- integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=
- dependencies:
- pend "~1.2.0"
-
figures@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
@@ -3788,9 +3645,9 @@ flat-cache@^2.0.1:
write "1.0.3"
flatted@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
- integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
+ integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
follow-redirects@1.5.10:
version "1.5.10"
@@ -3854,17 +3711,17 @@ fs.realpath@^1.0.0:
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@^1.2.7:
- version "1.2.11"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.11.tgz#67bf57f4758f02ede88fb2a1712fef4d15358be3"
- integrity sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
+ integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
dependencies:
bindings "^1.5.0"
nan "^2.12.1"
fsevents@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
- integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
function-bind@^1.1.1:
version "1.1.1"
@@ -3876,29 +3733,6 @@ functional-red-black-tree@^1.0.1:
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-fusing@0.2.x:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/fusing/-/fusing-0.2.3.tgz#d0eefaf985d2bafded44af8b185316f6e429e1db"
- integrity sha1-0O76+YXSuv3tRK+LGFMW9uQp4ds=
- dependencies:
- predefine "0.1.x"
-
-fusing@0.4.x:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/fusing/-/fusing-0.4.0.tgz#c99068f54ca3e11dc0118902152abf367aba4a4d"
- integrity sha1-yZBo9Uyj4R3AEYkCFSq/Nnq6Sk0=
- dependencies:
- emits "1.0.x"
- predefine "0.1.x"
-
-fusing@1.0.x:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fusing/-/fusing-1.0.0.tgz#550c15d76af9265778aa051ece44d4000a098d45"
- integrity sha1-VQwV12r5Jld4qgUezkTUAAoJjUU=
- dependencies:
- emits "3.0.x"
- predefine "0.1.x"
-
gensync@^1.0.0-beta.1:
version "1.0.0-beta.1"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
@@ -3945,19 +3779,10 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
-githulk@0.0.x:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/githulk/-/githulk-0.0.7.tgz#d96ca29f0ec43117c538e521d663566ea84b4eff"
- integrity sha1-2Wyinw7EMRfFOOUh1mNWbqhLTv8=
- dependencies:
- debug "0.7.x"
- extract-github "0.0.x"
- mana "0.1.x"
-
glob-parent@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2"
- integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
+ integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
dependencies:
is-glob "^4.0.1"
@@ -3998,10 +3823,10 @@ globals@^11.1.0, globals@^11.7.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
- integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.4:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
+ integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
growly@^1.3.0:
version "1.3.0"
@@ -4026,13 +3851,6 @@ har-validator@~5.1.3:
ajv "^6.5.5"
har-schema "^2.0.0"
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
- dependencies:
- ansi-regex "^2.0.0"
-
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -4121,9 +3939,9 @@ html-encoding-sniffer@^1.0.2:
whatwg-encoding "^1.0.1"
html-escaper@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491"
- integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
+ integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
http-errors@~1.7.2:
version "1.7.3"
@@ -4363,6 +4181,11 @@ is-directory@^0.3.1:
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
+is-docker@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"
+ integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==
+
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -4428,11 +4251,6 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
-is-promise@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
- integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
-
is-regex@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae"
@@ -4478,9 +4296,11 @@ is-wsl@^1.1.0:
integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
is-wsl@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d"
- integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
isarray@0.0.1:
version "0.0.1"
@@ -4546,14 +4366,11 @@ istanbul-lib-instrument@^3.3.0:
semver "^6.0.0"
istanbul-lib-instrument@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6"
- integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
+ integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
dependencies:
"@babel/core" "^7.7.5"
- "@babel/parser" "^7.7.5"
- "@babel/template" "^7.7.4"
- "@babel/traverse" "^7.7.4"
"@istanbuljs/schema" "^0.1.2"
istanbul-lib-coverage "^3.0.0"
semver "^6.3.0"
@@ -4576,121 +4393,123 @@ istanbul-lib-source-maps@^4.0.0:
istanbul-lib-coverage "^3.0.0"
source-map "^0.6.1"
-istanbul-reports@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.1.tgz#1343217244ad637e0c3b18e7f6b746941a9b5e9a"
- integrity sha512-Vm9xwCiQ8t2cNNnckyeAV0UdxKpcQUz4nMxsBvIu8n2kmPSiyb5uaF/8LpmKr+yqL/MdOXaX2Nmdo4Qyxium9Q==
+istanbul-reports@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b"
+ integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==
dependencies:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
-jest-changed-files@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.2.3.tgz#ad19deef9e47ba37efb432d2c9a67dfd97cc78af"
- integrity sha512-EFxy94dvvbqRB36ezIPLKJ4fDIC+jAdNs8i8uTwFpaXd6H3LVc3ova1lNS4ZPWk09OCR2vq5kSdSQgar7zMORg==
+jest-changed-files@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c"
+ integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==
dependencies:
- "@jest/types" "^25.2.3"
+ "@jest/types" "^25.5.0"
execa "^3.2.0"
throat "^5.0.0"
-jest-cli@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.2.4.tgz#021c2383904696597abc060dcb133c82ebd8bfcc"
- integrity sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg==
+jest-cli@^25.5.4:
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d"
+ integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==
dependencies:
- "@jest/core" "^25.2.4"
- "@jest/test-result" "^25.2.4"
- "@jest/types" "^25.2.3"
+ "@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.2.4"
- jest-util "^25.2.3"
- jest-validate "^25.2.3"
+ 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"
-jest-config@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.2.4.tgz#f4f33238979f225683179c89d1e402893008975d"
- integrity sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ==
+jest-config@^25.5.4:
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c"
+ integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==
dependencies:
"@babel/core" "^7.1.0"
- "@jest/test-sequencer" "^25.2.4"
- "@jest/types" "^25.2.3"
- babel-jest "^25.2.4"
+ "@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"
- jest-environment-jsdom "^25.2.4"
- jest-environment-node "^25.2.4"
- jest-get-type "^25.2.1"
- jest-jasmine2 "^25.2.4"
- jest-regex-util "^25.2.1"
- jest-resolve "^25.2.3"
- jest-util "^25.2.3"
- jest-validate "^25.2.3"
+ 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.2.3"
+ pretty-format "^25.5.0"
realpath-native "^2.0.0"
-jest-diff@^25.1.0, jest-diff@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.2.3.tgz#54d601a0a754ef26e808a8c8dbadd278c215aa3f"
- integrity sha512-VtZ6LAQtaQpFsmEzps15dQc5ELbJxy4L2DOSo2Ev411TUEtnJPkAMD7JneVypeMJQ1y3hgxN9Ao13n15FAnavg==
+jest-diff@^25.2.1, jest-diff@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9"
+ integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==
dependencies:
chalk "^3.0.0"
- diff-sequences "^25.2.1"
- jest-get-type "^25.2.1"
- pretty-format "^25.2.3"
+ diff-sequences "^25.2.6"
+ jest-get-type "^25.2.6"
+ pretty-format "^25.5.0"
jest-docblock@^21.0.0:
version "21.2.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414"
integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==
-jest-docblock@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.2.3.tgz#ac45280c43d59e7139f9fbe5896c6e0320c01ebb"
- integrity sha512-d3/tmjLLrH5fpRGmIm3oFa3vOaD/IjPxtXVOrfujpfJ9y1tCDB1x/tvunmdOVAyF03/xeMwburl6ITbiQT1mVA==
+jest-docblock@^25.3.0:
+ version "25.3.0"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef"
+ integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==
dependencies:
detect-newline "^3.0.0"
-jest-each@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.2.3.tgz#64067ba1508ebbd07e9b126c173ab371e8e6309d"
- integrity sha512-RTlmCjsBDK2c9T5oO4MqccA3/5Y8BUtiEy7OOQik1iyCgdnNdHbI0pNEpyapZPBG0nlvZ4mIu7aY6zNUvLraAQ==
+jest-each@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516"
+ integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==
dependencies:
- "@jest/types" "^25.2.3"
+ "@jest/types" "^25.5.0"
chalk "^3.0.0"
- jest-get-type "^25.2.1"
- jest-util "^25.2.3"
- pretty-format "^25.2.3"
-
-jest-environment-jsdom@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz#f2783541d0538b1bc43641703372cea6a2e83611"
- integrity sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA==
- dependencies:
- "@jest/environment" "^25.2.4"
- "@jest/fake-timers" "^25.2.4"
- "@jest/types" "^25.2.3"
- jest-mock "^25.2.3"
- jest-util "^25.2.3"
+ jest-get-type "^25.2.6"
+ jest-util "^25.5.0"
+ pretty-format "^25.5.0"
+
+jest-environment-jsdom@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834"
+ integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==
+ 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"
-jest-environment-node@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.2.4.tgz#dc211dfb0d8b66dfc1965a8f846e72e54ff0c430"
- integrity sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw==
+jest-environment-node@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1"
+ integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==
dependencies:
- "@jest/environment" "^25.2.4"
- "@jest/fake-timers" "^25.2.4"
- "@jest/types" "^25.2.3"
- jest-mock "^25.2.3"
- jest-util "^25.2.3"
+ "@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"
jest-fetch-mock@3.0.3:
@@ -4706,10 +4525,10 @@ jest-get-type@^24.9.0:
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e"
integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==
-jest-get-type@^25.2.1:
- version "25.2.1"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.1.tgz#6c83de603c41b1627e6964da2f5454e6aa3c13a6"
- integrity sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==
+jest-get-type@^25.2.6:
+ version "25.2.6"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877"
+ integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==
jest-haste-map@^24.7.1, jest-haste-map@^24.9.0:
version "24.9.0"
@@ -4730,18 +4549,19 @@ jest-haste-map@^24.7.1, jest-haste-map@^24.9.0:
optionalDependencies:
fsevents "^1.2.7"
-jest-haste-map@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.2.3.tgz#2649392b5af191f0167a27bfb62e5d96d7eaaade"
- integrity sha512-pAP22OHtPr4qgZlJJFks2LLgoQUr4XtM1a+F5UaPIZNiCRnePA0hM3L7aiJ0gzwiNIYwMTfKRwG/S1L28J3A3A==
+jest-haste-map@^25.5.1:
+ version "25.5.1"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943"
+ integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==
dependencies:
- "@jest/types" "^25.2.3"
+ "@jest/types" "^25.5.0"
+ "@types/graceful-fs" "^4.1.2"
anymatch "^3.0.3"
fb-watchman "^2.0.0"
- graceful-fs "^4.2.3"
- jest-serializer "^25.2.1"
- jest-util "^25.2.3"
- jest-worker "^25.2.1"
+ 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"
@@ -4749,46 +4569,46 @@ jest-haste-map@^25.2.3:
optionalDependencies:
fsevents "^2.1.2"
-jest-jasmine2@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz#5f77de83e1027f0c7588137055a80da773872374"
- integrity sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA==
+jest-jasmine2@^25.5.4:
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968"
+ integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==
dependencies:
"@babel/traverse" "^7.1.0"
- "@jest/environment" "^25.2.4"
- "@jest/source-map" "^25.2.1"
- "@jest/test-result" "^25.2.4"
- "@jest/types" "^25.2.3"
+ "@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.2.4"
+ expect "^25.5.0"
is-generator-fn "^2.0.0"
- jest-each "^25.2.3"
- jest-matcher-utils "^25.2.3"
- jest-message-util "^25.2.4"
- jest-runtime "^25.2.4"
- jest-snapshot "^25.2.4"
- jest-util "^25.2.3"
- pretty-format "^25.2.3"
+ 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"
-jest-leak-detector@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.2.3.tgz#4cf39f137925e0061c04c24ca65cae36465f0238"
- integrity sha512-yblCMPE7NJKl7778Cf/73yyFWAas5St0iiEBwq7RDyaz6Xd4WPFnPz2j7yDb/Qce71A1IbDoLADlcwD8zT74Aw==
+jest-leak-detector@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb"
+ integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==
dependencies:
- jest-get-type "^25.2.1"
- pretty-format "^25.2.3"
+ jest-get-type "^25.2.6"
+ pretty-format "^25.5.0"
-jest-matcher-utils@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.2.3.tgz#59285bd6d6c810debc9caa585ed985e46a3f28fd"
- integrity sha512-ZmiXiwQRVM9MoKjGMP5YsGGk2Th5ncyRxfXKz5AKsmU8m43kgNZirckVzaP61MlSa9LKmXbevdYqVp1ZKAw2Rw==
+jest-matcher-utils@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867"
+ integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==
dependencies:
chalk "^3.0.0"
- jest-diff "^25.2.3"
- jest-get-type "^25.2.1"
- pretty-format "^25.2.3"
+ jest-diff "^25.5.0"
+ jest-get-type "^25.2.6"
+ pretty-format "^25.5.0"
jest-message-util@^24.9.0:
version "24.9.0"
@@ -4804,16 +4624,16 @@ jest-message-util@^24.9.0:
slash "^2.0.0"
stack-utils "^1.0.1"
-jest-message-util@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.2.4.tgz#b1441b9c82f5c11fc661303cbf200a2f136a7762"
- integrity sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q==
+jest-message-util@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea"
+ integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==
dependencies:
"@babel/code-frame" "^7.0.0"
- "@jest/test-result" "^25.2.4"
- "@jest/types" "^25.2.3"
+ "@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"
@@ -4825,12 +4645,12 @@ jest-mock@^24.9.0:
dependencies:
"@jest/types" "^24.9.0"
-jest-mock@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.2.3.tgz#b37a581f59d61bd91db27a99bf7eb8b3e5e993d5"
- integrity sha512-xlf+pyY0j47zoCs8zGGOGfWyxxLximE8YFOfEK8s4FruR8DtM/UjNj61um+iDuMAFEBDe1bhCXkqiKoCmWjJzg==
+jest-mock@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a"
+ integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==
dependencies:
- "@jest/types" "^25.2.3"
+ "@jest/types" "^25.5.0"
jest-pnp-resolver@^1.2.1:
version "1.2.1"
@@ -4842,83 +4662,87 @@ jest-regex-util@^24.9.0:
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636"
integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==
-jest-regex-util@^25.2.1:
- version "25.2.1"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.1.tgz#db64b0d15cd3642c93b7b9627801d7c518600584"
- integrity sha512-wroFVJw62LdqTdkL508ZLV82FrJJWVJMIuYG7q4Uunl1WAPTf4ftPKrqqfec4SvOIlvRZUdEX2TFpWR356YG/w==
+jest-regex-util@^25.2.6:
+ version "25.2.6"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964"
+ integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==
-jest-resolve-dependencies@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz#2d904400387d74a366dff54badb40a2b3210e733"
- integrity sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg==
+jest-resolve-dependencies@^25.5.4:
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7"
+ integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==
dependencies:
- "@jest/types" "^25.2.3"
- jest-regex-util "^25.2.1"
- jest-snapshot "^25.2.4"
+ "@jest/types" "^25.5.0"
+ jest-regex-util "^25.2.6"
+ jest-snapshot "^25.5.1"
-jest-resolve@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.2.3.tgz#ababeaf2bb948cb6d2dea8453759116da0fb7842"
- integrity sha512-1vZMsvM/DBH258PnpUNSXIgtzpYz+vCVCj9+fcy4akZl4oKbD+9hZSlfe9RIDpU0Fc28ozHQrmwX3EqFRRIHGg==
+jest-resolve@^25.5.1:
+ version "25.5.1"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829"
+ integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==
dependencies:
- "@jest/types" "^25.2.3"
+ "@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.15.1"
+ resolve "^1.17.0"
+ slash "^3.0.0"
-jest-runner@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.2.4.tgz#d0daf7c56b4a83b6b675863d5cdcd502c960f9a1"
- integrity sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA==
+jest-runner@^25.5.4:
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d"
+ integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==
dependencies:
- "@jest/console" "^25.2.3"
- "@jest/environment" "^25.2.4"
- "@jest/test-result" "^25.2.4"
- "@jest/types" "^25.2.3"
+ "@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.3"
- jest-config "^25.2.4"
- jest-docblock "^25.2.3"
- jest-haste-map "^25.2.3"
- jest-jasmine2 "^25.2.4"
- jest-leak-detector "^25.2.3"
- jest-message-util "^25.2.4"
- jest-resolve "^25.2.3"
- jest-runtime "^25.2.4"
- jest-util "^25.2.3"
- jest-worker "^25.2.1"
+ 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"
-jest-runtime@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.2.4.tgz#c66a421e115944426b377a7fd331f6c0902cfa56"
- integrity sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q==
- dependencies:
- "@jest/console" "^25.2.3"
- "@jest/environment" "^25.2.4"
- "@jest/source-map" "^25.2.1"
- "@jest/test-result" "^25.2.4"
- "@jest/transform" "^25.2.4"
- "@jest/types" "^25.2.3"
+jest-runtime@^25.5.4:
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab"
+ integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==
+ 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.3"
- jest-config "^25.2.4"
- jest-haste-map "^25.2.3"
- jest-message-util "^25.2.4"
- jest-mock "^25.2.3"
- jest-regex-util "^25.2.1"
- jest-resolve "^25.2.3"
- jest-snapshot "^25.2.4"
- jest-util "^25.2.3"
- jest-validate "^25.2.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"
@@ -4929,29 +4753,32 @@ jest-serializer@^24.4.0, jest-serializer@^24.9.0:
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73"
integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==
-jest-serializer@^25.2.1:
- version "25.2.1"
- resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.2.1.tgz#51727a5fc04256f461abe0fa024a022ba165877a"
- integrity sha512-fibDi7M5ffx6c/P66IkvR4FKkjG5ldePAK1WlbNoaU4GZmIAkS9Le/frAwRUFEX0KdnisSPWf+b1RC5jU7EYJQ==
+jest-serializer@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b"
+ integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==
+ dependencies:
+ graceful-fs "^4.2.4"
-jest-snapshot@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.2.4.tgz#08d4517579c864df4280bcc948ceea34327a4ded"
- integrity sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA==
+jest-snapshot@^25.5.1:
+ version "25.5.1"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f"
+ integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==
dependencies:
"@babel/types" "^7.0.0"
- "@jest/types" "^25.2.3"
+ "@jest/types" "^25.5.0"
"@types/prettier" "^1.19.0"
chalk "^3.0.0"
- expect "^25.2.4"
- jest-diff "^25.2.3"
- jest-get-type "^25.2.1"
- jest-matcher-utils "^25.2.3"
- jest-message-util "^25.2.4"
- jest-resolve "^25.2.3"
+ 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.2.3"
+ pretty-format "^25.5.0"
semver "^6.3.0"
jest-util@^24.9.0:
@@ -4972,13 +4799,14 @@ jest-util@^24.9.0:
slash "^2.0.0"
source-map "^0.6.0"
-jest-util@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.2.3.tgz#0abf95a1d6b96f2de5a3ecd61b36c40a182dc256"
- integrity sha512-7tWiMICVSo9lNoObFtqLt9Ezt5exdFlWs5fLe1G4XLY2lEbZc814cw9t4YHScqBkWMfzth8ASHKlYBxiX2rdCw==
+jest-util@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0"
+ integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==
dependencies:
- "@jest/types" "^25.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"
@@ -4994,28 +4822,28 @@ jest-validate@^24.7.0:
leven "^3.1.0"
pretty-format "^24.9.0"
-jest-validate@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.2.3.tgz#ecb0f093cf8ae71d15075fb48439b6f78f1fcb5a"
- integrity sha512-GObn91jzU0B0Bv4cusAwjP6vnWy78hJUM8MOSz7keRfnac/ZhQWIsUjvk01IfeXNTemCwgR57EtdjQMzFZGREg==
+jest-validate@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a"
+ integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==
dependencies:
- "@jest/types" "^25.2.3"
+ "@jest/types" "^25.5.0"
camelcase "^5.3.1"
chalk "^3.0.0"
- jest-get-type "^25.2.1"
+ jest-get-type "^25.2.6"
leven "^3.1.0"
- pretty-format "^25.2.3"
+ pretty-format "^25.5.0"
-jest-watcher@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.2.4.tgz#dda85b914d470fa4145164a8f70bda4f208bafb6"
- integrity sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg==
+jest-watcher@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456"
+ integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==
dependencies:
- "@jest/test-result" "^25.2.4"
- "@jest/types" "^25.2.3"
+ "@jest/test-result" "^25.5.0"
+ "@jest/types" "^25.5.0"
ansi-escapes "^4.2.1"
chalk "^3.0.0"
- jest-util "^25.2.3"
+ jest-util "^25.5.0"
string-length "^3.1.0"
jest-worker@^24.6.0, jest-worker@^24.9.0:
@@ -5026,22 +4854,22 @@ jest-worker@^24.6.0, jest-worker@^24.9.0:
merge-stream "^2.0.0"
supports-color "^6.1.0"
-jest-worker@^25.2.1:
- version "25.2.1"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.2.1.tgz#209617015c768652646aa33a7828cc2ab472a18a"
- integrity sha512-IHnpekk8H/hCUbBlfeaPZzU6v75bqwJp3n4dUrQuQOAgOneI4tx3jV2o8pvlXnDfcRsfkFIUD//HWXpCmR+evQ==
+jest-worker@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1"
+ integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==
dependencies:
merge-stream "^2.0.0"
supports-color "^7.0.0"
jest@^25.2.4:
- version "25.2.4"
- resolved "https://registry.yarnpkg.com/jest/-/jest-25.2.4.tgz#d10941948a2b57eb7accc2e7ae78af4a0e11b40a"
- integrity sha512-Lu4LXxf4+durzN/IFilcAoQSisOwgHIXgl9vffopePpSSwFqfj1Pj4y+k3nL8oTbnvjxgDIsEcepy6he4bWqnQ==
+ version "25.5.4"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db"
+ integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==
dependencies:
- "@jest/core" "^25.2.4"
+ "@jest/core" "^25.5.4"
import-local "^3.0.2"
- jest-cli "^25.2.4"
+ jest-cli "^25.5.4"
jetifier@^1.6.2:
version "1.6.5"
@@ -5145,17 +4973,10 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-json5@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6"
- integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==
- dependencies:
- minimist "^1.2.0"
-
-json5@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.2.tgz#43ef1f0af9835dd624751a6b7fa48874fb2d608e"
- integrity sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==
+json5@^2.1.0, json5@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
+ integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
dependencies:
minimist "^1.2.5"
@@ -5189,9 +5010,9 @@ jsprim@^1.2.2:
verror "1.10.0"
jsrsasign@^8.0.14:
- version "8.0.14"
- resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-8.0.14.tgz#6d5385fd97a9b9064c16fc859884cb7f776a4302"
- integrity sha512-W2kger4StyvK5UWD5HCaSmOiJZXLgFflQYPlNtRC6zxu81QWBoW2A7kZvsWO1C5kqpxXL/7z4Mq7vWv/BsvGaA==
+ version "8.0.15"
+ resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-8.0.15.tgz#0d56856efa75fad84b578655249700f500388112"
+ integrity sha512-6UKHqnNs5lYROn03wf1BTw7DQx5tW616DTigjbo0JHV97D3HzIqYmPVCBSNsfEfQOrfpFqmPZJvaC3cMNOT0Yw==
jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.1.0:
version "2.2.3"
@@ -5242,13 +5063,6 @@ kleur@^3.0.3:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-kuler@0.0.x:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/kuler/-/kuler-0.0.0.tgz#b66bb46b934e550f59d818848e0abba4f7f5553c"
- integrity sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=
- dependencies:
- colornames "0.0.2"
-
latlon-geohash@02.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/latlon-geohash/-/latlon-geohash-2.0.0.tgz#2b0203ab30ef56a18600b0312b8c3a627cbd17d1"
@@ -5281,16 +5095,10 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
-licenses@0.0.x:
- version "0.0.20"
- resolved "https://registry.yarnpkg.com/licenses/-/licenses-0.0.20.tgz#f18a57b26a78eaf28a873e2a378a33e81f59d136"
- integrity sha1-8YpXsmp46vKKhz4qN4oz6B9Z0TY=
- dependencies:
- async "0.6.x"
- debug "0.8.x"
- fusing "0.2.x"
- githulk "0.0.x"
- npm-registry "0.1.x"
+lines-and-columns@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
load-json-file@^2.0.0:
version "2.0.0"
@@ -5372,6 +5180,15 @@ log-symbols@^2.2.0:
dependencies:
chalk "^2.0.1"
+logkitty@0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7"
+ integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==
+ dependencies:
+ ansi-fragments "^0.2.1"
+ dayjs "^1.8.15"
+ yargs "^15.1.0"
+
logkitty@^0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.6.1.tgz#fe29209669d261539cbd6bb998a136fc92a1a05c"
@@ -5395,11 +5212,16 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
-lottie-ios@03.1.6, lottie-ios@^3.1.3:
+lottie-ios@03.1.6:
version "3.1.6"
resolved "https://registry.yarnpkg.com/lottie-ios/-/lottie-ios-3.1.6.tgz#e70481f161666caf9f7ed9dba5ac715bc7ad8908"
integrity sha512-pnwkPpM3e6CiHY/Mc1eXlDEfvv/CW9jx/TNsX/JWABVF0RiyEidQd8uXBiu5GUxY813pZJN53+k+/cOiAufE5A==
+lottie-ios@^3.1.3:
+ version "3.1.8"
+ resolved "https://registry.yarnpkg.com/lottie-ios/-/lottie-ios-3.1.8.tgz#2e9b1f4eae0dfc10bf4c0b3ab6b402c1d590d0fa"
+ integrity sha512-9bgiVn1n+zqWjDPTk4MVWXA+DgVa91payxV2jz8B2dsDFqWtjEqTZaaVo5IqNUExsaC5XkRbziExtTOtzd39tQ==
+
lottie-react-native@03.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/lottie-react-native/-/lottie-react-native-3.3.2.tgz#de832d4d3207e4e5c92a55ec4cf0ce0fd03e02f3"
@@ -5427,9 +5249,9 @@ make-dir@^2.0.0, make-dir@^2.1.0:
semver "^5.6.0"
make-dir@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392"
- integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
dependencies:
semver "^6.0.0"
@@ -5440,19 +5262,6 @@ makeerror@1.0.x:
dependencies:
tmpl "1.0.x"
-mana@0.1.x:
- version "0.1.41"
- resolved "https://registry.yarnpkg.com/mana/-/mana-0.1.41.tgz#7cb13f73218668654229635c4fc5b17e26f93b7d"
- integrity sha1-fLE/cyGGaGVCKWNcT8Wxfib5O30=
- dependencies:
- assign ">=0.1.7"
- back "1.0.x"
- diagnostics "1.0.x"
- eventemitter3 "1.2.x"
- fusing "1.0.x"
- millisecond "0.1.x"
- request "2.x.x"
-
map-age-cleaner@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
@@ -5995,15 +5804,10 @@ micromatch@^4.0.2:
braces "^3.0.1"
picomatch "^2.0.5"
-millisecond@0.1.x:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/millisecond/-/millisecond-0.1.2.tgz#6cc5ad386241cab8e78aff964f87028eec92dac5"
- integrity sha1-bMWtOGJByrjniv+WT4cCjuyS2sU=
-
-mime-db@1.43.0, "mime-db@>= 1.43.0 < 2":
- version "1.43.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
- integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
+mime-db@1.44.0, "mime-db@>= 1.43.0 < 2":
+ version "1.44.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
+ integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
mime-db@~1.23.0:
version "1.23.0"
@@ -6018,11 +5822,11 @@ mime-types@2.1.11:
mime-db "~1.23.0"
mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24:
- version "2.1.26"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
- integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
+ version "2.1.27"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
+ integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
dependencies:
- mime-db "1.43.0"
+ mime-db "1.44.0"
mime@1.6.0:
version "1.6.0"
@@ -6030,9 +5834,9 @@ mime@1.6.0:
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
mime@^2.4.1:
- version "2.4.4"
- resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
- integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
+ version "2.4.5"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.5.tgz#d8de2ecb92982dedbb6541c9b6841d7f218ea009"
+ integrity sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==
mimic-fn@^1.0.0:
version "1.2.0"
@@ -6058,11 +5862,6 @@ minimatch@^3.0.2, minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
-minimist@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
- integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
-
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
@@ -6076,12 +5875,12 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mkdirp@0.5.1, mkdirp@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
- integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
+mkdirp@^0.5.1:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
dependencies:
- minimist "0.0.8"
+ minimist "^1.2.5"
mock-async-storage@2.2.0:
version "2.2.0"
@@ -6097,21 +5896,26 @@ moment-timezone@0.5.28:
dependencies:
moment ">= 2.9.0"
-moment@2.24.0, "moment@>= 2.9.0":
+moment@2.24.0:
version "2.24.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
+"moment@>= 2.9.0":
+ version "2.25.3"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.25.3.tgz#252ff41319cf41e47761a1a88cab30edfe9808c0"
+ integrity sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==
+
morgan@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59"
- integrity sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"
+ integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==
dependencies:
- basic-auth "~2.0.0"
+ basic-auth "~2.0.1"
debug "2.6.9"
- depd "~1.1.2"
+ depd "~2.0.0"
on-finished "~2.3.0"
- on-headers "~1.0.1"
+ on-headers "~1.0.2"
ms@2.0.0:
version "2.0.0"
@@ -6134,15 +5938,20 @@ mute-stream@0.0.7:
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
nan@^2.12.1:
- version "2.14.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
- integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
+ version "2.14.1"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
+ integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
nanoid@^2.1.0:
version "2.1.11"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
+nanoid@^3.1.5:
+ version "3.1.7"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.7.tgz#3705ccf590b6a51fbd1794fcf204ce7b5dc46c01"
+ integrity sha512-ruOwuatdEf4BxQmZopZqhIMudQ9V83aKocr+q2Y7KasnDNvo2OgbgZBYago5hSD0tCmoSl4flIw9ytDLIVM2IQ==
+
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -6220,7 +6029,7 @@ node-notifier@^6.0.0:
shellwords "^0.1.1"
which "^1.3.1"
-normalize-package-data@^2.3.2:
+normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -6242,17 +6051,6 @@ normalize-path@^3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-npm-registry@0.1.x, npm-registry@^0.1.13:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/npm-registry/-/npm-registry-0.1.13.tgz#9e5d8b2fdfc1ab5990d47f7debbe231d79a9e822"
- integrity sha1-nl2LL9/Bq1mQ1H99674jHXmp6CI=
- dependencies:
- debug "0.8.x"
- extract-github "0.0.x"
- licenses "0.0.x"
- mana "0.1.x"
- semver "2.2.x"
-
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
@@ -6375,7 +6173,7 @@ on-finished@~2.3.0:
dependencies:
ee-first "1.1.1"
-on-headers@~1.0.1, on-headers@~1.0.2:
+on-headers@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
@@ -6498,9 +6296,9 @@ p-limit@^1.1.0:
p-try "^1.0.0"
p-limit@^2.0.0, p-limit@^2.2.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e"
- integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
dependencies:
p-try "^2.0.0"
@@ -6557,6 +6355,16 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
+parse-json@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f"
+ integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+ lines-and-columns "^1.1.6"
+
parse-node-version@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
@@ -6626,11 +6434,6 @@ pegjs@^0.10.0:
resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd"
integrity sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=
-pend@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
- integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
-
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
@@ -6732,13 +6535,6 @@ posix-character-classes@^0.1.0:
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
-predefine@0.1.x:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/predefine/-/predefine-0.1.2.tgz#2aa92b4496bc1f8554e43a45f76bfbe50d33d37f"
- integrity sha1-KqkrRJa8H4VU5DpF92v75Q0z038=
- dependencies:
- extendible "0.1.x"
-
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -6759,22 +6555,12 @@ pretty-format@^24.7.0, pretty-format@^24.9.0:
ansi-styles "^3.2.0"
react-is "^16.8.4"
-pretty-format@^25.1.0:
- version "25.1.0"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.1.0.tgz#ed869bdaec1356fc5ae45de045e2c8ec7b07b0c8"
- integrity sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==
- dependencies:
- "@jest/types" "^25.1.0"
- ansi-regex "^5.0.0"
- ansi-styles "^4.0.0"
- react-is "^16.12.0"
-
-pretty-format@^25.2.3:
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.2.3.tgz#ba6e9603a0d80fa2e470b1fed55de1f9bfd81421"
- integrity sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==
+pretty-format@^25.1.0, pretty-format@^25.2.1, pretty-format@^25.5.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a"
+ integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==
dependencies:
- "@jest/types" "^25.2.3"
+ "@jest/types" "^25.5.0"
ansi-regex "^5.0.0"
ansi-styles "^4.0.0"
react-is "^16.12.0"
@@ -6812,14 +6598,6 @@ promise@^7.1.1:
asap "~2.0.3"
prompts@^2.0.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.1.tgz#b63a9ce2809f106fa9ae1277c275b167af46ea05"
- integrity sha512-qIP2lQyCwYbdzcqHIUi2HAxiWixhoM9OdLCWf8txXsapC/X9YdsCoeyRIXE/GP+Q0J37Q7+XN/MFqbUa7IzXNA==
- dependencies:
- kleur "^3.0.3"
- sisteransi "^1.0.4"
-
-prompts@^2.3.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068"
integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==
@@ -6842,9 +6620,9 @@ pseudomap@^1.0.2:
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
psl@^1.1.28:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c"
- integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+ integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
pump@^3.0.0:
version "3.0.0"
@@ -6864,15 +6642,20 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-query-string@^6.10.1:
- version "6.11.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.11.1.tgz#ab021f275d463ce1b61e88f0ce6988b3e8fe7c2c"
- integrity sha512-1ZvJOUl8ifkkBxu2ByVM/8GijMIPx+cef7u3yroO3Ogm4DOdZcF5dcrWTIlSHe3Pg/mtlt6/eFjObDfJureZZA==
+query-string@^6.12.1:
+ version "6.12.1"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.12.1.tgz#2ae4d272db4fba267141665374e49a1de09e8a7c"
+ integrity sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA==
dependencies:
decode-uri-component "^0.2.0"
split-on-first "^1.0.0"
strict-uri-encode "^2.0.0"
+random-location@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/random-location/-/random-location-1.1.3.tgz#b33e236f86588a710f4aff686b63e0595f79828e"
+ integrity sha512-+9SZa8R0JTfjrdgImCyq4TJRDzGHfUM9qghsA3D7zrMnUaQVn/xIDtFI+yPegJGO7KuIkduNlL8JXqu3M7Au7w==
+
range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
@@ -6891,10 +6674,10 @@ react-devtools-core@^3.6.3:
shell-quote "^1.6.1"
ws "^3.3.1"
-react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0:
- version "16.13.0"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527"
- integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA==
+react-is@^16.12.0, react-is@^16.13.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-native-animatable@1.3.3:
version "1.3.3"
@@ -7010,26 +6793,25 @@ react-native-sha1@1.2.3:
"react-native-splash-screen@https://github.com/greenyossi/react-native-splash-screen.git":
version "3.4.0"
- resolved "https://github.com/greenyossi/react-native-splash-screen.git#cf4cabb8e5269a18a764d8bfc7e66c737a0732ae"
+ resolved "https://github.com/greenyossi/react-native-splash-screen.git#e9c32d6c1fac8953ef80730ed69042b7c8068dd2"
react-native-sqlite-storage@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/react-native-sqlite-storage/-/react-native-sqlite-storage-4.1.0.tgz#641780eef06bc90b853d3dcd628c0fe54b656d7b"
integrity sha512-H8++CILlZQ2f2n+OvVmGyqMaV+UFKTRSTx9/3eIAxBg4d0rjeZogs6hgHlfADvEGNmrEyUBDpnX9+uHnDtwAHQ==
-react-native-uuid-generator@6.1.1:
+react-native-uuid-generator@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/react-native-uuid-generator/-/react-native-uuid-generator-6.1.1.tgz#59ca80f1eacd282311593af49fde34331d712b6e"
integrity sha512-jWF0wiGTUTkCBTpspUZatC7wlhjN3GRbW9YblaxxpuMuhk0DEOQXOp1qgsDd2vLTL8GsM3i7Hnatvfj1kwf88w==
-react-native-webview@9.0.1:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-9.0.1.tgz#81ae3aa33e446f1c93586f972092f805ab07b03a"
- integrity sha512-BAFjItI8hrhLRtG5TeN18s53SUJjyjhH4HlVbl9trZLzJVPqG/VQmG9AaAk88hzOR8QvKf8dOg8qDuoHhs0M8g==
+react-native-webview@^9.4.0:
+ version "9.4.0"
+ resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-9.4.0.tgz#108da34a6c7e1c032dcabc942b7e4947ca1d8028"
+ integrity sha512-BBOFUuza0p04+7fNi7TJmB0arpDJzGxHYwTCgI4vj5n/fl7u4jbm7ETp88mf7lo9lP6C6HGLo38KnEy1aXCQkg==
dependencies:
escape-string-regexp "2.0.0"
invariant "2.2.4"
- rnpm-plugin-windows "^0.5.1-0"
react-native-wifi-reborn@2.4.0:
version "2.4.0"
@@ -7139,6 +6921,15 @@ read-pkg-up@^4.0.0:
find-up "^3.0.0"
read-pkg "^3.0.0"
+read-pkg-up@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
+ integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
+ dependencies:
+ find-up "^4.1.0"
+ read-pkg "^5.2.0"
+ type-fest "^0.8.1"
+
read-pkg@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
@@ -7157,6 +6948,16 @@ read-pkg@^3.0.0:
normalize-package-data "^2.3.2"
path-type "^3.0.0"
+read-pkg@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
+ integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
+ dependencies:
+ "@types/normalize-package-data" "^2.4.0"
+ normalize-package-data "^2.5.0"
+ parse-json "^5.0.0"
+ type-fest "^0.6.0"
+
readable-stream@^2.0.1, readable-stream@^2.2.2, readable-stream@~2.3.6:
version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
@@ -7229,9 +7030,9 @@ regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.4:
integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==
regenerator-transform@^0.14.2:
- version "0.14.3"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.3.tgz#54aebff2ef58c0ae61e695ad1b9a9d65995fff78"
- integrity sha512-zXHNKJspmONxBViAb3ZUmFoFPnTBs3zFhCEZJiwp/gkNzxVbTqNJVjYKx6Qk1tQ1P4XLf4TbH9+KBB7wGoAaUw==
+ version "0.14.4"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7"
+ integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==
dependencies:
"@babel/runtime" "^7.8.4"
private "^0.1.8"
@@ -7250,9 +7051,9 @@ regexpp@^2.0.1:
integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
regexpp@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e"
- integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
+ integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
regexpu-core@^4.7.0:
version "4.7.0"
@@ -7309,7 +7110,7 @@ request-promise-native@^1.0.7:
stealthy-require "^1.1.1"
tough-cookie "^2.3.3"
-request@2.x.x, request@^2.88.0:
+request@^2.88.0:
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@@ -7382,10 +7183,10 @@ resolve@1.1.7:
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0:
- version "1.15.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8"
- integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
+ integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
dependencies:
path-parse "^1.0.6"
@@ -7428,6 +7229,10 @@ rimraf@~2.2.6:
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=
+"rn-contact-tracing@https://github.com/wix-incubator/rn-contact-tracing.git#master":
+ version "0.0.3"
+ resolved "https://github.com/wix-incubator/rn-contact-tracing.git#4038ca8f41592a1f7ceb820a9fed4f2ba5356831"
+
rn-fetch-blob@0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/rn-fetch-blob/-/rn-fetch-blob-0.12.0.tgz#ec610d2f9b3f1065556b58ab9c106eeb256f3cba"
@@ -7436,31 +7241,15 @@ rn-fetch-blob@0.12.0:
base-64 "0.1.0"
glob "7.0.6"
-rnpm-plugin-windows@^0.5.1-0:
- version "0.5.1-0"
- resolved "https://registry.yarnpkg.com/rnpm-plugin-windows/-/rnpm-plugin-windows-0.5.1-0.tgz#9ffdd38653c6024c538a98a1046a37625d56eddb"
- integrity sha512-0EX2shP1OI18MylpVHmZRhDX5GSdvHDgSQoFDZx/Ir73dt3dPVtz7iNviiz3vPa8/8HgTOog3Xzn/gXxfPRrnw==
- dependencies:
- chalk "^1.1.3"
- extract-zip "^1.6.7"
- fs-extra "^7.0.1"
- npm-registry "^0.1.13"
- prompts "^2.3.0"
- request "^2.88.0"
- semver "^6.1.1"
- valid-url "^1.0.9"
-
rsvp@^4.8.4:
version "4.8.5"
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
run-async@^2.2.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8"
- integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==
- dependencies:
- is-promise "^2.1.0"
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
rx-lite-aggregates@^4.0.8:
version "4.0.8"
@@ -7482,9 +7271,9 @@ rxjs@^5.4.3:
symbol-observable "1.0.1"
rxjs@^6.4.0:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c"
- integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==
+ version "6.5.5"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec"
+ integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==
dependencies:
tslib "^1.9.0"
@@ -7494,9 +7283,9 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-buffer@^5.0.1, safe-buffer@^5.1.2:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
- integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-regex@^1.1.0:
version "1.1.0"
@@ -7555,17 +7344,12 @@ seedrandom@^3.0.5:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-semver@2.2.x:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-2.2.1.tgz#7941182b3ffcc580bff1c17942acdf7951c0d213"
- integrity sha1-eUEYKz/8xYC/8cF5QqzfeVHA0hM=
-
semver@5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
+semver@^6.0.0, semver@^6.1.2, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
@@ -7689,9 +7473,9 @@ shortid@^2.2.15:
nanoid "^2.1.0"
signal-exit@^3.0.0, signal-exit@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
- integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
+ integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
simple-plist@^0.2.1:
version "0.2.1"
@@ -7719,9 +7503,9 @@ simple-swizzle@^0.2.2:
is-arrayish "^0.3.1"
sisteransi@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3"
- integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
+ integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
slash@^2.0.0:
version "2.0.0"
@@ -7789,9 +7573,9 @@ source-map-resolve@^0.5.0:
urix "^0.1.0"
source-map-support@^0.5.16, source-map-support@^0.5.6:
- version "0.5.16"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
- integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
+ version "0.5.19"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
+ integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
@@ -7825,9 +7609,9 @@ spdx-correct@^3.0.0:
spdx-license-ids "^3.0.0"
spdx-exceptions@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977"
- integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
+ integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
spdx-expression-parse@^3.0.0:
version "3.0.0"
@@ -7880,9 +7664,9 @@ stack-utils@^1.0.1:
integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==
stacktrace-parser@^0.1.3:
- version "0.1.9"
- resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.9.tgz#11e6d61d42e8cfc87293143d0766408b7a87b00f"
- integrity sha512-DRy03ljj0367Ud3OAJHD6eVS/+CvMK2u/djVYuU37fHYcYHoZ8tkFyhbRf7PNG1h3bWLsw+SNTSXrPFe07A7aQ==
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
+ integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==
dependencies:
type-fest "^0.7.1"
@@ -7957,21 +7741,39 @@ string-width@^4.1.0, string-width@^4.2.0:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
+string.prototype.trimend@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
+ integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
string.prototype.trimleft@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74"
- integrity sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc"
+ integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==
dependencies:
define-properties "^1.1.3"
- function-bind "^1.1.1"
+ es-abstract "^1.17.5"
+ string.prototype.trimstart "^1.0.0"
string.prototype.trimright@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9"
- integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3"
+ integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==
dependencies:
define-properties "^1.1.3"
- function-bind "^1.1.1"
+ es-abstract "^1.17.5"
+ string.prototype.trimend "^1.0.0"
+
+string.prototype.trimstart@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
+ integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
string_decoder@~1.1.1:
version "1.1.1"
@@ -8029,19 +7831,14 @@ strip-final-newline@^2.0.0:
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
strip-json-comments@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7"
- integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
+ integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
sudo-prompt@^9.0.0:
- version "9.1.1"
- resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.1.1.tgz#73853d729770392caec029e2470db9c221754db0"
- integrity sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==
-
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
- integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+ version "9.2.1"
+ resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.2.1.tgz#77efb84309c9ca489527a4e749f287e6bdd52afd"
+ integrity sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==
supports-color@^5.3.0:
version "5.5.0"
@@ -8132,11 +7929,6 @@ test-exclude@^6.0.0:
glob "^7.1.4"
minimatch "^3.0.4"
-text-hex@0.0.x:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-0.0.0.tgz#578fbc85a6a92636e42dd17b41d0218cce9eb2b3"
- integrity sha1-V4+8haapJjbkLdF7QdAhjM6esrM=
-
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@@ -8254,9 +8046,9 @@ tslib@1.9.0:
integrity sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==
tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
- integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.12.0.tgz#d1fc9cacd06a1456c62f2902b361573e83d66473"
+ integrity sha512-5rxCQkP0kytf4H1T4xz1imjxaUUPMvc5aWp0rJ/VMIN7ClRiH1FwFvBt8wOeMasp/epeUnmSW6CixSIePtiLqA==
tslint-config-prettier@1.18.0:
version "1.18.0"
@@ -8341,11 +8133,21 @@ type-fest@^0.11.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+type-fest@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
+ integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
+
type-fest@^0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+
typedarray-to-buffer@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
@@ -8449,10 +8251,10 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-use-subscription@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.4.0.tgz#c4e808cfed6fe6e1ac875df1369c63f3ddae9522"
- integrity sha512-R7P7JWpeHp+dtEYsgDzIIgOmVqRfJjRjLOO0YIYk6twctUkUYe6Tz0pcabyTDGcMMRt9uMbFMfwBfxKHg9gCSw==
+use-subscription@^1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.4.1.tgz#edcbcc220f1adb2dd4fa0b2f61b6cc308e620069"
+ integrity sha512-7+IIwDG/4JICrWHL/Q/ZPK5yozEnvRm6vHImu0LKwQlmWGKeiF7mbAenLlK/cTNXrTtXHU/SFASQHzB6+oSJMQ==
dependencies:
object-assign "^4.1.1"
@@ -8496,20 +8298,15 @@ v8-compile-cache@^2.0.3:
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
-v8-to-istanbul@^4.0.1:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz#22fe35709a64955f49a08a7c7c959f6520ad6f20"
- integrity sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng==
+v8-to-istanbul@^4.1.3:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6"
+ integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.1"
convert-source-map "^1.6.0"
source-map "^0.7.3"
-valid-url@^1.0.9:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200"
- integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=
-
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -8702,9 +8499,9 @@ ws@^3.3.1:
ultron "~1.1.0"
ws@^7.0.0:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46"
- integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd"
+ integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==
xcode@^0.9.1:
version "0.9.3"
@@ -8765,7 +8562,7 @@ xpipe@^1.0.5:
resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf"
integrity sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98=
-xtend@^4.0.0, xtend@~4.0.1:
+xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
@@ -8794,9 +8591,9 @@ yargs-parser@^11.1.1:
decamelize "^1.2.0"
yargs-parser@^18.1.1:
- version "18.1.2"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.2.tgz#2f482bea2136dbde0861683abea7756d30b504f1"
- integrity sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ==
+ version "18.1.3"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
dependencies:
camelcase "^5.0.0"
decamelize "^1.2.0"
@@ -8826,7 +8623,7 @@ yargs@^12.0.5:
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^11.1.1"
-yargs@^15.3.1:
+yargs@^15.1.0, yargs@^15.3.1:
version "15.3.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b"
integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==
@@ -8861,10 +8658,3 @@ yargs@^9.0.0:
which-module "^2.0.0"
y18n "^3.2.1"
yargs-parser "^7.0.0"
-
-yauzl@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
- integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=
- dependencies:
- fd-slicer "~1.0.1"