diff options
Diffstat (limited to 'mobile-ns')
80 files changed, 5622 insertions, 0 deletions
| diff --git a/mobile-ns/.editorconfig b/mobile-ns/.editorconfig new file mode 100644 index 0000000..2ad1eec --- /dev/null +++ b/mobile-ns/.editorconfig @@ -0,0 +1,23 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +charset = utf-8 + +[*.json] +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.ts] +indent_style = space +indent_size = 2 + +[*.xml] +indent_style = space +indent_size = 2 diff --git a/mobile-ns/.gitignore b/mobile-ns/.gitignore new file mode 100644 index 0000000..eb2320a --- /dev/null +++ b/mobile-ns/.gitignore @@ -0,0 +1,6 @@ +/.nix/ +.npmrc + +/node_modules/ +/hooks/ +/platforms/ diff --git a/mobile-ns/.vscode/extensions.json b/mobile-ns/.vscode/extensions.json new file mode 100644 index 0000000..2a163b8 --- /dev/null +++ b/mobile-ns/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ +  "recommendations": ["nativescript.nativescript"] +} diff --git a/mobile-ns/App_Resources/Android/app.gradle b/mobile-ns/App_Resources/Android/app.gradle new file mode 100644 index 0000000..f837e17 --- /dev/null +++ b/mobile-ns/App_Resources/Android/app.gradle @@ -0,0 +1,25 @@ +// You can add your native dependencies here +dependencies { +//  implementation 'androidx.multidex:multidex:2.0.1' +} + +android { +  compileSdkVersion 33 +  buildToolsVersion "33.0.2" +  // ndkVersion "" + +  defaultConfig { +    minSdkVersion 23 +    targetSdkVersion 33 + +    // Version Information +    versionCode 1 +    versionName "1.0.0" + +    generatedDensities = [] +  } + +  aaptOptions { +    additionalParameters "--no-version-vectors" +  } +} diff --git a/mobile-ns/App_Resources/Android/before-plugins.gradle b/mobile-ns/App_Resources/Android/before-plugins.gradle new file mode 100644 index 0000000..9faffb8 --- /dev/null +++ b/mobile-ns/App_Resources/Android/before-plugins.gradle @@ -0,0 +1,15 @@ +// this configurations is loaded before building plugins, as well as before building +// the app - this is where you can apply global settings and overrides + +project.ext { +  // androidXAppCompat = "1.4.1" +  // androidXExifInterface = "1.3.3" +  // androidXFragment = "1.4.1" +  // androidXMaterial = "1.5.0" +  // androidXMultidex = "2.0.1" +  // androidXTransition = "1.4.1" +  // androidXViewPager = "1.0.0" + +  // useKotlin = true +  // kotlinVersion = "1.6.0" +} diff --git a/mobile-ns/App_Resources/Android/src/main/AndroidManifest.xml b/mobile-ns/App_Resources/Android/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a20279d --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/AndroidManifest.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" +	package="__PACKAGE__"> + +	<supports-screens +		android:smallScreens="true" +		android:normalScreens="true" +		android:largeScreens="true" +		android:xlargeScreens="true"/> + +	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> +	<uses-permission android:name="android.permission.INTERNET"/> +	<uses-permission android:name="android.permission.READ_CONTACTS"/> +	<uses-permission android:name="android.permission.READ_SMS"/> +	<uses-permission android:name="android.permission.READ_PHONE_STATE"/> +	<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> +	<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/> +	<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/> + +	<application +		android:name="com.tns.NativeScriptApplication" +		android:usesCleartextTraffic="true" +		android:allowBackup="true" +		android:icon="@mipmap/ic_launcher" +		android:label="@string/app_name" +		android:theme="@style/AppTheme" +		android:hardwareAccelerated="true"> + +		<activity +			android:name="com.tns.NativeScriptActivity" +			android:label="@string/title_activity_kimera" +			android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|locale|uiMode" +			android:theme="@style/LaunchScreenTheme" +			android:hardwareAccelerated="true" +      		android:launchMode="singleTask" +			android:exported="true"> + +			<meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" /> + +			<intent-filter> +				<action android:name="android.intent.action.MAIN" /> +				<category android:name="android.intent.category.LAUNCHER" /> +			</intent-filter> +		</activity> +		<activity android:name="com.tns.ErrorReportActivity"/> +	</application> +</manifest> diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-hdpi/background.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-hdpi/background.pngBinary files differ new file mode 100644 index 0000000..bbefbf4 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-hdpi/background.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-hdpi/logo.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-hdpi/logo.pngBinary files differ new file mode 100644 index 0000000..e788deb --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-hdpi/logo.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-ldpi/background.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-ldpi/background.pngBinary files differ new file mode 100644 index 0000000..f6a08ee --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-ldpi/background.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-ldpi/logo.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-ldpi/logo.pngBinary files differ new file mode 100644 index 0000000..e4cac1a --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-ldpi/logo.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-mdpi/background.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-mdpi/background.pngBinary files differ new file mode 100644 index 0000000..0c90f0f --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-mdpi/background.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-mdpi/logo.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-mdpi/logo.pngBinary files differ new file mode 100644 index 0000000..ce3c3a4 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-mdpi/logo.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml b/mobile-ns/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml new file mode 100644 index 0000000..ada77f9 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml @@ -0,0 +1,8 @@ +<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="fill"> +    <item> +        <bitmap android:gravity="fill" android:src="@drawable/background" /> +    </item> +    <item> +        <bitmap android:gravity="center" android:src="@drawable/logo" /> +    </item> +</layer-list>
\ No newline at end of file diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-xhdpi/background.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-xhdpi/background.pngBinary files differ new file mode 100644 index 0000000..3541570 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-xhdpi/background.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-xhdpi/logo.pngBinary files differ new file mode 100644 index 0000000..88267df --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-xxhdpi/background.pngBinary files differ new file mode 100644 index 0000000..abb0fc7 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.pngBinary files differ new file mode 100644 index 0000000..55800c9 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.pngBinary files differ new file mode 100644 index 0000000..1089775 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png b/mobile-ns/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.pngBinary files differ new file mode 100644 index 0000000..0703f90 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/drawable/ic_launcher_foreground.xml b/mobile-ns/App_Resources/Android/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..fd826a3 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,15 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" +    android:width="108dp" +    android:height="108dp" +    android:viewportWidth="108" +    android:viewportHeight="108"> +  <group android:scaleX="0.07382812" +      android:scaleY="0.07382812" +      android:translateX="16.2" +      android:translateY="16.2"> +    <path +        android:pathData="M843,511.86L843,512.96C843,513.22 842.8,513.43 842.55,513.46C809.18,516.58 783.07,543.69 783.07,577.86L783.07,714.8C783.07,724.37 781.06,733.6 777.43,742.03C767.08,766.1 743.59,783.6 716.27,783.6L647.07,783.6L646.59,783L377.41,445.68L377.41,783.6L307.73,783.6C270.84,783.6 240.93,753.7 240.93,716.8L240.93,577.86C240.93,543.69 214.82,516.58 181.45,513.46C181.2,513.43 181,513.22 181,512.96L181,511.86C181,511.61 181.19,511.4 181.45,511.37C214.69,508.14 240.67,480.35 240.67,446.26L240.67,307.2C240.67,297.91 242.57,289.05 246,281.01C256.18,257.14 279.87,240.39 307.47,240.39L377.13,240.39L377.41,240.74L646.59,578.07L646.59,240.39L716.53,240.39C753.42,240.39 783.33,270.3 783.33,307.2L783.33,446.26C783.33,480.35 809.31,508.14 842.55,511.37C842.81,511.4 843,511.61 843,511.86" +        android:fillColor="#65ADF1" +        android:fillType="nonZero"/> +  </group> +</vector> diff --git a/mobile-ns/App_Resources/Android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/mobile-ns/App_Resources/Android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..7353dbd --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> +    <background android:drawable="@color/ic_launcher_background"/> +    <foreground android:drawable="@drawable/ic_launcher_foreground"/> +</adaptive-icon>
\ No newline at end of file diff --git a/mobile-ns/App_Resources/Android/src/main/res/mipmap-hdpi/ic_launcher.png b/mobile-ns/App_Resources/Android/src/main/res/mipmap-hdpi/ic_launcher.pngBinary files differ new file mode 100644 index 0000000..69948d2 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/mipmap-mdpi/ic_launcher.png b/mobile-ns/App_Resources/Android/src/main/res/mipmap-mdpi/ic_launcher.pngBinary files differ new file mode 100644 index 0000000..90a58cd --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/mipmap-xhdpi/ic_launcher.png b/mobile-ns/App_Resources/Android/src/main/res/mipmap-xhdpi/ic_launcher.pngBinary files differ new file mode 100644 index 0000000..70a2a0d --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mobile-ns/App_Resources/Android/src/main/res/mipmap-xxhdpi/ic_launcher.pngBinary files differ new file mode 100644 index 0000000..1ee5a94 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/mobile-ns/App_Resources/Android/src/main/res/mipmap-xxxhdpi/ic_launcher.pngBinary files differ new file mode 100644 index 0000000..66e9d4b --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/mobile-ns/App_Resources/Android/src/main/res/values-v21/colors.xml b/mobile-ns/App_Resources/Android/src/main/res/values-v21/colors.xml new file mode 100644 index 0000000..da5ca2f --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/values-v21/colors.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" ?> +<resources> +	<!-- You can override base colors from values/colors.xml here, for example: --> +	<!-- <color name="ns_accent">#65ADF1</color> --> +</resources> diff --git a/mobile-ns/App_Resources/Android/src/main/res/values-v21/styles.xml b/mobile-ns/App_Resources/Android/src/main/res/values-v21/styles.xml new file mode 100644 index 0000000..04d8a06 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/values-v21/styles.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8" ?> +<resources xmlns:android="http://schemas.android.com/apk/res/android"> + +    <!-- Application theme --> +    <style name="AppThemeBase21" parent="AppThemeBase"> +        <!-- Uncomment this to make the app show underneat the status bar --> +        <!-- <item name="android:windowTranslucentStatus">true</item> --> + +        <item name="android:datePickerStyle">@style/SpinnerDatePicker</item> +        <item name="android:timePickerStyle">@style/SpinnerTimePicker</item> +    </style> + +    <style name="AppTheme" parent="AppThemeBase21"> +    </style> + +    <!-- Default style for DatePicker - in spinner mode --> +    <style name="SpinnerDatePicker" parent="android:Widget.Material.Light.DatePicker"> +        <!-- set the default mode for the date picker (supported values: spinner, calendar)  --> +        <item name="android:datePickerMode">spinner</item> +    </style> + +    <!-- Default style for TimePicker - in spinner mode --> +    <style name="SpinnerTimePicker" parent="android:Widget.Material.Light.TimePicker"> +        <!-- set the default mode for the time picker (supported values: spinner, clock)  --> +        <item name="android:timePickerMode">spinner</item> +    </style> + +    <style name="NativeScriptToolbarStyle" parent="NativeScriptToolbarStyleBase"> +        <item name="android:elevation">4dp</item> + +        <!-- Add padding to the ActionBar - useful when android:windowTranslucentStatus is set to true --> +        <!-- <item name="android:paddingTop">24dp</item> --> +    </style> +</resources> diff --git a/mobile-ns/App_Resources/Android/src/main/res/values-v29/styles.xml b/mobile-ns/App_Resources/Android/src/main/res/values-v29/styles.xml new file mode 100644 index 0000000..9a2a79d --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/values-v29/styles.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources xmlns:android="http://schemas.android.com/apk/res/android"> + +    <!-- Application theme --> +    <style name="AppThemeBase29" parent="AppThemeBase21"> + +        <!--  +            Disable forced dark mode on newer devices.  +            Enabling this will make your app appear in dark-mode,  +            but the way the app is converted may lead to visual issues  +        --> +        <item name="android:forceDarkAllowed">false</item> +    </style> + +    <style name="AppTheme" parent="AppThemeBase29"> +    </style> + +</resources>
\ No newline at end of file diff --git a/mobile-ns/App_Resources/Android/src/main/res/values/colors.xml b/mobile-ns/App_Resources/Android/src/main/res/values/colors.xml new file mode 100644 index 0000000..78c4a51 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/values/colors.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" ?> +<resources> +    <!-- The default color of the ActionBar --> +    <color name="ns_primary">#F5F5F5</color> +	 +    <!-- (API21+) The color of the status bar and contextual app bars; this is normally a dark version of colorPrimary. --> +    <color name="ns_primaryDark">#757575</color> + +    <!-- The color of UI controls such as check boxes, radio buttons, and edit text boxes. --> +	<color name="ns_accent">#65ADF1</color> + +    <!-- this is unused in the default themes, so we might want to remove it? --> +    <!-- <color name="ns_blue">#272734</color> --> +</resources> diff --git a/mobile-ns/App_Resources/Android/src/main/res/values/ic_launcher_background.xml b/mobile-ns/App_Resources/Android/src/main/res/values/ic_launcher_background.xml new file mode 100644 index 0000000..c5d5899 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> +    <color name="ic_launcher_background">#FFFFFF</color> +</resources>
\ No newline at end of file diff --git a/mobile-ns/App_Resources/Android/src/main/res/values/styles.xml b/mobile-ns/App_Resources/Android/src/main/res/values/styles.xml new file mode 100644 index 0000000..4f91b61 --- /dev/null +++ b/mobile-ns/App_Resources/Android/src/main/res/values/styles.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources xmlns:android="http://schemas.android.com/apk/res/android"> + +    <!-- theme to use FOR launch screen--> +    <style name="LaunchScreenThemeBase" parent="Theme.AppCompat.Light.NoActionBar"> +        <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item> + +        <item name="colorPrimary">@color/ns_primary</item> +        <item name="colorPrimaryDark">@color/ns_primaryDark</item> +        <item name="colorAccent">@color/ns_accent</item> + +        <item name="android:windowBackground">@drawable/splash_screen</item> + +        <item name="android:windowActionBarOverlay">true</item> +        <item name="android:windowTranslucentStatus">true</item> +    </style> + +    <style name="LaunchScreenTheme" parent="LaunchScreenThemeBase"> +    </style> + +    <!-- theme to use AFTER launch screen is loaded--> +    <style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar"> +        <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item> + +        <item name="colorPrimary">@color/ns_primary</item> +        <item name="colorPrimaryDark">@color/ns_primaryDark</item> +        <item name="colorAccent">@color/ns_accent</item> +    </style> + +    <style name="AppTheme" parent="AppThemeBase"> +    </style> + +    <!-- theme for action-bar --> +    <style name="NativeScriptToolbarStyleBase" parent="Widget.AppCompat.Toolbar"> +        <item name="android:background">@color/ns_primary</item> +        <item name="theme">@style/ThemeOverlay.AppCompat.ActionBar</item> +        <item name="popupTheme">@style/ThemeOverlay.AppCompat</item> +    </style> + +    <style name="NativeScriptToolbarStyle" parent="NativeScriptToolbarStyleBase"> +    </style> +</resources> diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..1a8b0e6 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ +  "images" : [ +    { +      "size" : "20x20", +      "idiom" : "iphone", +      "filename" : "icon-20@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "20x20", +      "idiom" : "iphone", +      "filename" : "icon-20@3x.png", +      "scale" : "3x" +    }, +    { +      "size" : "29x29", +      "idiom" : "iphone", +      "filename" : "icon-29.png", +      "scale" : "1x" +    }, +    { +      "size" : "29x29", +      "idiom" : "iphone", +      "filename" : "icon-29@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "29x29", +      "idiom" : "iphone", +      "filename" : "icon-29@3x.png", +      "scale" : "3x" +    }, +    { +      "size" : "40x40", +      "idiom" : "iphone", +      "filename" : "icon-40@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "40x40", +      "idiom" : "iphone", +      "filename" : "icon-40@3x.png", +      "scale" : "3x" +    }, +    { +      "size" : "60x60", +      "idiom" : "iphone", +      "filename" : "icon-60@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "60x60", +      "idiom" : "iphone", +      "filename" : "icon-60@3x.png", +      "scale" : "3x" +    }, +    { +      "size" : "20x20", +      "idiom" : "ipad", +      "filename" : "icon-20.png", +      "scale" : "1x" +    }, +    { +      "size" : "20x20", +      "idiom" : "ipad", +      "filename" : "icon-20@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "29x29", +      "idiom" : "ipad", +      "filename" : "icon-29.png", +      "scale" : "1x" +    }, +    { +      "size" : "29x29", +      "idiom" : "ipad", +      "filename" : "icon-29@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "40x40", +      "idiom" : "ipad", +      "filename" : "icon-40.png", +      "scale" : "1x" +    }, +    { +      "size" : "40x40", +      "idiom" : "ipad", +      "filename" : "icon-40@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "76x76", +      "idiom" : "ipad", +      "filename" : "icon-76.png", +      "scale" : "1x" +    }, +    { +      "size" : "76x76", +      "idiom" : "ipad", +      "filename" : "icon-76@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "83.5x83.5", +      "idiom" : "ipad", +      "filename" : "icon-83.5@2x.png", +      "scale" : "2x" +    }, +    { +      "size" : "1024x1024", +      "idiom" : "ios-marketing", +      "filename" : "icon-1024.png", +      "scale" : "1x" +    } +  ], +  "info" : { +    "version" : 1, +    "author" : "xcode" +  } +}
\ No newline at end of file diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.pngBinary files differ new file mode 100644 index 0000000..b46c8bb --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.pngBinary files differ new file mode 100644 index 0000000..d73288a --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.pngBinary files differ new file mode 100644 index 0000000..c8d24cd --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.pngBinary files differ new file mode 100644 index 0000000..1b00c84 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.pngBinary files differ new file mode 100644 index 0000000..72a1641 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.pngBinary files differ new file mode 100644 index 0000000..05ab752 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.pngBinary files differ new file mode 100644 index 0000000..ee72082 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.pngBinary files differ new file mode 100644 index 0000000..2859288 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.pngBinary files differ new file mode 100644 index 0000000..88824fa --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.pngBinary files differ new file mode 100644 index 0000000..02a930c --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.pngBinary files differ new file mode 100644 index 0000000..d7b077f --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.pngBinary files differ new file mode 100644 index 0000000..2f872dd --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.pngBinary files differ new file mode 100644 index 0000000..7fb23a7 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.pngBinary files differ new file mode 100644 index 0000000..cb04c36 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.pngBinary files differ new file mode 100644 index 0000000..e882226 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/Contents.json b/mobile-ns/App_Resources/iOS/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ +  "info" : { +    "version" : 1, +    "author" : "xcode" +  } +}
\ No newline at end of file diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json new file mode 100644 index 0000000..ab5edd0 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json @@ -0,0 +1,23 @@ +{ +  "images" : [ +    { +      "idiom" : "universal", +      "filename" : "LaunchScreen-AspectFill.png", +      "scale" : "1x" +    }, +    { +      "idiom" : "universal", +      "filename" : "LaunchScreen-AspectFill@2x.png", +      "scale" : "2x" +    }, +    { +      "idiom" : "universal", +      "filename" : "LaunchScreen-AspectFill@3x.png", +      "scale" : "3x" +    } +  ], +  "info" : { +    "version" : 1, +    "author" : "xcode" +  } +}
\ No newline at end of file diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.pngBinary files differ new file mode 100644 index 0000000..cb35cfa --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.pngBinary files differ new file mode 100644 index 0000000..6eefb9a --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.pngBinary files differ new file mode 100644 index 0000000..0ef5102 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json new file mode 100644 index 0000000..444d715 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json @@ -0,0 +1,23 @@ +{ +  "images" : [ +    { +      "idiom" : "universal", +      "filename" : "LaunchScreen-Center.png", +      "scale" : "1x" +    }, +    { +      "idiom" : "universal", +      "filename" : "LaunchScreen-Center@2x.png", +      "scale" : "2x" +    }, +    { +      "idiom" : "universal", +      "filename" : "LaunchScreen-Center@3x.png", +      "scale" : "3x" +    } +  ], +  "info" : { +    "version" : 1, +    "author" : "xcode" +  } +}
\ No newline at end of file diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.pngBinary files differ new file mode 100644 index 0000000..280c30e --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.pngBinary files differ new file mode 100644 index 0000000..f984b9e --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png diff --git a/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.pngBinary files differ new file mode 100644 index 0000000..95d86f3 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png diff --git a/mobile-ns/App_Resources/iOS/Info.plist b/mobile-ns/App_Resources/iOS/Info.plist new file mode 100644 index 0000000..ea3e3ea --- /dev/null +++ b/mobile-ns/App_Resources/iOS/Info.plist @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> +	<key>CFBundleDevelopmentRegion</key> +	<string>en</string> +	<key>CFBundleDisplayName</key> +	<string>${PRODUCT_NAME}</string> +	<key>CFBundleExecutable</key> +	<string>${EXECUTABLE_NAME}</string> +	<key>CFBundleInfoDictionaryVersion</key> +	<string>6.0</string> +	<key>CFBundleName</key> +	<string>${PRODUCT_NAME}</string> +	<key>CFBundlePackageType</key> +	<string>APPL</string> +	<key>CFBundleShortVersionString</key> +	<string>1.0</string> +	<key>CFBundleSignature</key> +	<string>????</string> +	<key>CFBundleVersion</key> +	<string>1.0</string> +	<key>LSRequiresIPhoneOS</key> +	<true/> +	<key>UILaunchStoryboardName</key> +	<string>LaunchScreen</string> +	<key>UIRequiresFullScreen</key> +	<true/> +	<key>UIRequiredDeviceCapabilities</key> +	<array> +		<string>armv7</string> +	</array> +	<key>UISupportedInterfaceOrientations</key> +	<array> +		<string>UIInterfaceOrientationPortrait</string> +		<string>UIInterfaceOrientationLandscapeLeft</string> +		<string>UIInterfaceOrientationLandscapeRight</string> +	</array> +	<key>UISupportedInterfaceOrientations~ipad</key> +	<array> +		<string>UIInterfaceOrientationPortrait</string> +		<string>UIInterfaceOrientationPortraitUpsideDown</string> +		<string>UIInterfaceOrientationLandscapeLeft</string> +		<string>UIInterfaceOrientationLandscapeRight</string> +	</array> +</dict> +</plist> diff --git a/mobile-ns/App_Resources/iOS/LaunchScreen.storyboard b/mobile-ns/App_Resources/iOS/LaunchScreen.storyboard new file mode 100644 index 0000000..c4e5a3f --- /dev/null +++ b/mobile-ns/App_Resources/iOS/LaunchScreen.storyboard @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> +    <device id="retina5_9" orientation="portrait"> +        <adaptation id="fullscreen"/> +    </device> +    <dependencies> +        <deployment identifier="iOS"/> +        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/> +        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> +    </dependencies> +    <scenes> +        <!--View Controller--> +        <scene sceneID="EHf-IW-A2E"> +            <objects> +                <viewController id="01J-lp-oVM" sceneMemberID="viewController"> +                    <layoutGuides> +                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/> +                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/> +                    </layoutGuides> +                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> +                        <rect key="frame" x="0.0" y="0.0" width="375" height="812"/> +                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> +                        <subviews> +                            <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LaunchScreen.AspectFill" translatesAutoresizingMaskIntoConstraints="NO" id="wtH-rr-YfP"> +                                <rect key="frame" x="0.0" y="0.0" width="375" height="812"/> +                            </imageView> +                            <imageView userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LaunchScreen.Center" translatesAutoresizingMaskIntoConstraints="NO" id="s1z-aa-wYv"> +                                <rect key="frame" x="0.0" y="150" width="375" height="512"/> +                            </imageView> +                        </subviews> +                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> +                        <constraints> +                            <constraint firstAttribute="trailing" secondItem="s1z-aa-wYv" secondAttribute="trailing" id="4Rf-kf-vql"/> +                            <constraint firstAttribute="bottom" secondItem="wtH-rr-YfP" secondAttribute="bottom" id="5CS-At-4ka"/> +                            <constraint firstItem="wtH-rr-YfP" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="Awn-b8-xf1"/> +                            <constraint firstItem="s1z-aa-wYv" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="BpJ-vb-eKA"/> +                            <constraint firstItem="s1z-aa-wYv" firstAttribute="trailing" secondItem="wtH-rr-YfP" secondAttribute="trailing" id="QIM-7J-OZz"/> +                            <constraint firstAttribute="trailing" secondItem="wtH-rr-YfP" secondAttribute="trailing" id="RXg-rW-UK8"/> +                            <constraint firstItem="s1z-aa-wYv" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="Rcp-LG-48z"/> +                            <constraint firstItem="wtH-rr-YfP" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="cch-8E-tYu"/> +                        </constraints> +                    </view> +                </viewController> +                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> +            </objects> +            <point key="canvasLocation" x="509.60000000000002" y="237.93103448275863"/> +        </scene> +    </scenes> +    <resources> +        <image name="LaunchScreen.AspectFill" width="768" height="1024"/> +        <image name="LaunchScreen.Center" width="384" height="512"/> +    </resources> +</document> diff --git a/mobile-ns/App_Resources/iOS/build.xcconfig b/mobile-ns/App_Resources/iOS/build.xcconfig new file mode 100644 index 0000000..0d38fe0 --- /dev/null +++ b/mobile-ns/App_Resources/iOS/build.xcconfig @@ -0,0 +1,6 @@ +// You can add custom settings here +// for example you can uncomment the following line to force distribution code signing +// CODE_SIGN_IDENTITY = iPhone Distribution  +// To build for device with XCode you need to specify your development team. +// DEVELOPMENT_TEAM = YOUR_TEAM_ID; +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; diff --git a/mobile-ns/Justfile b/mobile-ns/Justfile new file mode 100644 index 0000000..12e1e10 --- /dev/null +++ b/mobile-ns/Justfile @@ -0,0 +1,5 @@ +android_log: +  adb logcat --pid=$(adb shell pidof -s org.nativescript.exampleapp) + +android_avd: +  avdmanager create avd -n ImageSync -k "system-images;android-33;google_apis_playstore;x86_64" diff --git a/mobile-ns/app/app-root.xml b/mobile-ns/app/app-root.xml new file mode 100644 index 0000000..54e70d9 --- /dev/null +++ b/mobile-ns/app/app-root.xml @@ -0,0 +1,2 @@ +<Frame defaultPage="main-page"> +</Frame> diff --git a/mobile-ns/app/app.css b/mobile-ns/app/app.css new file mode 100644 index 0000000..14de482 --- /dev/null +++ b/mobile-ns/app/app.css @@ -0,0 +1,6 @@ +@import '@nativescript/theme/css/core.css'; +@import '@nativescript/theme/css/default.css'; + +Button.-primary { +  font-size: 18; +} diff --git a/mobile-ns/app/app.ts b/mobile-ns/app/app.ts new file mode 100644 index 0000000..1947b6e --- /dev/null +++ b/mobile-ns/app/app.ts @@ -0,0 +1,14 @@ +/* +In NativeScript, the app.ts file is the entry point to your application. +You can use this file to perform app-level initialization, but the primary +purpose of the file is to pass control to the app’s first module. +*/ + +import { Application } from '@nativescript/core'; + +Application.run({ moduleName: 'app-root' }); + +/* +Do not place any code after the application has been started as it will not +be executed on iOS. +*/ diff --git a/mobile-ns/app/gallery-page.ts b/mobile-ns/app/gallery-page.ts new file mode 100644 index 0000000..517ac8a --- /dev/null +++ b/mobile-ns/app/gallery-page.ts @@ -0,0 +1,7 @@ +import { EventData, Page } from '@nativescript/core' +import { GalleryModel } from './gallery-view-model'; + +export function navigatingTo(args: EventData) { +  const page = <Page>args.object; +  page.bindingContext = new GalleryModel(); +} diff --git a/mobile-ns/app/gallery-page.xml b/mobile-ns/app/gallery-page.xml new file mode 100644 index 0000000..aa545e8 --- /dev/null +++ b/mobile-ns/app/gallery-page.xml @@ -0,0 +1,7 @@ +<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo"> +    <ActionBar title="Galleries" icon="" /> + +    <StackLayout class="p-20"> +        <Button text="peng" tap="{{ peng }}" class="-primary" /> +    </StackLayout> +</Page> diff --git a/mobile-ns/app/gallery-view-model.ts b/mobile-ns/app/gallery-view-model.ts new file mode 100644 index 0000000..f48fe6f --- /dev/null +++ b/mobile-ns/app/gallery-view-model.ts @@ -0,0 +1,65 @@ +import { AndroidActivityRequestPermissionsEventData, Application, Observable, Utils } from '@nativescript/core'; + +export class GalleryModel extends Observable { +  constructor() { +    super(); +  } + +  peng() { +    // const check = function () { +      /* return new Promise((resolve, reject) => { +        (Application.android.foregroundActivity || Application.android.startActivity).requestPermissions([ +          android.Manifest.permission.READ_EXTERNAL_STORAGE, +          android.Manifest.permission.READ_CONTACTS, +        ], 3766); +        function onActivityResult(args) { +          if (args.requestCode === 3766) { +            Application.android.off(Application.android.activityRequestPermissionsEvent, onActivityResult); +            console.log(args); +            console.log(args.grantResults); +            resolve(args); +          } +        } +        Application.android.on(Application.android.activityRequestPermissionsEvent, onActivityResult); +      }); +    } */ + +        (Application.android.foregroundActivity || Application.android.startActivity).requestPermissions([ +          android.Manifest.permission.READ_MEDIA_IMAGES, +        ], 3765); +    console.log(Application.android.foregroundActivity, Application.android.startActivity); +    return; + +    // check().then(() => { +      console.log('query'); +      const cursor = Utils.android.getApplicationContext().getContentResolver().query( +        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, +        [ +          android.provider.MediaStore.Images.ImageColumns._ID, +          android.provider.MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME, +          android.provider.MediaStore.Images.ImageColumns.DATE_TAKEN, +        ], +        null, +        null, +      ); + +      const contacts = Utils.android.getApplicationContext().getContentResolver().query( +        android.provider.Contacts.Phones.CONTENT_URI, +        [ +          android.provider.Contacts.PhonesColumns.LABEL, +          android.provider.Contacts.PhonesColumns.TYPE, +        ], +        null, +        null +      ); +      console.log(contacts, contacts.getCount()); + +      console.log(cursor, cursor.getCount()); +      if (cursor && cursor.moveToFirst()) { +        const bucketColumn = cursor.getColumnIndex(android.provider.MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME); +        console.log(bucketColumn); +        // console.log(cursor.getString(bucketColumn)); +      } +    // }); +  } +} diff --git a/mobile-ns/app/main-page.ts b/mobile-ns/app/main-page.ts new file mode 100644 index 0000000..745d6c6 --- /dev/null +++ b/mobile-ns/app/main-page.ts @@ -0,0 +1,7 @@ +import { EventData, Page } from '@nativescript/core' +import { LoginModel } from './main-view-model'; + +export function navigatingTo(args: EventData) { +  const page = <Page>args.object; +  page.bindingContext = new LoginModel(); +} diff --git a/mobile-ns/app/main-page.xml b/mobile-ns/app/main-page.xml new file mode 100644 index 0000000..03fff55 --- /dev/null +++ b/mobile-ns/app/main-page.xml @@ -0,0 +1,17 @@ +<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo"> +    <ActionBar title="Image Sync" icon=""> +        <ActionItem +            text="Galleries" +            tap="{{ goToGalleries }}" +        /> +    </ActionBar> + +    <StackLayout class="p-20"> +        <Label text="Login" class="h1 text-center" /> + +        <TextField hint="Server" text="{{ server }}" class="h2" /> +        <TextField hint="Username" text="{{ username }}" class="h2" /> +        <TextField hint="Password" text="{{ password }}" secure="true" class="h2" /> +        <Button text="Login" tap="{{ onLogin }}" class="-primary" /> +    </StackLayout> +</Page> diff --git a/mobile-ns/app/main-view-model.ts b/mobile-ns/app/main-view-model.ts new file mode 100644 index 0000000..a354a5d --- /dev/null +++ b/mobile-ns/app/main-view-model.ts @@ -0,0 +1,50 @@ +import { Application, Frame, Http, Observable, Utils } from '@nativescript/core'; +import * as permissions from '@nativescript-community/perms'; + +export class LoginModel extends Observable { +  public server: string = 'http://192.168.178.59:8080'; +  public username: string; +  public password: string; + +  constructor() { +    super(); +  } + +  async onLogin() { +    const content = new FormData(); +    content.append('username', this.username); +    content.append('password', this.password); +    const response = await Http.request({ +      url: this.server, +      method: 'POST', +      content: content, +    }); + +    console.log(response.content?.toString()); + +    console.log( +    Application.android.foregroundActivity.requestPermissions([ +      android.Manifest.permission.READ_EXTERNAL_STORAGE, +    ], 3765) +    ); +    console.log( +    Application.android.foregroundActivity.shouldShowRequestPermissionRationale(android.Manifest.permission.READ_EXTERNAL_STORAGE) +    ); + +    console.log( +      Utils.android.getApplicationContext().checkPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE, android.os.Process.myPid(), android.os.Process.myUid()) +    ); + +    console.log( +    permissions.request({ +      storage: { read: true, write: false }, +        photo: { reason: 'to pick images' }, +    }) +    ); +  } + +  goToGalleries() { +    const frame = Frame.topmost(); +    frame.navigate('gallery-page'); +  } +} diff --git a/mobile-ns/bin/ns b/mobile-ns/bin/ns new file mode 100755 index 0000000..ed93710 --- /dev/null +++ b/mobile-ns/bin/ns @@ -0,0 +1,3 @@ +#!/bin/sh + +npx nativescript $@ diff --git a/mobile-ns/nativescript.config.ts b/mobile-ns/nativescript.config.ts new file mode 100644 index 0000000..f5268d8 --- /dev/null +++ b/mobile-ns/nativescript.config.ts @@ -0,0 +1,11 @@ +import { NativeScriptConfig } from '@nativescript/core'; + +export default { +  id: 'org.nativescript.exampleap', +  appPath: 'app', +  appResourcesPath: 'App_Resources', +  android: { +    v8Flags: '--expose_gc', +    markingMode: 'none' +  } +} as NativeScriptConfig; diff --git a/mobile-ns/nix/android-composition.nix b/mobile-ns/nix/android-composition.nix new file mode 100644 index 0000000..1f8e5d8 --- /dev/null +++ b/mobile-ns/nix/android-composition.nix @@ -0,0 +1,14 @@ +with (import <nixpkgs> { +  config.allowUnfree = true; +  config.android_sdk.accept_license = true; +}); + +androidenv.composeAndroidPackages { +  platformVersions = ["23" "33"]; +  buildToolsVersions = ["33.0.2"]; + +  includeEmulator = true; +  includeSystemImages = true; +  # systemImageTypes = ["google_apis_playstore"]; +  abiVersions = ["x86_64"]; +} diff --git a/mobile-ns/nix/androidsdk-fixup.py b/mobile-ns/nix/androidsdk-fixup.py new file mode 100755 index 0000000..ab419e6 --- /dev/null +++ b/mobile-ns/nix/androidsdk-fixup.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +import sys, os, shutil + +ANDROIDSDK_PATH = sys.argv[1] +BUILD_TOOLS_PATH = f'{ANDROIDSDK_PATH}/build-tools' +PLATFORMS_PATH = f'{ANDROIDSDK_PATH}/platforms' + +BUILD_TOOLS = [os.path.join(BUILD_TOOLS_PATH, filename) for filename in os.listdir(BUILD_TOOLS_PATH)] +PLATFORMS = [os.path.join(PLATFORMS_PATH, filename) for filename in os.listdir(PLATFORMS_PATH)] + +for build_tool in BUILD_TOOLS: +    if os.path.islink(build_tool): +        print(f'build-tool "{os.path.basename(build_tool)}" is a symlink. Copying...') +        link_src = os.readlink(build_tool) +        os.unlink(build_tool) +        shutil.copytree(link_src, build_tool) + +for platform in PLATFORMS: +    if os.path.islink(platform): +        print(f'platform "{os.path.basename(platform)}" is a symlink. Copying...') +        link_src = os.readlink(platform) +        os.unlink(platform) +        shutil.copytree(link_src, platform) diff --git a/mobile-ns/nix/androidsdk.nix b/mobile-ns/nix/androidsdk.nix new file mode 100644 index 0000000..cf1ea04 --- /dev/null +++ b/mobile-ns/nix/androidsdk.nix @@ -0,0 +1,29 @@ +with (import <nixpkgs> {}); +let +  android-composition = import ./android-composition.nix; +in +stdenv.mkDerivation { +  name = "androidsdk"; + +  buildInputs = [ +    python3Full +  ]; + +  src = "${android-composition.androidsdk}"; + +  dontUnpack = true; + +  buildPhase = '' +    buildDir=$PWD/android-composition +    mkdir $buildDir + +    cp -r $src/* $buildDir + +    chmod -R +w "$buildDir/libexec/android-sdk" +    python ${./androidsdk-fixup.py} "$buildDir/libexec/android-sdk" +  ''; + +  installPhase = '' +    cp -r $buildDir $out +  ''; +} diff --git a/mobile-ns/package-lock.json b/mobile-ns/package-lock.json new file mode 100644 index 0000000..f41ce9f --- /dev/null +++ b/mobile-ns/package-lock.json @@ -0,0 +1,4768 @@ +{ +  "name": "example-ap22", +  "version": "1.0.0", +  "lockfileVersion": 3, +  "requires": true, +  "packages": { +    "": { +      "name": "example-ap22", +      "version": "1.0.0", +      "dependencies": { +        "@nativescript-community/perms": "^2.3.1", +        "@nativescript/core": "~8.6.0", +        "@nativescript/theme": "~3.0.2" +      }, +      "devDependencies": { +        "@nativescript/android": "^8.6.2", +        "@nativescript/types": "~8.6.0", +        "@nativescript/webpack": "~5.0.18", +        "typescript": "~5.2.0" +      } +    }, +    "node_modules/@ampproject/remapping": { +      "version": "2.2.1", +      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", +      "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", +      "dev": true, +      "dependencies": { +        "@jridgewell/gen-mapping": "^0.3.0", +        "@jridgewell/trace-mapping": "^0.3.9" +      }, +      "engines": { +        "node": ">=6.0.0" +      } +    }, +    "node_modules/@babel/code-frame": { +      "version": "7.23.5", +      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", +      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", +      "dev": true, +      "dependencies": { +        "@babel/highlight": "^7.23.4", +        "chalk": "^2.4.2" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/compat-data": { +      "version": "7.23.5", +      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", +      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", +      "dev": true, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/core": { +      "version": "7.23.7", +      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", +      "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", +      "dev": true, +      "dependencies": { +        "@ampproject/remapping": "^2.2.0", +        "@babel/code-frame": "^7.23.5", +        "@babel/generator": "^7.23.6", +        "@babel/helper-compilation-targets": "^7.23.6", +        "@babel/helper-module-transforms": "^7.23.3", +        "@babel/helpers": "^7.23.7", +        "@babel/parser": "^7.23.6", +        "@babel/template": "^7.22.15", +        "@babel/traverse": "^7.23.7", +        "@babel/types": "^7.23.6", +        "convert-source-map": "^2.0.0", +        "debug": "^4.1.0", +        "gensync": "^1.0.0-beta.2", +        "json5": "^2.2.3", +        "semver": "^6.3.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/babel" +      } +    }, +    "node_modules/@babel/generator": { +      "version": "7.23.6", +      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", +      "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", +      "dev": true, +      "dependencies": { +        "@babel/types": "^7.23.6", +        "@jridgewell/gen-mapping": "^0.3.2", +        "@jridgewell/trace-mapping": "^0.3.17", +        "jsesc": "^2.5.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-compilation-targets": { +      "version": "7.23.6", +      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", +      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", +      "dev": true, +      "dependencies": { +        "@babel/compat-data": "^7.23.5", +        "@babel/helper-validator-option": "^7.23.5", +        "browserslist": "^4.22.2", +        "lru-cache": "^5.1.1", +        "semver": "^6.3.1" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-environment-visitor": { +      "version": "7.22.20", +      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", +      "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", +      "dev": true, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-function-name": { +      "version": "7.23.0", +      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", +      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", +      "dev": true, +      "dependencies": { +        "@babel/template": "^7.22.15", +        "@babel/types": "^7.23.0" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-hoist-variables": { +      "version": "7.22.5", +      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", +      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", +      "dev": true, +      "dependencies": { +        "@babel/types": "^7.22.5" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-module-imports": { +      "version": "7.22.15", +      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", +      "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", +      "dev": true, +      "dependencies": { +        "@babel/types": "^7.22.15" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-module-transforms": { +      "version": "7.23.3", +      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", +      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", +      "dev": true, +      "dependencies": { +        "@babel/helper-environment-visitor": "^7.22.20", +        "@babel/helper-module-imports": "^7.22.15", +        "@babel/helper-simple-access": "^7.22.5", +        "@babel/helper-split-export-declaration": "^7.22.6", +        "@babel/helper-validator-identifier": "^7.22.20" +      }, +      "engines": { +        "node": ">=6.9.0" +      }, +      "peerDependencies": { +        "@babel/core": "^7.0.0" +      } +    }, +    "node_modules/@babel/helper-simple-access": { +      "version": "7.22.5", +      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", +      "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", +      "dev": true, +      "dependencies": { +        "@babel/types": "^7.22.5" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-split-export-declaration": { +      "version": "7.22.6", +      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", +      "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", +      "dev": true, +      "dependencies": { +        "@babel/types": "^7.22.5" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-string-parser": { +      "version": "7.23.4", +      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", +      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", +      "dev": true, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-validator-identifier": { +      "version": "7.22.20", +      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", +      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", +      "dev": true, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helper-validator-option": { +      "version": "7.23.5", +      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", +      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", +      "dev": true, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/helpers": { +      "version": "7.23.8", +      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", +      "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", +      "dev": true, +      "dependencies": { +        "@babel/template": "^7.22.15", +        "@babel/traverse": "^7.23.7", +        "@babel/types": "^7.23.6" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/highlight": { +      "version": "7.23.4", +      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", +      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", +      "dev": true, +      "dependencies": { +        "@babel/helper-validator-identifier": "^7.22.20", +        "chalk": "^2.4.2", +        "js-tokens": "^4.0.0" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/parser": { +      "version": "7.23.6", +      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", +      "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", +      "dev": true, +      "bin": { +        "parser": "bin/babel-parser.js" +      }, +      "engines": { +        "node": ">=6.0.0" +      } +    }, +    "node_modules/@babel/template": { +      "version": "7.22.15", +      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", +      "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", +      "dev": true, +      "dependencies": { +        "@babel/code-frame": "^7.22.13", +        "@babel/parser": "^7.22.15", +        "@babel/types": "^7.22.15" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/traverse": { +      "version": "7.23.7", +      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", +      "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", +      "dev": true, +      "dependencies": { +        "@babel/code-frame": "^7.23.5", +        "@babel/generator": "^7.23.6", +        "@babel/helper-environment-visitor": "^7.22.20", +        "@babel/helper-function-name": "^7.23.0", +        "@babel/helper-hoist-variables": "^7.22.5", +        "@babel/helper-split-export-declaration": "^7.22.6", +        "@babel/parser": "^7.23.6", +        "@babel/types": "^7.23.6", +        "debug": "^4.3.1", +        "globals": "^11.1.0" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@babel/types": { +      "version": "7.23.6", +      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", +      "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", +      "dev": true, +      "dependencies": { +        "@babel/helper-string-parser": "^7.23.4", +        "@babel/helper-validator-identifier": "^7.22.20", +        "to-fast-properties": "^2.0.0" +      }, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/@discoveryjs/json-ext": { +      "version": "0.5.7", +      "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", +      "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", +      "dev": true, +      "engines": { +        "node": ">=10.0.0" +      } +    }, +    "node_modules/@jridgewell/gen-mapping": { +      "version": "0.3.3", +      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", +      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", +      "dev": true, +      "dependencies": { +        "@jridgewell/set-array": "^1.0.1", +        "@jridgewell/sourcemap-codec": "^1.4.10", +        "@jridgewell/trace-mapping": "^0.3.9" +      }, +      "engines": { +        "node": ">=6.0.0" +      } +    }, +    "node_modules/@jridgewell/resolve-uri": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", +      "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", +      "dev": true, +      "engines": { +        "node": ">=6.0.0" +      } +    }, +    "node_modules/@jridgewell/set-array": { +      "version": "1.1.2", +      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", +      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", +      "dev": true, +      "engines": { +        "node": ">=6.0.0" +      } +    }, +    "node_modules/@jridgewell/source-map": { +      "version": "0.3.5", +      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", +      "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", +      "dev": true, +      "dependencies": { +        "@jridgewell/gen-mapping": "^0.3.0", +        "@jridgewell/trace-mapping": "^0.3.9" +      } +    }, +    "node_modules/@jridgewell/sourcemap-codec": { +      "version": "1.4.15", +      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", +      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", +      "dev": true +    }, +    "node_modules/@jridgewell/trace-mapping": { +      "version": "0.3.22", +      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", +      "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", +      "dev": true, +      "dependencies": { +        "@jridgewell/resolve-uri": "^3.1.0", +        "@jridgewell/sourcemap-codec": "^1.4.14" +      } +    }, +    "node_modules/@nativescript-community/perms": { +      "version": "2.3.1", +      "resolved": "https://registry.npmjs.org/@nativescript-community/perms/-/perms-2.3.1.tgz", +      "integrity": "sha512-UkrK64eOf21gbu//i0eJGHio+YS1/VtCcWIIDUS2xo22VtI0Kj/xtV32l4Ot82sic6ARXid2kHL94VRnaF+LCw==" +    }, +    "node_modules/@nativescript/android": { +      "version": "8.6.2", +      "resolved": "https://registry.npmjs.org/@nativescript/android/-/android-8.6.2.tgz", +      "integrity": "sha512-z93vjHgy7Z8SCPBHS/fDGYnJJQIgqrd6nSJ7tWbTIxnDPwMSYUxdA4T0dnjgGrnIkvpkGfUGOAxgjS9TnIp90Q==", +      "dev": true +    }, +    "node_modules/@nativescript/core": { +      "version": "8.6.2", +      "resolved": "https://registry.npmjs.org/@nativescript/core/-/core-8.6.2.tgz", +      "integrity": "sha512-TR5tGS6vqcRIeDU7hrf7pA7rXHB7b+U29rmjXG83jmS4y1Yd03kjoOqmIP6UZq7JBYogk0MW476qVUdsAXHfNw==", +      "hasInstallScript": true, +      "dependencies": { +        "@nativescript/hook": "~2.0.0", +        "acorn": "^8.7.0", +        "css-tree": "^1.1.2", +        "emoji-regex": "^10.2.1", +        "reduce-css-calc": "^2.1.7", +        "tslib": "^2.0.0" +      } +    }, +    "node_modules/@nativescript/hook": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/@nativescript/hook/-/hook-2.0.0.tgz", +      "integrity": "sha512-v3Hj3Zpd69sQJfFpDNXonV0EjO1a2OL4l48wlo1Ycsqk4r7RY822d/irFTjt0LllRG0OcdEGgfG6wKb0YgPyHw==", +      "dependencies": { +        "glob": "^7.1.0", +        "mkdirp": "^1.0.4" +      } +    }, +    "node_modules/@nativescript/theme": { +      "version": "3.0.2", +      "resolved": "https://registry.npmjs.org/@nativescript/theme/-/theme-3.0.2.tgz", +      "integrity": "sha512-ypwYyasTFRWbaxNwdqXgql9MUZsq82Stgd+zj4LEjp5cBQPPIWFeJ8uxWdtbpjHjjuTWYW/FCMmnuayOF7uK/g==" +    }, +    "node_modules/@nativescript/types": { +      "version": "8.6.1", +      "resolved": "https://registry.npmjs.org/@nativescript/types/-/types-8.6.1.tgz", +      "integrity": "sha512-G5QI4tW2XCF8ux4zlBmcbmyi0piCNZTXEKfA2UHqWWRDH1J8fRvgAdRhahT9bBO5aO53TsCkcgvB7qpWD6yVFg==", +      "dev": true, +      "dependencies": { +        "@nativescript/types-android": "~8.6.0", +        "@nativescript/types-ios": "~8.6.0" +      } +    }, +    "node_modules/@nativescript/types-android": { +      "version": "8.6.1", +      "resolved": "https://registry.npmjs.org/@nativescript/types-android/-/types-android-8.6.1.tgz", +      "integrity": "sha512-h9wI+XLKOz7gyTkXVXFy33jaIG7DZ97wkLJr8rj66DZXTeTukcbex9NKlfn4OLWCmDK6GF+ec9X4POJW18935Q==", +      "dev": true +    }, +    "node_modules/@nativescript/types-ios": { +      "version": "8.6.1", +      "resolved": "https://registry.npmjs.org/@nativescript/types-ios/-/types-ios-8.6.1.tgz", +      "integrity": "sha512-g2NsJbqy72+HlPsczUp1oE+PPXgAZh8/Ww7uc6qoCt2w2fvyfHx18hMPdcICnzclRZ7Cn7Ekf8HrWSaJFbfqiA==", +      "dev": true +    }, +    "node_modules/@nativescript/webpack": { +      "version": "5.0.18", +      "resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.18.tgz", +      "integrity": "sha512-7rexBkHGeT2C+u7WLKc4PDWwmE1DFv/qz1iTpAKd3E7qQbdJpr80ZLY6uoSo0LTOT/dbDFkiIJDYoHIMvFv9NA==", +      "dev": true, +      "dependencies": { +        "@babel/core": "^7.0.0", +        "@pmmmwh/react-refresh-webpack-plugin": "~0.5.7", +        "acorn": "^8.0.0", +        "acorn-stage3": "^4.0.0", +        "ansi-colors": "^4.1.3", +        "babel-loader": "^8.0.0", +        "cli-highlight": "^2.0.0", +        "commander": "^8.0.0", +        "copy-webpack-plugin": "^9.0.0", +        "css": "^3.0.0", +        "css-loader": "^6.0.0", +        "dotenv-webpack": "^7.0.0", +        "fork-ts-checker-webpack-plugin": "^7.0.0", +        "loader-utils": "^2.0.0 || ^3.0.0", +        "lodash.get": "^4.0.0", +        "micromatch": "^4.0.0", +        "postcss": "^8.0.0", +        "postcss-import": "^14.0.0", +        "postcss-loader": "^7.0.0", +        "raw-loader": "^4.0.0", +        "react-refresh": "~0.14.0", +        "sass": "^1.0.0", +        "sass-loader": "^13.0.0", +        "sax": "^1.0.0", +        "source-map": "^0.7.0", +        "terser-webpack-plugin": "^5.0.0", +        "ts-dedent": "^2.0.0", +        "ts-loader": "^9.0.0", +        "vue-loader": "^15.0.0 <= 15.9.8", +        "webpack": "^5.30.0 <= 5.50.0 || ^5.51.2", +        "webpack-bundle-analyzer": "^4.0.0", +        "webpack-chain": "^6.0.0", +        "webpack-cli": "^4.0.0", +        "webpack-merge": "^5.0.0", +        "webpack-virtual-modules": "^0.4.0" +      }, +      "bin": { +        "nativescript-webpack": "dist/bin/index.js" +      }, +      "peerDependencies": { +        "nativescript-vue-template-compiler": "^2.8.1" +      }, +      "peerDependenciesMeta": { +        "nativescript-vue-template-compiler": { +          "optional": true +        } +      } +    }, +    "node_modules/@nodelib/fs.scandir": { +      "version": "2.1.5", +      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", +      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", +      "dev": true, +      "dependencies": { +        "@nodelib/fs.stat": "2.0.5", +        "run-parallel": "^1.1.9" +      }, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/@nodelib/fs.stat": { +      "version": "2.0.5", +      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", +      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", +      "dev": true, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/@nodelib/fs.walk": { +      "version": "1.2.8", +      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", +      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", +      "dev": true, +      "dependencies": { +        "@nodelib/fs.scandir": "2.1.5", +        "fastq": "^1.6.0" +      }, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/@pmmmwh/react-refresh-webpack-plugin": { +      "version": "0.5.11", +      "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", +      "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", +      "dev": true, +      "dependencies": { +        "ansi-html-community": "^0.0.8", +        "common-path-prefix": "^3.0.0", +        "core-js-pure": "^3.23.3", +        "error-stack-parser": "^2.0.6", +        "find-up": "^5.0.0", +        "html-entities": "^2.1.0", +        "loader-utils": "^2.0.4", +        "schema-utils": "^3.0.0", +        "source-map": "^0.7.3" +      }, +      "engines": { +        "node": ">= 10.13" +      }, +      "peerDependencies": { +        "@types/webpack": "4.x || 5.x", +        "react-refresh": ">=0.10.0 <1.0.0", +        "sockjs-client": "^1.4.0", +        "type-fest": ">=0.17.0 <5.0.0", +        "webpack": ">=4.43.0 <6.0.0", +        "webpack-dev-server": "3.x || 4.x", +        "webpack-hot-middleware": "2.x", +        "webpack-plugin-serve": "0.x || 1.x" +      }, +      "peerDependenciesMeta": { +        "@types/webpack": { +          "optional": true +        }, +        "sockjs-client": { +          "optional": true +        }, +        "type-fest": { +          "optional": true +        }, +        "webpack-dev-server": { +          "optional": true +        }, +        "webpack-hot-middleware": { +          "optional": true +        }, +        "webpack-plugin-serve": { +          "optional": true +        } +      } +    }, +    "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/loader-utils": { +      "version": "2.0.4", +      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", +      "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", +      "dev": true, +      "dependencies": { +        "big.js": "^5.2.2", +        "emojis-list": "^3.0.0", +        "json5": "^2.1.2" +      }, +      "engines": { +        "node": ">=8.9.0" +      } +    }, +    "node_modules/@polka/url": { +      "version": "1.0.0-next.24", +      "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", +      "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", +      "dev": true +    }, +    "node_modules/@types/eslint": { +      "version": "8.56.2", +      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", +      "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", +      "dev": true, +      "dependencies": { +        "@types/estree": "*", +        "@types/json-schema": "*" +      } +    }, +    "node_modules/@types/eslint-scope": { +      "version": "3.7.7", +      "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", +      "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", +      "dev": true, +      "dependencies": { +        "@types/eslint": "*", +        "@types/estree": "*" +      } +    }, +    "node_modules/@types/estree": { +      "version": "1.0.5", +      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", +      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", +      "dev": true +    }, +    "node_modules/@types/json-schema": { +      "version": "7.0.15", +      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", +      "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", +      "dev": true +    }, +    "node_modules/@types/node": { +      "version": "20.11.6", +      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.6.tgz", +      "integrity": "sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==", +      "dev": true, +      "dependencies": { +        "undici-types": "~5.26.4" +      } +    }, +    "node_modules/@types/parse-json": { +      "version": "4.0.2", +      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", +      "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", +      "dev": true +    }, +    "node_modules/@vue/component-compiler-utils": { +      "version": "3.3.0", +      "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", +      "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", +      "dev": true, +      "dependencies": { +        "consolidate": "^0.15.1", +        "hash-sum": "^1.0.2", +        "lru-cache": "^4.1.2", +        "merge-source-map": "^1.1.0", +        "postcss": "^7.0.36", +        "postcss-selector-parser": "^6.0.2", +        "source-map": "~0.6.1", +        "vue-template-es2015-compiler": "^1.9.0" +      }, +      "optionalDependencies": { +        "prettier": "^1.18.2 || ^2.0.0" +      } +    }, +    "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { +      "version": "4.1.5", +      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", +      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", +      "dev": true, +      "dependencies": { +        "pseudomap": "^1.0.2", +        "yallist": "^2.1.2" +      } +    }, +    "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { +      "version": "0.2.1", +      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", +      "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", +      "dev": true +    }, +    "node_modules/@vue/component-compiler-utils/node_modules/postcss": { +      "version": "7.0.39", +      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", +      "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", +      "dev": true, +      "dependencies": { +        "picocolors": "^0.2.1", +        "source-map": "^0.6.1" +      }, +      "engines": { +        "node": ">=6.0.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/postcss/" +      } +    }, +    "node_modules/@vue/component-compiler-utils/node_modules/source-map": { +      "version": "0.6.1", +      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/@vue/component-compiler-utils/node_modules/yallist": { +      "version": "2.1.2", +      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", +      "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", +      "dev": true +    }, +    "node_modules/@webassemblyjs/ast": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", +      "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", +      "dev": true, +      "dependencies": { +        "@webassemblyjs/helper-numbers": "1.11.6", +        "@webassemblyjs/helper-wasm-bytecode": "1.11.6" +      } +    }, +    "node_modules/@webassemblyjs/floating-point-hex-parser": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", +      "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", +      "dev": true +    }, +    "node_modules/@webassemblyjs/helper-api-error": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", +      "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", +      "dev": true +    }, +    "node_modules/@webassemblyjs/helper-buffer": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", +      "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", +      "dev": true +    }, +    "node_modules/@webassemblyjs/helper-numbers": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", +      "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", +      "dev": true, +      "dependencies": { +        "@webassemblyjs/floating-point-hex-parser": "1.11.6", +        "@webassemblyjs/helper-api-error": "1.11.6", +        "@xtuc/long": "4.2.2" +      } +    }, +    "node_modules/@webassemblyjs/helper-wasm-bytecode": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", +      "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", +      "dev": true +    }, +    "node_modules/@webassemblyjs/helper-wasm-section": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", +      "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", +      "dev": true, +      "dependencies": { +        "@webassemblyjs/ast": "1.11.6", +        "@webassemblyjs/helper-buffer": "1.11.6", +        "@webassemblyjs/helper-wasm-bytecode": "1.11.6", +        "@webassemblyjs/wasm-gen": "1.11.6" +      } +    }, +    "node_modules/@webassemblyjs/ieee754": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", +      "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", +      "dev": true, +      "dependencies": { +        "@xtuc/ieee754": "^1.2.0" +      } +    }, +    "node_modules/@webassemblyjs/leb128": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", +      "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", +      "dev": true, +      "dependencies": { +        "@xtuc/long": "4.2.2" +      } +    }, +    "node_modules/@webassemblyjs/utf8": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", +      "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", +      "dev": true +    }, +    "node_modules/@webassemblyjs/wasm-edit": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", +      "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", +      "dev": true, +      "dependencies": { +        "@webassemblyjs/ast": "1.11.6", +        "@webassemblyjs/helper-buffer": "1.11.6", +        "@webassemblyjs/helper-wasm-bytecode": "1.11.6", +        "@webassemblyjs/helper-wasm-section": "1.11.6", +        "@webassemblyjs/wasm-gen": "1.11.6", +        "@webassemblyjs/wasm-opt": "1.11.6", +        "@webassemblyjs/wasm-parser": "1.11.6", +        "@webassemblyjs/wast-printer": "1.11.6" +      } +    }, +    "node_modules/@webassemblyjs/wasm-gen": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", +      "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", +      "dev": true, +      "dependencies": { +        "@webassemblyjs/ast": "1.11.6", +        "@webassemblyjs/helper-wasm-bytecode": "1.11.6", +        "@webassemblyjs/ieee754": "1.11.6", +        "@webassemblyjs/leb128": "1.11.6", +        "@webassemblyjs/utf8": "1.11.6" +      } +    }, +    "node_modules/@webassemblyjs/wasm-opt": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", +      "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", +      "dev": true, +      "dependencies": { +        "@webassemblyjs/ast": "1.11.6", +        "@webassemblyjs/helper-buffer": "1.11.6", +        "@webassemblyjs/wasm-gen": "1.11.6", +        "@webassemblyjs/wasm-parser": "1.11.6" +      } +    }, +    "node_modules/@webassemblyjs/wasm-parser": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", +      "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", +      "dev": true, +      "dependencies": { +        "@webassemblyjs/ast": "1.11.6", +        "@webassemblyjs/helper-api-error": "1.11.6", +        "@webassemblyjs/helper-wasm-bytecode": "1.11.6", +        "@webassemblyjs/ieee754": "1.11.6", +        "@webassemblyjs/leb128": "1.11.6", +        "@webassemblyjs/utf8": "1.11.6" +      } +    }, +    "node_modules/@webassemblyjs/wast-printer": { +      "version": "1.11.6", +      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", +      "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", +      "dev": true, +      "dependencies": { +        "@webassemblyjs/ast": "1.11.6", +        "@xtuc/long": "4.2.2" +      } +    }, +    "node_modules/@webpack-cli/configtest": { +      "version": "1.2.0", +      "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", +      "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", +      "dev": true, +      "peerDependencies": { +        "webpack": "4.x.x || 5.x.x", +        "webpack-cli": "4.x.x" +      } +    }, +    "node_modules/@webpack-cli/info": { +      "version": "1.5.0", +      "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", +      "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", +      "dev": true, +      "dependencies": { +        "envinfo": "^7.7.3" +      }, +      "peerDependencies": { +        "webpack-cli": "4.x.x" +      } +    }, +    "node_modules/@webpack-cli/serve": { +      "version": "1.7.0", +      "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", +      "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", +      "dev": true, +      "peerDependencies": { +        "webpack-cli": "4.x.x" +      }, +      "peerDependenciesMeta": { +        "webpack-dev-server": { +          "optional": true +        } +      } +    }, +    "node_modules/@xtuc/ieee754": { +      "version": "1.2.0", +      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", +      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", +      "dev": true +    }, +    "node_modules/@xtuc/long": { +      "version": "4.2.2", +      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", +      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", +      "dev": true +    }, +    "node_modules/acorn": { +      "version": "8.11.3", +      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", +      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", +      "bin": { +        "acorn": "bin/acorn" +      }, +      "engines": { +        "node": ">=0.4.0" +      } +    }, +    "node_modules/acorn-class-fields": { +      "version": "0.3.7", +      "resolved": "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.3.7.tgz", +      "integrity": "sha512-jdUWSFce0fuADUljmExz4TWpPkxmRW/ZCPRqeeUzbGf0vFUcpQYbyq52l75qGd0oSwwtAepeL6hgb/naRgvcKQ==", +      "dev": true, +      "dependencies": { +        "acorn-private-class-elements": "^0.2.7" +      }, +      "engines": { +        "node": ">=4.8.2" +      }, +      "peerDependencies": { +        "acorn": "^6 || ^7 || ^8" +      } +    }, +    "node_modules/acorn-import-assertions": { +      "version": "1.9.0", +      "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", +      "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", +      "dev": true, +      "peerDependencies": { +        "acorn": "^8" +      } +    }, +    "node_modules/acorn-private-class-elements": { +      "version": "0.2.7", +      "resolved": "https://registry.npmjs.org/acorn-private-class-elements/-/acorn-private-class-elements-0.2.7.tgz", +      "integrity": "sha512-+GZH2wOKNZOBI4OOPmzpo4cs6mW297sn6fgIk1dUI08jGjhAaEwvC39mN2gJAg2lmAQJ1rBkFqKWonL3Zz6PVA==", +      "dev": true, +      "engines": { +        "node": ">=4.8.2" +      }, +      "peerDependencies": { +        "acorn": "^6.1.0 || ^7 || ^8" +      } +    }, +    "node_modules/acorn-private-methods": { +      "version": "0.3.3", +      "resolved": "https://registry.npmjs.org/acorn-private-methods/-/acorn-private-methods-0.3.3.tgz", +      "integrity": "sha512-46oeEol3YFvLSah5m9hGMlNpxDBCEkdceJgf01AjqKYTK9r6HexKs2rgSbLK81pYjZZMonhftuUReGMlbbv05w==", +      "dev": true, +      "dependencies": { +        "acorn-private-class-elements": "^0.2.7" +      }, +      "engines": { +        "node": ">=4.8.2" +      }, +      "peerDependencies": { +        "acorn": "^6 || ^7 || ^8" +      } +    }, +    "node_modules/acorn-stage3": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/acorn-stage3/-/acorn-stage3-4.0.0.tgz", +      "integrity": "sha512-BR+LaADtA6GTB5prkNqWmlmCLYmkyW0whvSxdHhbupTaro2qBJ95fJDEiRLPUmiACGHPaYyeH9xmNJWdGfXRQw==", +      "dev": true, +      "dependencies": { +        "acorn-class-fields": "^0.3.7", +        "acorn-private-methods": "^0.3.3", +        "acorn-static-class-features": "^0.2.4" +      }, +      "engines": { +        "node": ">=4.8.2" +      }, +      "peerDependencies": { +        "acorn": "^7.4 || ^8" +      } +    }, +    "node_modules/acorn-static-class-features": { +      "version": "0.2.4", +      "resolved": "https://registry.npmjs.org/acorn-static-class-features/-/acorn-static-class-features-0.2.4.tgz", +      "integrity": "sha512-5X4mpYq5J3pdndLmIB0+WtFd/mKWnNYpuTlTzj32wUu/PMmEGOiayQ5UrqgwdBNiaZBtDDh5kddpP7Yg2QaQYA==", +      "dev": true, +      "dependencies": { +        "acorn-private-class-elements": "^0.2.7" +      }, +      "engines": { +        "node": ">=4.8.2" +      }, +      "peerDependencies": { +        "acorn": "^6.1.0 || ^7 || ^8" +      } +    }, +    "node_modules/acorn-walk": { +      "version": "8.3.2", +      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", +      "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", +      "dev": true, +      "engines": { +        "node": ">=0.4.0" +      } +    }, +    "node_modules/ajv": { +      "version": "6.12.6", +      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", +      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", +      "dev": true, +      "dependencies": { +        "fast-deep-equal": "^3.1.1", +        "fast-json-stable-stringify": "^2.0.0", +        "json-schema-traverse": "^0.4.1", +        "uri-js": "^4.2.2" +      }, +      "funding": { +        "type": "github", +        "url": "https://github.com/sponsors/epoberezkin" +      } +    }, +    "node_modules/ajv-keywords": { +      "version": "3.5.2", +      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", +      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", +      "dev": true, +      "peerDependencies": { +        "ajv": "^6.9.1" +      } +    }, +    "node_modules/ansi-colors": { +      "version": "4.1.3", +      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", +      "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", +      "dev": true, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/ansi-html-community": { +      "version": "0.0.8", +      "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", +      "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", +      "dev": true, +      "engines": [ +        "node >= 0.8.0" +      ], +      "bin": { +        "ansi-html": "bin/ansi-html" +      } +    }, +    "node_modules/ansi-regex": { +      "version": "5.0.1", +      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", +      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/ansi-styles": { +      "version": "3.2.1", +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", +      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", +      "dev": true, +      "dependencies": { +        "color-convert": "^1.9.0" +      }, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/any-promise": { +      "version": "1.3.0", +      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", +      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", +      "dev": true +    }, +    "node_modules/anymatch": { +      "version": "3.1.3", +      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", +      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", +      "dev": true, +      "dependencies": { +        "normalize-path": "^3.0.0", +        "picomatch": "^2.0.4" +      }, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/argparse": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", +      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", +      "dev": true +    }, +    "node_modules/array-union": { +      "version": "2.1.0", +      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", +      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/atob": { +      "version": "2.1.2", +      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", +      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", +      "dev": true, +      "bin": { +        "atob": "bin/atob.js" +      }, +      "engines": { +        "node": ">= 4.5.0" +      } +    }, +    "node_modules/babel-loader": { +      "version": "8.3.0", +      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", +      "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", +      "dev": true, +      "dependencies": { +        "find-cache-dir": "^3.3.1", +        "loader-utils": "^2.0.0", +        "make-dir": "^3.1.0", +        "schema-utils": "^2.6.5" +      }, +      "engines": { +        "node": ">= 8.9" +      }, +      "peerDependencies": { +        "@babel/core": "^7.0.0", +        "webpack": ">=2" +      } +    }, +    "node_modules/babel-loader/node_modules/loader-utils": { +      "version": "2.0.4", +      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", +      "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", +      "dev": true, +      "dependencies": { +        "big.js": "^5.2.2", +        "emojis-list": "^3.0.0", +        "json5": "^2.1.2" +      }, +      "engines": { +        "node": ">=8.9.0" +      } +    }, +    "node_modules/babel-loader/node_modules/schema-utils": { +      "version": "2.7.1", +      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", +      "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", +      "dev": true, +      "dependencies": { +        "@types/json-schema": "^7.0.5", +        "ajv": "^6.12.4", +        "ajv-keywords": "^3.5.2" +      }, +      "engines": { +        "node": ">= 8.9.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      } +    }, +    "node_modules/balanced-match": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", +      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" +    }, +    "node_modules/big.js": { +      "version": "5.2.2", +      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", +      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", +      "dev": true, +      "engines": { +        "node": "*" +      } +    }, +    "node_modules/binary-extensions": { +      "version": "2.2.0", +      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", +      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/bluebird": { +      "version": "3.7.2", +      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", +      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", +      "dev": true +    }, +    "node_modules/brace-expansion": { +      "version": "1.1.11", +      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", +      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", +      "dependencies": { +        "balanced-match": "^1.0.0", +        "concat-map": "0.0.1" +      } +    }, +    "node_modules/braces": { +      "version": "3.0.2", +      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", +      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", +      "dev": true, +      "dependencies": { +        "fill-range": "^7.0.1" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/browserslist": { +      "version": "4.22.2", +      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", +      "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", +      "dev": true, +      "funding": [ +        { +          "type": "opencollective", +          "url": "https://opencollective.com/browserslist" +        }, +        { +          "type": "tidelift", +          "url": "https://tidelift.com/funding/github/npm/browserslist" +        }, +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ], +      "dependencies": { +        "caniuse-lite": "^1.0.30001565", +        "electron-to-chromium": "^1.4.601", +        "node-releases": "^2.0.14", +        "update-browserslist-db": "^1.0.13" +      }, +      "bin": { +        "browserslist": "cli.js" +      }, +      "engines": { +        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" +      } +    }, +    "node_modules/buffer-from": { +      "version": "1.1.2", +      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", +      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", +      "dev": true +    }, +    "node_modules/callsites": { +      "version": "3.1.0", +      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", +      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", +      "dev": true, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/caniuse-lite": { +      "version": "1.0.30001580", +      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz", +      "integrity": "sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==", +      "dev": true, +      "funding": [ +        { +          "type": "opencollective", +          "url": "https://opencollective.com/browserslist" +        }, +        { +          "type": "tidelift", +          "url": "https://tidelift.com/funding/github/npm/caniuse-lite" +        }, +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ] +    }, +    "node_modules/chalk": { +      "version": "2.4.2", +      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", +      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", +      "dev": true, +      "dependencies": { +        "ansi-styles": "^3.2.1", +        "escape-string-regexp": "^1.0.5", +        "supports-color": "^5.3.0" +      }, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/chokidar": { +      "version": "3.5.3", +      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", +      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", +      "dev": true, +      "funding": [ +        { +          "type": "individual", +          "url": "https://paulmillr.com/funding/" +        } +      ], +      "dependencies": { +        "anymatch": "~3.1.2", +        "braces": "~3.0.2", +        "glob-parent": "~5.1.2", +        "is-binary-path": "~2.1.0", +        "is-glob": "~4.0.1", +        "normalize-path": "~3.0.0", +        "readdirp": "~3.6.0" +      }, +      "engines": { +        "node": ">= 8.10.0" +      }, +      "optionalDependencies": { +        "fsevents": "~2.3.2" +      } +    }, +    "node_modules/chokidar/node_modules/glob-parent": { +      "version": "5.1.2", +      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", +      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", +      "dev": true, +      "dependencies": { +        "is-glob": "^4.0.1" +      }, +      "engines": { +        "node": ">= 6" +      } +    }, +    "node_modules/chrome-trace-event": { +      "version": "1.0.3", +      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", +      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", +      "dev": true, +      "engines": { +        "node": ">=6.0" +      } +    }, +    "node_modules/cli-highlight": { +      "version": "2.1.11", +      "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", +      "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", +      "dev": true, +      "dependencies": { +        "chalk": "^4.0.0", +        "highlight.js": "^10.7.1", +        "mz": "^2.4.0", +        "parse5": "^5.1.1", +        "parse5-htmlparser2-tree-adapter": "^6.0.0", +        "yargs": "^16.0.0" +      }, +      "bin": { +        "highlight": "bin/highlight" +      }, +      "engines": { +        "node": ">=8.0.0", +        "npm": ">=5.0.0" +      } +    }, +    "node_modules/cli-highlight/node_modules/ansi-styles": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", +      "dev": true, +      "dependencies": { +        "color-convert": "^2.0.1" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/chalk/ansi-styles?sponsor=1" +      } +    }, +    "node_modules/cli-highlight/node_modules/chalk": { +      "version": "4.1.2", +      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", +      "dev": true, +      "dependencies": { +        "ansi-styles": "^4.1.0", +        "supports-color": "^7.1.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/chalk/chalk?sponsor=1" +      } +    }, +    "node_modules/cli-highlight/node_modules/color-convert": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", +      "dev": true, +      "dependencies": { +        "color-name": "~1.1.4" +      }, +      "engines": { +        "node": ">=7.0.0" +      } +    }, +    "node_modules/cli-highlight/node_modules/color-name": { +      "version": "1.1.4", +      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", +      "dev": true +    }, +    "node_modules/cli-highlight/node_modules/has-flag": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/cli-highlight/node_modules/supports-color": { +      "version": "7.2.0", +      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +      "dev": true, +      "dependencies": { +        "has-flag": "^4.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/cliui": { +      "version": "7.0.4", +      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", +      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", +      "dev": true, +      "dependencies": { +        "string-width": "^4.2.0", +        "strip-ansi": "^6.0.0", +        "wrap-ansi": "^7.0.0" +      } +    }, +    "node_modules/clone-deep": { +      "version": "4.0.1", +      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", +      "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", +      "dev": true, +      "dependencies": { +        "is-plain-object": "^2.0.4", +        "kind-of": "^6.0.2", +        "shallow-clone": "^3.0.0" +      }, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/clone-deep/node_modules/is-plain-object": { +      "version": "2.0.4", +      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", +      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", +      "dev": true, +      "dependencies": { +        "isobject": "^3.0.1" +      }, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/color-convert": { +      "version": "1.9.3", +      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", +      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", +      "dev": true, +      "dependencies": { +        "color-name": "1.1.3" +      } +    }, +    "node_modules/color-name": { +      "version": "1.1.3", +      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", +      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", +      "dev": true +    }, +    "node_modules/colorette": { +      "version": "2.0.20", +      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", +      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", +      "dev": true +    }, +    "node_modules/commander": { +      "version": "8.3.0", +      "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", +      "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", +      "dev": true, +      "engines": { +        "node": ">= 12" +      } +    }, +    "node_modules/common-path-prefix": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", +      "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", +      "dev": true +    }, +    "node_modules/commondir": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", +      "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", +      "dev": true +    }, +    "node_modules/concat-map": { +      "version": "0.0.1", +      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", +      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" +    }, +    "node_modules/consolidate": { +      "version": "0.15.1", +      "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", +      "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", +      "deprecated": "Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog", +      "dev": true, +      "dependencies": { +        "bluebird": "^3.1.1" +      }, +      "engines": { +        "node": ">= 0.10.0" +      } +    }, +    "node_modules/convert-source-map": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", +      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", +      "dev": true +    }, +    "node_modules/copy-webpack-plugin": { +      "version": "9.1.0", +      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", +      "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", +      "dev": true, +      "dependencies": { +        "fast-glob": "^3.2.7", +        "glob-parent": "^6.0.1", +        "globby": "^11.0.3", +        "normalize-path": "^3.0.0", +        "schema-utils": "^3.1.1", +        "serialize-javascript": "^6.0.0" +      }, +      "engines": { +        "node": ">= 12.13.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      }, +      "peerDependencies": { +        "webpack": "^5.1.0" +      } +    }, +    "node_modules/core-js-pure": { +      "version": "3.35.1", +      "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.35.1.tgz", +      "integrity": "sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==", +      "dev": true, +      "hasInstallScript": true, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/core-js" +      } +    }, +    "node_modules/cosmiconfig": { +      "version": "7.1.0", +      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", +      "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", +      "dev": true, +      "dependencies": { +        "@types/parse-json": "^4.0.0", +        "import-fresh": "^3.2.1", +        "parse-json": "^5.0.0", +        "path-type": "^4.0.0", +        "yaml": "^1.10.0" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/cross-spawn": { +      "version": "7.0.3", +      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", +      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", +      "dev": true, +      "dependencies": { +        "path-key": "^3.1.0", +        "shebang-command": "^2.0.0", +        "which": "^2.0.1" +      }, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/css": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", +      "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", +      "dev": true, +      "dependencies": { +        "inherits": "^2.0.4", +        "source-map": "^0.6.1", +        "source-map-resolve": "^0.6.0" +      } +    }, +    "node_modules/css-loader": { +      "version": "6.9.1", +      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.9.1.tgz", +      "integrity": "sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ==", +      "dev": true, +      "dependencies": { +        "icss-utils": "^5.1.0", +        "postcss": "^8.4.33", +        "postcss-modules-extract-imports": "^3.0.0", +        "postcss-modules-local-by-default": "^4.0.4", +        "postcss-modules-scope": "^3.1.1", +        "postcss-modules-values": "^4.0.0", +        "postcss-value-parser": "^4.2.0", +        "semver": "^7.5.4" +      }, +      "engines": { +        "node": ">= 12.13.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      }, +      "peerDependencies": { +        "webpack": "^5.0.0" +      } +    }, +    "node_modules/css-loader/node_modules/lru-cache": { +      "version": "6.0.0", +      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", +      "dev": true, +      "dependencies": { +        "yallist": "^4.0.0" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/css-loader/node_modules/semver": { +      "version": "7.5.4", +      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", +      "dev": true, +      "dependencies": { +        "lru-cache": "^6.0.0" +      }, +      "bin": { +        "semver": "bin/semver.js" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/css-loader/node_modules/yallist": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", +      "dev": true +    }, +    "node_modules/css-tree": { +      "version": "1.1.3", +      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", +      "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", +      "dependencies": { +        "mdn-data": "2.0.14", +        "source-map": "^0.6.1" +      }, +      "engines": { +        "node": ">=8.0.0" +      } +    }, +    "node_modules/css-tree/node_modules/source-map": { +      "version": "0.6.1", +      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/css-unit-converter": { +      "version": "1.1.2", +      "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", +      "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" +    }, +    "node_modules/css/node_modules/source-map": { +      "version": "0.6.1", +      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/cssesc": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", +      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", +      "dev": true, +      "bin": { +        "cssesc": "bin/cssesc" +      }, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/debounce": { +      "version": "1.2.1", +      "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", +      "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", +      "dev": true +    }, +    "node_modules/debug": { +      "version": "4.3.4", +      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", +      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", +      "dev": true, +      "dependencies": { +        "ms": "2.1.2" +      }, +      "engines": { +        "node": ">=6.0" +      }, +      "peerDependenciesMeta": { +        "supports-color": { +          "optional": true +        } +      } +    }, +    "node_modules/decode-uri-component": { +      "version": "0.2.2", +      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", +      "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", +      "dev": true, +      "engines": { +        "node": ">=0.10" +      } +    }, +    "node_modules/deepmerge": { +      "version": "4.3.1", +      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", +      "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/dir-glob": { +      "version": "3.0.1", +      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", +      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", +      "dev": true, +      "dependencies": { +        "path-type": "^4.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/dotenv": { +      "version": "8.6.0", +      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", +      "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", +      "dev": true, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/dotenv-defaults": { +      "version": "2.0.2", +      "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", +      "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", +      "dev": true, +      "dependencies": { +        "dotenv": "^8.2.0" +      } +    }, +    "node_modules/dotenv-webpack": { +      "version": "7.1.1", +      "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.1.1.tgz", +      "integrity": "sha512-xw/19VqHDkXALtBOJAnnrSU/AZDIQRXczAmJyp0lZv6SH2aBLzUTl96W1MVryJZ7okZ+djZS4Gj4KlZ0xP7deA==", +      "dev": true, +      "dependencies": { +        "dotenv-defaults": "^2.0.2" +      }, +      "engines": { +        "node": ">=10" +      }, +      "peerDependencies": { +        "webpack": "^4 || ^5" +      } +    }, +    "node_modules/duplexer": { +      "version": "0.1.2", +      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", +      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", +      "dev": true +    }, +    "node_modules/electron-to-chromium": { +      "version": "1.4.645", +      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.645.tgz", +      "integrity": "sha512-EeS1oQDCmnYsRDRy2zTeC336a/4LZ6WKqvSaM1jLocEk5ZuyszkQtCpsqvuvaIXGOUjwtvF6LTcS8WueibXvSw==", +      "dev": true +    }, +    "node_modules/emoji-regex": { +      "version": "10.3.0", +      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", +      "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" +    }, +    "node_modules/emojis-list": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", +      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", +      "dev": true, +      "engines": { +        "node": ">= 4" +      } +    }, +    "node_modules/enhanced-resolve": { +      "version": "5.15.0", +      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", +      "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", +      "dev": true, +      "dependencies": { +        "graceful-fs": "^4.2.4", +        "tapable": "^2.2.0" +      }, +      "engines": { +        "node": ">=10.13.0" +      } +    }, +    "node_modules/envinfo": { +      "version": "7.11.0", +      "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", +      "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", +      "dev": true, +      "bin": { +        "envinfo": "dist/cli.js" +      }, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/error-ex": { +      "version": "1.3.2", +      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", +      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", +      "dev": true, +      "dependencies": { +        "is-arrayish": "^0.2.1" +      } +    }, +    "node_modules/error-stack-parser": { +      "version": "2.1.4", +      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", +      "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", +      "dev": true, +      "dependencies": { +        "stackframe": "^1.3.4" +      } +    }, +    "node_modules/es-module-lexer": { +      "version": "1.4.1", +      "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", +      "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", +      "dev": true +    }, +    "node_modules/escalade": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", +      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", +      "dev": true, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/escape-string-regexp": { +      "version": "1.0.5", +      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", +      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", +      "dev": true, +      "engines": { +        "node": ">=0.8.0" +      } +    }, +    "node_modules/eslint-scope": { +      "version": "5.1.1", +      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", +      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", +      "dev": true, +      "dependencies": { +        "esrecurse": "^4.3.0", +        "estraverse": "^4.1.1" +      }, +      "engines": { +        "node": ">=8.0.0" +      } +    }, +    "node_modules/esrecurse": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", +      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", +      "dev": true, +      "dependencies": { +        "estraverse": "^5.2.0" +      }, +      "engines": { +        "node": ">=4.0" +      } +    }, +    "node_modules/esrecurse/node_modules/estraverse": { +      "version": "5.3.0", +      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", +      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", +      "dev": true, +      "engines": { +        "node": ">=4.0" +      } +    }, +    "node_modules/estraverse": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", +      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", +      "dev": true, +      "engines": { +        "node": ">=4.0" +      } +    }, +    "node_modules/events": { +      "version": "3.3.0", +      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", +      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", +      "dev": true, +      "engines": { +        "node": ">=0.8.x" +      } +    }, +    "node_modules/fast-deep-equal": { +      "version": "3.1.3", +      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", +      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", +      "dev": true +    }, +    "node_modules/fast-glob": { +      "version": "3.3.2", +      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", +      "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", +      "dev": true, +      "dependencies": { +        "@nodelib/fs.stat": "^2.0.2", +        "@nodelib/fs.walk": "^1.2.3", +        "glob-parent": "^5.1.2", +        "merge2": "^1.3.0", +        "micromatch": "^4.0.4" +      }, +      "engines": { +        "node": ">=8.6.0" +      } +    }, +    "node_modules/fast-glob/node_modules/glob-parent": { +      "version": "5.1.2", +      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", +      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", +      "dev": true, +      "dependencies": { +        "is-glob": "^4.0.1" +      }, +      "engines": { +        "node": ">= 6" +      } +    }, +    "node_modules/fast-json-stable-stringify": { +      "version": "2.1.0", +      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", +      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", +      "dev": true +    }, +    "node_modules/fastest-levenshtein": { +      "version": "1.0.16", +      "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", +      "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", +      "dev": true, +      "engines": { +        "node": ">= 4.9.1" +      } +    }, +    "node_modules/fastq": { +      "version": "1.16.0", +      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", +      "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", +      "dev": true, +      "dependencies": { +        "reusify": "^1.0.4" +      } +    }, +    "node_modules/fill-range": { +      "version": "7.0.1", +      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", +      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", +      "dev": true, +      "dependencies": { +        "to-regex-range": "^5.0.1" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/find-cache-dir": { +      "version": "3.3.2", +      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", +      "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", +      "dev": true, +      "dependencies": { +        "commondir": "^1.0.1", +        "make-dir": "^3.0.2", +        "pkg-dir": "^4.1.0" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/avajs/find-cache-dir?sponsor=1" +      } +    }, +    "node_modules/find-up": { +      "version": "5.0.0", +      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", +      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", +      "dev": true, +      "dependencies": { +        "locate-path": "^6.0.0", +        "path-exists": "^4.0.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/flat": { +      "version": "5.0.2", +      "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", +      "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", +      "dev": true, +      "bin": { +        "flat": "cli.js" +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin": { +      "version": "7.3.0", +      "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.3.0.tgz", +      "integrity": "sha512-IN+XTzusCjR5VgntYFgxbxVx3WraPRnKehBFrf00cMSrtUuW9MsG9dhL6MWpY6MkjC3wVwoujfCDgZZCQwbswA==", +      "dev": true, +      "dependencies": { +        "@babel/code-frame": "^7.16.7", +        "chalk": "^4.1.2", +        "chokidar": "^3.5.3", +        "cosmiconfig": "^7.0.1", +        "deepmerge": "^4.2.2", +        "fs-extra": "^10.0.0", +        "memfs": "^3.4.1", +        "minimatch": "^3.0.4", +        "node-abort-controller": "^3.0.1", +        "schema-utils": "^3.1.1", +        "semver": "^7.3.5", +        "tapable": "^2.2.1" +      }, +      "engines": { +        "node": ">=12.13.0", +        "yarn": ">=1.0.0" +      }, +      "peerDependencies": { +        "typescript": ">3.6.0", +        "vue-template-compiler": "*", +        "webpack": "^5.11.0" +      }, +      "peerDependenciesMeta": { +        "vue-template-compiler": { +          "optional": true +        } +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", +      "dev": true, +      "dependencies": { +        "color-convert": "^2.0.1" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/chalk/ansi-styles?sponsor=1" +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { +      "version": "4.1.2", +      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", +      "dev": true, +      "dependencies": { +        "ansi-styles": "^4.1.0", +        "supports-color": "^7.1.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/chalk/chalk?sponsor=1" +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", +      "dev": true, +      "dependencies": { +        "color-name": "~1.1.4" +      }, +      "engines": { +        "node": ">=7.0.0" +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { +      "version": "1.1.4", +      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", +      "dev": true +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { +      "version": "6.0.0", +      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", +      "dev": true, +      "dependencies": { +        "yallist": "^4.0.0" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { +      "version": "7.5.4", +      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", +      "dev": true, +      "dependencies": { +        "lru-cache": "^6.0.0" +      }, +      "bin": { +        "semver": "bin/semver.js" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { +      "version": "7.2.0", +      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +      "dev": true, +      "dependencies": { +        "has-flag": "^4.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", +      "dev": true +    }, +    "node_modules/fs-extra": { +      "version": "10.1.0", +      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", +      "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", +      "dev": true, +      "dependencies": { +        "graceful-fs": "^4.2.0", +        "jsonfile": "^6.0.1", +        "universalify": "^2.0.0" +      }, +      "engines": { +        "node": ">=12" +      } +    }, +    "node_modules/fs-monkey": { +      "version": "1.0.5", +      "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", +      "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", +      "dev": true +    }, +    "node_modules/fs.realpath": { +      "version": "1.0.0", +      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", +      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" +    }, +    "node_modules/fsevents": { +      "version": "2.3.3", +      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", +      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", +      "dev": true, +      "hasInstallScript": true, +      "optional": true, +      "os": [ +        "darwin" +      ], +      "engines": { +        "node": "^8.16.0 || ^10.6.0 || >=11.0.0" +      } +    }, +    "node_modules/function-bind": { +      "version": "1.1.2", +      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", +      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", +      "dev": true, +      "funding": { +        "url": "https://github.com/sponsors/ljharb" +      } +    }, +    "node_modules/gensync": { +      "version": "1.0.0-beta.2", +      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", +      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", +      "dev": true, +      "engines": { +        "node": ">=6.9.0" +      } +    }, +    "node_modules/get-caller-file": { +      "version": "2.0.5", +      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", +      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", +      "dev": true, +      "engines": { +        "node": "6.* || 8.* || >= 10.*" +      } +    }, +    "node_modules/glob": { +      "version": "7.2.3", +      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", +      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", +      "dependencies": { +        "fs.realpath": "^1.0.0", +        "inflight": "^1.0.4", +        "inherits": "2", +        "minimatch": "^3.1.1", +        "once": "^1.3.0", +        "path-is-absolute": "^1.0.0" +      }, +      "engines": { +        "node": "*" +      }, +      "funding": { +        "url": "https://github.com/sponsors/isaacs" +      } +    }, +    "node_modules/glob-parent": { +      "version": "6.0.2", +      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", +      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", +      "dev": true, +      "dependencies": { +        "is-glob": "^4.0.3" +      }, +      "engines": { +        "node": ">=10.13.0" +      } +    }, +    "node_modules/glob-to-regexp": { +      "version": "0.4.1", +      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", +      "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", +      "dev": true +    }, +    "node_modules/globals": { +      "version": "11.12.0", +      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", +      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", +      "dev": true, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/globby": { +      "version": "11.1.0", +      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", +      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", +      "dev": true, +      "dependencies": { +        "array-union": "^2.1.0", +        "dir-glob": "^3.0.1", +        "fast-glob": "^3.2.9", +        "ignore": "^5.2.0", +        "merge2": "^1.4.1", +        "slash": "^3.0.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/graceful-fs": { +      "version": "4.2.11", +      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", +      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", +      "dev": true +    }, +    "node_modules/gzip-size": { +      "version": "6.0.0", +      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", +      "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", +      "dev": true, +      "dependencies": { +        "duplexer": "^0.1.2" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/has-flag": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", +      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", +      "dev": true, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/hash-sum": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", +      "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", +      "dev": true +    }, +    "node_modules/hasown": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", +      "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", +      "dev": true, +      "dependencies": { +        "function-bind": "^1.1.2" +      }, +      "engines": { +        "node": ">= 0.4" +      } +    }, +    "node_modules/highlight.js": { +      "version": "10.7.3", +      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", +      "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", +      "dev": true, +      "engines": { +        "node": "*" +      } +    }, +    "node_modules/html-entities": { +      "version": "2.4.0", +      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", +      "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", +      "dev": true, +      "funding": [ +        { +          "type": "github", +          "url": "https://github.com/sponsors/mdevils" +        }, +        { +          "type": "patreon", +          "url": "https://patreon.com/mdevils" +        } +      ] +    }, +    "node_modules/html-escaper": { +      "version": "2.0.2", +      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", +      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", +      "dev": true +    }, +    "node_modules/icss-utils": { +      "version": "5.1.0", +      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", +      "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", +      "dev": true, +      "engines": { +        "node": "^10 || ^12 || >= 14" +      }, +      "peerDependencies": { +        "postcss": "^8.1.0" +      } +    }, +    "node_modules/ignore": { +      "version": "5.3.0", +      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", +      "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", +      "dev": true, +      "engines": { +        "node": ">= 4" +      } +    }, +    "node_modules/immutable": { +      "version": "4.3.4", +      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", +      "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", +      "dev": true +    }, +    "node_modules/import-fresh": { +      "version": "3.3.0", +      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", +      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", +      "dev": true, +      "dependencies": { +        "parent-module": "^1.0.0", +        "resolve-from": "^4.0.0" +      }, +      "engines": { +        "node": ">=6" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/import-local": { +      "version": "3.1.0", +      "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", +      "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", +      "dev": true, +      "dependencies": { +        "pkg-dir": "^4.2.0", +        "resolve-cwd": "^3.0.0" +      }, +      "bin": { +        "import-local-fixture": "fixtures/cli.js" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/inflight": { +      "version": "1.0.6", +      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", +      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", +      "dependencies": { +        "once": "^1.3.0", +        "wrappy": "1" +      } +    }, +    "node_modules/inherits": { +      "version": "2.0.4", +      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", +      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" +    }, +    "node_modules/interpret": { +      "version": "2.2.0", +      "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", +      "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", +      "dev": true, +      "engines": { +        "node": ">= 0.10" +      } +    }, +    "node_modules/is-arrayish": { +      "version": "0.2.1", +      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", +      "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", +      "dev": true +    }, +    "node_modules/is-binary-path": { +      "version": "2.1.0", +      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", +      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", +      "dev": true, +      "dependencies": { +        "binary-extensions": "^2.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/is-core-module": { +      "version": "2.13.1", +      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", +      "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", +      "dev": true, +      "dependencies": { +        "hasown": "^2.0.0" +      }, +      "funding": { +        "url": "https://github.com/sponsors/ljharb" +      } +    }, +    "node_modules/is-extglob": { +      "version": "2.1.1", +      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", +      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/is-fullwidth-code-point": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", +      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/is-glob": { +      "version": "4.0.3", +      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", +      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", +      "dev": true, +      "dependencies": { +        "is-extglob": "^2.1.1" +      }, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/is-number": { +      "version": "7.0.0", +      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", +      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", +      "dev": true, +      "engines": { +        "node": ">=0.12.0" +      } +    }, +    "node_modules/is-plain-object": { +      "version": "5.0.0", +      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", +      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/isexe": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", +      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", +      "dev": true +    }, +    "node_modules/isobject": { +      "version": "3.0.1", +      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", +      "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/javascript-stringify": { +      "version": "2.1.0", +      "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", +      "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", +      "dev": true +    }, +    "node_modules/jest-worker": { +      "version": "27.5.1", +      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", +      "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", +      "dev": true, +      "dependencies": { +        "@types/node": "*", +        "merge-stream": "^2.0.0", +        "supports-color": "^8.0.0" +      }, +      "engines": { +        "node": ">= 10.13.0" +      } +    }, +    "node_modules/jest-worker/node_modules/has-flag": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/jest-worker/node_modules/supports-color": { +      "version": "8.1.1", +      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", +      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", +      "dev": true, +      "dependencies": { +        "has-flag": "^4.0.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/chalk/supports-color?sponsor=1" +      } +    }, +    "node_modules/jiti": { +      "version": "1.21.0", +      "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", +      "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", +      "dev": true, +      "bin": { +        "jiti": "bin/jiti.js" +      } +    }, +    "node_modules/js-tokens": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", +      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", +      "dev": true +    }, +    "node_modules/js-yaml": { +      "version": "4.1.0", +      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", +      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", +      "dev": true, +      "dependencies": { +        "argparse": "^2.0.1" +      }, +      "bin": { +        "js-yaml": "bin/js-yaml.js" +      } +    }, +    "node_modules/jsesc": { +      "version": "2.5.2", +      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", +      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", +      "dev": true, +      "bin": { +        "jsesc": "bin/jsesc" +      }, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/json-parse-even-better-errors": { +      "version": "2.3.1", +      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", +      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", +      "dev": true +    }, +    "node_modules/json-schema-traverse": { +      "version": "0.4.1", +      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", +      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", +      "dev": true +    }, +    "node_modules/json5": { +      "version": "2.2.3", +      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", +      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", +      "dev": true, +      "bin": { +        "json5": "lib/cli.js" +      }, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/jsonfile": { +      "version": "6.1.0", +      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", +      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", +      "dev": true, +      "dependencies": { +        "universalify": "^2.0.0" +      }, +      "optionalDependencies": { +        "graceful-fs": "^4.1.6" +      } +    }, +    "node_modules/kind-of": { +      "version": "6.0.3", +      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", +      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/lines-and-columns": { +      "version": "1.2.4", +      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", +      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", +      "dev": true +    }, +    "node_modules/loader-runner": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", +      "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", +      "dev": true, +      "engines": { +        "node": ">=6.11.5" +      } +    }, +    "node_modules/loader-utils": { +      "version": "3.2.1", +      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", +      "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", +      "dev": true, +      "engines": { +        "node": ">= 12.13.0" +      } +    }, +    "node_modules/locate-path": { +      "version": "6.0.0", +      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", +      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", +      "dev": true, +      "dependencies": { +        "p-locate": "^5.0.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/lodash.get": { +      "version": "4.4.2", +      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", +      "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", +      "dev": true +    }, +    "node_modules/lru-cache": { +      "version": "5.1.1", +      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", +      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", +      "dev": true, +      "dependencies": { +        "yallist": "^3.0.2" +      } +    }, +    "node_modules/make-dir": { +      "version": "3.1.0", +      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", +      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", +      "dev": true, +      "dependencies": { +        "semver": "^6.0.0" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/mdn-data": { +      "version": "2.0.14", +      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", +      "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" +    }, +    "node_modules/memfs": { +      "version": "3.5.3", +      "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", +      "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", +      "dev": true, +      "dependencies": { +        "fs-monkey": "^1.0.4" +      }, +      "engines": { +        "node": ">= 4.0.0" +      } +    }, +    "node_modules/merge-source-map": { +      "version": "1.1.0", +      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", +      "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", +      "dev": true, +      "dependencies": { +        "source-map": "^0.6.1" +      } +    }, +    "node_modules/merge-source-map/node_modules/source-map": { +      "version": "0.6.1", +      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/merge-stream": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", +      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", +      "dev": true +    }, +    "node_modules/merge2": { +      "version": "1.4.1", +      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", +      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", +      "dev": true, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/micromatch": { +      "version": "4.0.5", +      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", +      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", +      "dev": true, +      "dependencies": { +        "braces": "^3.0.2", +        "picomatch": "^2.3.1" +      }, +      "engines": { +        "node": ">=8.6" +      } +    }, +    "node_modules/mime-db": { +      "version": "1.52.0", +      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", +      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", +      "dev": true, +      "engines": { +        "node": ">= 0.6" +      } +    }, +    "node_modules/mime-types": { +      "version": "2.1.35", +      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", +      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", +      "dev": true, +      "dependencies": { +        "mime-db": "1.52.0" +      }, +      "engines": { +        "node": ">= 0.6" +      } +    }, +    "node_modules/minimatch": { +      "version": "3.1.2", +      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", +      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", +      "dependencies": { +        "brace-expansion": "^1.1.7" +      }, +      "engines": { +        "node": "*" +      } +    }, +    "node_modules/minimist": { +      "version": "1.2.8", +      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", +      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", +      "dev": true, +      "funding": { +        "url": "https://github.com/sponsors/ljharb" +      } +    }, +    "node_modules/mkdirp": { +      "version": "1.0.4", +      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", +      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", +      "bin": { +        "mkdirp": "bin/cmd.js" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/mrmime": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", +      "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", +      "dev": true, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/ms": { +      "version": "2.1.2", +      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", +      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", +      "dev": true +    }, +    "node_modules/mz": { +      "version": "2.7.0", +      "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", +      "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", +      "dev": true, +      "dependencies": { +        "any-promise": "^1.0.0", +        "object-assign": "^4.0.1", +        "thenify-all": "^1.0.0" +      } +    }, +    "node_modules/nanoid": { +      "version": "3.3.7", +      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", +      "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", +      "dev": true, +      "funding": [ +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ], +      "bin": { +        "nanoid": "bin/nanoid.cjs" +      }, +      "engines": { +        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" +      } +    }, +    "node_modules/neo-async": { +      "version": "2.6.2", +      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", +      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", +      "dev": true +    }, +    "node_modules/node-abort-controller": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", +      "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", +      "dev": true +    }, +    "node_modules/node-releases": { +      "version": "2.0.14", +      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", +      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", +      "dev": true +    }, +    "node_modules/normalize-path": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", +      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/object-assign": { +      "version": "4.1.1", +      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", +      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/once": { +      "version": "1.4.0", +      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", +      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", +      "dependencies": { +        "wrappy": "1" +      } +    }, +    "node_modules/opener": { +      "version": "1.5.2", +      "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", +      "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", +      "dev": true, +      "bin": { +        "opener": "bin/opener-bin.js" +      } +    }, +    "node_modules/p-limit": { +      "version": "3.1.0", +      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", +      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", +      "dev": true, +      "dependencies": { +        "yocto-queue": "^0.1.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/p-locate": { +      "version": "5.0.0", +      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", +      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", +      "dev": true, +      "dependencies": { +        "p-limit": "^3.0.2" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/p-try": { +      "version": "2.2.0", +      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", +      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", +      "dev": true, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/parent-module": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", +      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", +      "dev": true, +      "dependencies": { +        "callsites": "^3.0.0" +      }, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/parse-json": { +      "version": "5.2.0", +      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", +      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", +      "dev": true, +      "dependencies": { +        "@babel/code-frame": "^7.0.0", +        "error-ex": "^1.3.1", +        "json-parse-even-better-errors": "^2.3.0", +        "lines-and-columns": "^1.1.6" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/parse5": { +      "version": "5.1.1", +      "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", +      "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", +      "dev": true +    }, +    "node_modules/parse5-htmlparser2-tree-adapter": { +      "version": "6.0.1", +      "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", +      "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", +      "dev": true, +      "dependencies": { +        "parse5": "^6.0.1" +      } +    }, +    "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { +      "version": "6.0.1", +      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", +      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", +      "dev": true +    }, +    "node_modules/path-exists": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", +      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/path-is-absolute": { +      "version": "1.0.1", +      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", +      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/path-key": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", +      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/path-parse": { +      "version": "1.0.7", +      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", +      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", +      "dev": true +    }, +    "node_modules/path-type": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", +      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/picocolors": { +      "version": "1.0.0", +      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", +      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", +      "dev": true +    }, +    "node_modules/picomatch": { +      "version": "2.3.1", +      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", +      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", +      "dev": true, +      "engines": { +        "node": ">=8.6" +      }, +      "funding": { +        "url": "https://github.com/sponsors/jonschlinkert" +      } +    }, +    "node_modules/pify": { +      "version": "2.3.0", +      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", +      "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/pkg-dir": { +      "version": "4.2.0", +      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", +      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", +      "dev": true, +      "dependencies": { +        "find-up": "^4.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/pkg-dir/node_modules/find-up": { +      "version": "4.1.0", +      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", +      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", +      "dev": true, +      "dependencies": { +        "locate-path": "^5.0.0", +        "path-exists": "^4.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/pkg-dir/node_modules/locate-path": { +      "version": "5.0.0", +      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", +      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", +      "dev": true, +      "dependencies": { +        "p-locate": "^4.1.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/pkg-dir/node_modules/p-limit": { +      "version": "2.3.0", +      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", +      "dev": true, +      "dependencies": { +        "p-try": "^2.0.0" +      }, +      "engines": { +        "node": ">=6" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/pkg-dir/node_modules/p-locate": { +      "version": "4.1.0", +      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", +      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", +      "dev": true, +      "dependencies": { +        "p-limit": "^2.2.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/postcss": { +      "version": "8.4.33", +      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", +      "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", +      "dev": true, +      "funding": [ +        { +          "type": "opencollective", +          "url": "https://opencollective.com/postcss/" +        }, +        { +          "type": "tidelift", +          "url": "https://tidelift.com/funding/github/npm/postcss" +        }, +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ], +      "dependencies": { +        "nanoid": "^3.3.7", +        "picocolors": "^1.0.0", +        "source-map-js": "^1.0.2" +      }, +      "engines": { +        "node": "^10 || ^12 || >=14" +      } +    }, +    "node_modules/postcss-import": { +      "version": "14.1.0", +      "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", +      "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", +      "dev": true, +      "dependencies": { +        "postcss-value-parser": "^4.0.0", +        "read-cache": "^1.0.0", +        "resolve": "^1.1.7" +      }, +      "engines": { +        "node": ">=10.0.0" +      }, +      "peerDependencies": { +        "postcss": "^8.0.0" +      } +    }, +    "node_modules/postcss-loader": { +      "version": "7.3.4", +      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", +      "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", +      "dev": true, +      "dependencies": { +        "cosmiconfig": "^8.3.5", +        "jiti": "^1.20.0", +        "semver": "^7.5.4" +      }, +      "engines": { +        "node": ">= 14.15.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      }, +      "peerDependencies": { +        "postcss": "^7.0.0 || ^8.0.1", +        "webpack": "^5.0.0" +      } +    }, +    "node_modules/postcss-loader/node_modules/cosmiconfig": { +      "version": "8.3.6", +      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", +      "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", +      "dev": true, +      "dependencies": { +        "import-fresh": "^3.3.0", +        "js-yaml": "^4.1.0", +        "parse-json": "^5.2.0", +        "path-type": "^4.0.0" +      }, +      "engines": { +        "node": ">=14" +      }, +      "funding": { +        "url": "https://github.com/sponsors/d-fischer" +      }, +      "peerDependencies": { +        "typescript": ">=4.9.5" +      }, +      "peerDependenciesMeta": { +        "typescript": { +          "optional": true +        } +      } +    }, +    "node_modules/postcss-loader/node_modules/lru-cache": { +      "version": "6.0.0", +      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", +      "dev": true, +      "dependencies": { +        "yallist": "^4.0.0" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/postcss-loader/node_modules/semver": { +      "version": "7.5.4", +      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", +      "dev": true, +      "dependencies": { +        "lru-cache": "^6.0.0" +      }, +      "bin": { +        "semver": "bin/semver.js" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/postcss-loader/node_modules/yallist": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", +      "dev": true +    }, +    "node_modules/postcss-modules-extract-imports": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", +      "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", +      "dev": true, +      "engines": { +        "node": "^10 || ^12 || >= 14" +      }, +      "peerDependencies": { +        "postcss": "^8.1.0" +      } +    }, +    "node_modules/postcss-modules-local-by-default": { +      "version": "4.0.4", +      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", +      "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", +      "dev": true, +      "dependencies": { +        "icss-utils": "^5.0.0", +        "postcss-selector-parser": "^6.0.2", +        "postcss-value-parser": "^4.1.0" +      }, +      "engines": { +        "node": "^10 || ^12 || >= 14" +      }, +      "peerDependencies": { +        "postcss": "^8.1.0" +      } +    }, +    "node_modules/postcss-modules-scope": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", +      "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", +      "dev": true, +      "dependencies": { +        "postcss-selector-parser": "^6.0.4" +      }, +      "engines": { +        "node": "^10 || ^12 || >= 14" +      }, +      "peerDependencies": { +        "postcss": "^8.1.0" +      } +    }, +    "node_modules/postcss-modules-values": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", +      "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", +      "dev": true, +      "dependencies": { +        "icss-utils": "^5.0.0" +      }, +      "engines": { +        "node": "^10 || ^12 || >= 14" +      }, +      "peerDependencies": { +        "postcss": "^8.1.0" +      } +    }, +    "node_modules/postcss-selector-parser": { +      "version": "6.0.15", +      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", +      "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", +      "dev": true, +      "dependencies": { +        "cssesc": "^3.0.0", +        "util-deprecate": "^1.0.2" +      }, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/postcss-value-parser": { +      "version": "4.2.0", +      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", +      "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", +      "dev": true +    }, +    "node_modules/prettier": { +      "version": "2.8.8", +      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", +      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", +      "dev": true, +      "optional": true, +      "bin": { +        "prettier": "bin-prettier.js" +      }, +      "engines": { +        "node": ">=10.13.0" +      }, +      "funding": { +        "url": "https://github.com/prettier/prettier?sponsor=1" +      } +    }, +    "node_modules/pseudomap": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", +      "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", +      "dev": true +    }, +    "node_modules/punycode": { +      "version": "2.3.1", +      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", +      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", +      "dev": true, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/queue-microtask": { +      "version": "1.2.3", +      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", +      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", +      "dev": true, +      "funding": [ +        { +          "type": "github", +          "url": "https://github.com/sponsors/feross" +        }, +        { +          "type": "patreon", +          "url": "https://www.patreon.com/feross" +        }, +        { +          "type": "consulting", +          "url": "https://feross.org/support" +        } +      ] +    }, +    "node_modules/randombytes": { +      "version": "2.1.0", +      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", +      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", +      "dev": true, +      "dependencies": { +        "safe-buffer": "^5.1.0" +      } +    }, +    "node_modules/raw-loader": { +      "version": "4.0.2", +      "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", +      "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", +      "dev": true, +      "dependencies": { +        "loader-utils": "^2.0.0", +        "schema-utils": "^3.0.0" +      }, +      "engines": { +        "node": ">= 10.13.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      }, +      "peerDependencies": { +        "webpack": "^4.0.0 || ^5.0.0" +      } +    }, +    "node_modules/raw-loader/node_modules/loader-utils": { +      "version": "2.0.4", +      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", +      "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", +      "dev": true, +      "dependencies": { +        "big.js": "^5.2.2", +        "emojis-list": "^3.0.0", +        "json5": "^2.1.2" +      }, +      "engines": { +        "node": ">=8.9.0" +      } +    }, +    "node_modules/react-refresh": { +      "version": "0.14.0", +      "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", +      "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/read-cache": { +      "version": "1.0.0", +      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", +      "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", +      "dev": true, +      "dependencies": { +        "pify": "^2.3.0" +      } +    }, +    "node_modules/readdirp": { +      "version": "3.6.0", +      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", +      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", +      "dev": true, +      "dependencies": { +        "picomatch": "^2.2.1" +      }, +      "engines": { +        "node": ">=8.10.0" +      } +    }, +    "node_modules/rechoir": { +      "version": "0.7.1", +      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", +      "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", +      "dev": true, +      "dependencies": { +        "resolve": "^1.9.0" +      }, +      "engines": { +        "node": ">= 0.10" +      } +    }, +    "node_modules/reduce-css-calc": { +      "version": "2.1.8", +      "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", +      "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", +      "dependencies": { +        "css-unit-converter": "^1.1.1", +        "postcss-value-parser": "^3.3.0" +      } +    }, +    "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { +      "version": "3.3.1", +      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", +      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" +    }, +    "node_modules/require-directory": { +      "version": "2.1.1", +      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", +      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/resolve": { +      "version": "1.22.8", +      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", +      "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", +      "dev": true, +      "dependencies": { +        "is-core-module": "^2.13.0", +        "path-parse": "^1.0.7", +        "supports-preserve-symlinks-flag": "^1.0.0" +      }, +      "bin": { +        "resolve": "bin/resolve" +      }, +      "funding": { +        "url": "https://github.com/sponsors/ljharb" +      } +    }, +    "node_modules/resolve-cwd": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", +      "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", +      "dev": true, +      "dependencies": { +        "resolve-from": "^5.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/resolve-cwd/node_modules/resolve-from": { +      "version": "5.0.0", +      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", +      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/resolve-from": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", +      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", +      "dev": true, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/reusify": { +      "version": "1.0.4", +      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", +      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", +      "dev": true, +      "engines": { +        "iojs": ">=1.0.0", +        "node": ">=0.10.0" +      } +    }, +    "node_modules/run-parallel": { +      "version": "1.2.0", +      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", +      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", +      "dev": true, +      "funding": [ +        { +          "type": "github", +          "url": "https://github.com/sponsors/feross" +        }, +        { +          "type": "patreon", +          "url": "https://www.patreon.com/feross" +        }, +        { +          "type": "consulting", +          "url": "https://feross.org/support" +        } +      ], +      "dependencies": { +        "queue-microtask": "^1.2.2" +      } +    }, +    "node_modules/safe-buffer": { +      "version": "5.2.1", +      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", +      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", +      "dev": true, +      "funding": [ +        { +          "type": "github", +          "url": "https://github.com/sponsors/feross" +        }, +        { +          "type": "patreon", +          "url": "https://www.patreon.com/feross" +        }, +        { +          "type": "consulting", +          "url": "https://feross.org/support" +        } +      ] +    }, +    "node_modules/sass": { +      "version": "1.70.0", +      "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", +      "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", +      "dev": true, +      "dependencies": { +        "chokidar": ">=3.0.0 <4.0.0", +        "immutable": "^4.0.0", +        "source-map-js": ">=0.6.2 <2.0.0" +      }, +      "bin": { +        "sass": "sass.js" +      }, +      "engines": { +        "node": ">=14.0.0" +      } +    }, +    "node_modules/sass-loader": { +      "version": "13.3.3", +      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.3.tgz", +      "integrity": "sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==", +      "dev": true, +      "dependencies": { +        "neo-async": "^2.6.2" +      }, +      "engines": { +        "node": ">= 14.15.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      }, +      "peerDependencies": { +        "fibers": ">= 3.1.0", +        "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", +        "sass": "^1.3.0", +        "sass-embedded": "*", +        "webpack": "^5.0.0" +      }, +      "peerDependenciesMeta": { +        "fibers": { +          "optional": true +        }, +        "node-sass": { +          "optional": true +        }, +        "sass": { +          "optional": true +        }, +        "sass-embedded": { +          "optional": true +        } +      } +    }, +    "node_modules/sax": { +      "version": "1.3.0", +      "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", +      "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", +      "dev": true +    }, +    "node_modules/schema-utils": { +      "version": "3.3.0", +      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", +      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", +      "dev": true, +      "dependencies": { +        "@types/json-schema": "^7.0.8", +        "ajv": "^6.12.5", +        "ajv-keywords": "^3.5.2" +      }, +      "engines": { +        "node": ">= 10.13.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      } +    }, +    "node_modules/semver": { +      "version": "6.3.1", +      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", +      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", +      "dev": true, +      "bin": { +        "semver": "bin/semver.js" +      } +    }, +    "node_modules/serialize-javascript": { +      "version": "6.0.2", +      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", +      "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", +      "dev": true, +      "dependencies": { +        "randombytes": "^2.1.0" +      } +    }, +    "node_modules/shallow-clone": { +      "version": "3.0.1", +      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", +      "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", +      "dev": true, +      "dependencies": { +        "kind-of": "^6.0.2" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/shebang-command": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", +      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", +      "dev": true, +      "dependencies": { +        "shebang-regex": "^3.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/shebang-regex": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", +      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/sirv": { +      "version": "2.0.4", +      "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", +      "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", +      "dev": true, +      "dependencies": { +        "@polka/url": "^1.0.0-next.24", +        "mrmime": "^2.0.0", +        "totalist": "^3.0.0" +      }, +      "engines": { +        "node": ">= 10" +      } +    }, +    "node_modules/slash": { +      "version": "3.0.0", +      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", +      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/source-map": { +      "version": "0.7.4", +      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", +      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", +      "dev": true, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/source-map-js": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", +      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/source-map-resolve": { +      "version": "0.6.0", +      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", +      "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", +      "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", +      "dev": true, +      "dependencies": { +        "atob": "^2.1.2", +        "decode-uri-component": "^0.2.0" +      } +    }, +    "node_modules/source-map-support": { +      "version": "0.5.21", +      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", +      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", +      "dev": true, +      "dependencies": { +        "buffer-from": "^1.0.0", +        "source-map": "^0.6.0" +      } +    }, +    "node_modules/source-map-support/node_modules/source-map": { +      "version": "0.6.1", +      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", +      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/stackframe": { +      "version": "1.3.4", +      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", +      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", +      "dev": true +    }, +    "node_modules/string-width": { +      "version": "4.2.3", +      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", +      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", +      "dev": true, +      "dependencies": { +        "emoji-regex": "^8.0.0", +        "is-fullwidth-code-point": "^3.0.0", +        "strip-ansi": "^6.0.1" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/string-width/node_modules/emoji-regex": { +      "version": "8.0.0", +      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", +      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", +      "dev": true +    }, +    "node_modules/strip-ansi": { +      "version": "6.0.1", +      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", +      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", +      "dev": true, +      "dependencies": { +        "ansi-regex": "^5.0.1" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/supports-color": { +      "version": "5.5.0", +      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", +      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", +      "dev": true, +      "dependencies": { +        "has-flag": "^3.0.0" +      }, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/supports-preserve-symlinks-flag": { +      "version": "1.0.0", +      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", +      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", +      "dev": true, +      "engines": { +        "node": ">= 0.4" +      }, +      "funding": { +        "url": "https://github.com/sponsors/ljharb" +      } +    }, +    "node_modules/tapable": { +      "version": "2.2.1", +      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", +      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", +      "dev": true, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/terser": { +      "version": "5.27.0", +      "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", +      "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", +      "dev": true, +      "dependencies": { +        "@jridgewell/source-map": "^0.3.3", +        "acorn": "^8.8.2", +        "commander": "^2.20.0", +        "source-map-support": "~0.5.20" +      }, +      "bin": { +        "terser": "bin/terser" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/terser-webpack-plugin": { +      "version": "5.3.10", +      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", +      "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", +      "dev": true, +      "dependencies": { +        "@jridgewell/trace-mapping": "^0.3.20", +        "jest-worker": "^27.4.5", +        "schema-utils": "^3.1.1", +        "serialize-javascript": "^6.0.1", +        "terser": "^5.26.0" +      }, +      "engines": { +        "node": ">= 10.13.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      }, +      "peerDependencies": { +        "webpack": "^5.1.0" +      }, +      "peerDependenciesMeta": { +        "@swc/core": { +          "optional": true +        }, +        "esbuild": { +          "optional": true +        }, +        "uglify-js": { +          "optional": true +        } +      } +    }, +    "node_modules/terser/node_modules/commander": { +      "version": "2.20.3", +      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", +      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", +      "dev": true +    }, +    "node_modules/thenify": { +      "version": "3.3.1", +      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", +      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", +      "dev": true, +      "dependencies": { +        "any-promise": "^1.0.0" +      } +    }, +    "node_modules/thenify-all": { +      "version": "1.6.0", +      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", +      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", +      "dev": true, +      "dependencies": { +        "thenify": ">= 3.1.0 < 4" +      }, +      "engines": { +        "node": ">=0.8" +      } +    }, +    "node_modules/to-fast-properties": { +      "version": "2.0.0", +      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", +      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", +      "dev": true, +      "engines": { +        "node": ">=4" +      } +    }, +    "node_modules/to-regex-range": { +      "version": "5.0.1", +      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", +      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", +      "dev": true, +      "dependencies": { +        "is-number": "^7.0.0" +      }, +      "engines": { +        "node": ">=8.0" +      } +    }, +    "node_modules/totalist": { +      "version": "3.0.1", +      "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", +      "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", +      "dev": true, +      "engines": { +        "node": ">=6" +      } +    }, +    "node_modules/ts-dedent": { +      "version": "2.2.0", +      "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", +      "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", +      "dev": true, +      "engines": { +        "node": ">=6.10" +      } +    }, +    "node_modules/ts-loader": { +      "version": "9.5.1", +      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", +      "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", +      "dev": true, +      "dependencies": { +        "chalk": "^4.1.0", +        "enhanced-resolve": "^5.0.0", +        "micromatch": "^4.0.0", +        "semver": "^7.3.4", +        "source-map": "^0.7.4" +      }, +      "engines": { +        "node": ">=12.0.0" +      }, +      "peerDependencies": { +        "typescript": "*", +        "webpack": "^5.0.0" +      } +    }, +    "node_modules/ts-loader/node_modules/ansi-styles": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", +      "dev": true, +      "dependencies": { +        "color-convert": "^2.0.1" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/chalk/ansi-styles?sponsor=1" +      } +    }, +    "node_modules/ts-loader/node_modules/chalk": { +      "version": "4.1.2", +      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", +      "dev": true, +      "dependencies": { +        "ansi-styles": "^4.1.0", +        "supports-color": "^7.1.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/chalk/chalk?sponsor=1" +      } +    }, +    "node_modules/ts-loader/node_modules/color-convert": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", +      "dev": true, +      "dependencies": { +        "color-name": "~1.1.4" +      }, +      "engines": { +        "node": ">=7.0.0" +      } +    }, +    "node_modules/ts-loader/node_modules/color-name": { +      "version": "1.1.4", +      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", +      "dev": true +    }, +    "node_modules/ts-loader/node_modules/has-flag": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", +      "dev": true, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/ts-loader/node_modules/lru-cache": { +      "version": "6.0.0", +      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", +      "dev": true, +      "dependencies": { +        "yallist": "^4.0.0" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/ts-loader/node_modules/semver": { +      "version": "7.5.4", +      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", +      "dev": true, +      "dependencies": { +        "lru-cache": "^6.0.0" +      }, +      "bin": { +        "semver": "bin/semver.js" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/ts-loader/node_modules/supports-color": { +      "version": "7.2.0", +      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +      "dev": true, +      "dependencies": { +        "has-flag": "^4.0.0" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/ts-loader/node_modules/yallist": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", +      "dev": true +    }, +    "node_modules/tslib": { +      "version": "2.6.2", +      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", +      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" +    }, +    "node_modules/typescript": { +      "version": "5.2.2", +      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", +      "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", +      "dev": true, +      "bin": { +        "tsc": "bin/tsc", +        "tsserver": "bin/tsserver" +      }, +      "engines": { +        "node": ">=14.17" +      } +    }, +    "node_modules/undici-types": { +      "version": "5.26.5", +      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", +      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", +      "dev": true +    }, +    "node_modules/universalify": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", +      "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", +      "dev": true, +      "engines": { +        "node": ">= 10.0.0" +      } +    }, +    "node_modules/update-browserslist-db": { +      "version": "1.0.13", +      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", +      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", +      "dev": true, +      "funding": [ +        { +          "type": "opencollective", +          "url": "https://opencollective.com/browserslist" +        }, +        { +          "type": "tidelift", +          "url": "https://tidelift.com/funding/github/npm/browserslist" +        }, +        { +          "type": "github", +          "url": "https://github.com/sponsors/ai" +        } +      ], +      "dependencies": { +        "escalade": "^3.1.1", +        "picocolors": "^1.0.0" +      }, +      "bin": { +        "update-browserslist-db": "cli.js" +      }, +      "peerDependencies": { +        "browserslist": ">= 4.21.0" +      } +    }, +    "node_modules/uri-js": { +      "version": "4.4.1", +      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", +      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", +      "dev": true, +      "dependencies": { +        "punycode": "^2.1.0" +      } +    }, +    "node_modules/util-deprecate": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", +      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", +      "dev": true +    }, +    "node_modules/vue-hot-reload-api": { +      "version": "2.3.4", +      "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", +      "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", +      "dev": true +    }, +    "node_modules/vue-loader": { +      "version": "15.9.8", +      "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", +      "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", +      "dev": true, +      "dependencies": { +        "@vue/component-compiler-utils": "^3.1.0", +        "hash-sum": "^1.0.2", +        "loader-utils": "^1.1.0", +        "vue-hot-reload-api": "^2.3.0", +        "vue-style-loader": "^4.1.0" +      }, +      "peerDependencies": { +        "css-loader": "*", +        "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" +      }, +      "peerDependenciesMeta": { +        "cache-loader": { +          "optional": true +        }, +        "vue-template-compiler": { +          "optional": true +        } +      } +    }, +    "node_modules/vue-loader/node_modules/json5": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", +      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", +      "dev": true, +      "dependencies": { +        "minimist": "^1.2.0" +      }, +      "bin": { +        "json5": "lib/cli.js" +      } +    }, +    "node_modules/vue-loader/node_modules/loader-utils": { +      "version": "1.4.2", +      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", +      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", +      "dev": true, +      "dependencies": { +        "big.js": "^5.2.2", +        "emojis-list": "^3.0.0", +        "json5": "^1.0.1" +      }, +      "engines": { +        "node": ">=4.0.0" +      } +    }, +    "node_modules/vue-style-loader": { +      "version": "4.1.3", +      "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", +      "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", +      "dev": true, +      "dependencies": { +        "hash-sum": "^1.0.2", +        "loader-utils": "^1.0.2" +      } +    }, +    "node_modules/vue-style-loader/node_modules/json5": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", +      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", +      "dev": true, +      "dependencies": { +        "minimist": "^1.2.0" +      }, +      "bin": { +        "json5": "lib/cli.js" +      } +    }, +    "node_modules/vue-style-loader/node_modules/loader-utils": { +      "version": "1.4.2", +      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", +      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", +      "dev": true, +      "dependencies": { +        "big.js": "^5.2.2", +        "emojis-list": "^3.0.0", +        "json5": "^1.0.1" +      }, +      "engines": { +        "node": ">=4.0.0" +      } +    }, +    "node_modules/vue-template-es2015-compiler": { +      "version": "1.9.1", +      "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", +      "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", +      "dev": true +    }, +    "node_modules/watchpack": { +      "version": "2.4.0", +      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", +      "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", +      "dev": true, +      "dependencies": { +        "glob-to-regexp": "^0.4.1", +        "graceful-fs": "^4.1.2" +      }, +      "engines": { +        "node": ">=10.13.0" +      } +    }, +    "node_modules/webpack": { +      "version": "5.90.0", +      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", +      "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", +      "dev": true, +      "dependencies": { +        "@types/eslint-scope": "^3.7.3", +        "@types/estree": "^1.0.5", +        "@webassemblyjs/ast": "^1.11.5", +        "@webassemblyjs/wasm-edit": "^1.11.5", +        "@webassemblyjs/wasm-parser": "^1.11.5", +        "acorn": "^8.7.1", +        "acorn-import-assertions": "^1.9.0", +        "browserslist": "^4.21.10", +        "chrome-trace-event": "^1.0.2", +        "enhanced-resolve": "^5.15.0", +        "es-module-lexer": "^1.2.1", +        "eslint-scope": "5.1.1", +        "events": "^3.2.0", +        "glob-to-regexp": "^0.4.1", +        "graceful-fs": "^4.2.9", +        "json-parse-even-better-errors": "^2.3.1", +        "loader-runner": "^4.2.0", +        "mime-types": "^2.1.27", +        "neo-async": "^2.6.2", +        "schema-utils": "^3.2.0", +        "tapable": "^2.1.1", +        "terser-webpack-plugin": "^5.3.10", +        "watchpack": "^2.4.0", +        "webpack-sources": "^3.2.3" +      }, +      "bin": { +        "webpack": "bin/webpack.js" +      }, +      "engines": { +        "node": ">=10.13.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      }, +      "peerDependenciesMeta": { +        "webpack-cli": { +          "optional": true +        } +      } +    }, +    "node_modules/webpack-bundle-analyzer": { +      "version": "4.10.1", +      "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", +      "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", +      "dev": true, +      "dependencies": { +        "@discoveryjs/json-ext": "0.5.7", +        "acorn": "^8.0.4", +        "acorn-walk": "^8.0.0", +        "commander": "^7.2.0", +        "debounce": "^1.2.1", +        "escape-string-regexp": "^4.0.0", +        "gzip-size": "^6.0.0", +        "html-escaper": "^2.0.2", +        "is-plain-object": "^5.0.0", +        "opener": "^1.5.2", +        "picocolors": "^1.0.0", +        "sirv": "^2.0.3", +        "ws": "^7.3.1" +      }, +      "bin": { +        "webpack-bundle-analyzer": "lib/bin/analyzer.js" +      }, +      "engines": { +        "node": ">= 10.13.0" +      } +    }, +    "node_modules/webpack-bundle-analyzer/node_modules/commander": { +      "version": "7.2.0", +      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", +      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", +      "dev": true, +      "engines": { +        "node": ">= 10" +      } +    }, +    "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { +      "version": "4.0.0", +      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", +      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", +      "dev": true, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    }, +    "node_modules/webpack-chain": { +      "version": "6.5.1", +      "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", +      "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", +      "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", +      "dev": true, +      "dependencies": { +        "deepmerge": "^1.5.2", +        "javascript-stringify": "^2.0.1" +      }, +      "engines": { +        "node": ">=8" +      } +    }, +    "node_modules/webpack-chain/node_modules/deepmerge": { +      "version": "1.5.2", +      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", +      "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", +      "dev": true, +      "engines": { +        "node": ">=0.10.0" +      } +    }, +    "node_modules/webpack-cli": { +      "version": "4.10.0", +      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", +      "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", +      "dev": true, +      "dependencies": { +        "@discoveryjs/json-ext": "^0.5.0", +        "@webpack-cli/configtest": "^1.2.0", +        "@webpack-cli/info": "^1.5.0", +        "@webpack-cli/serve": "^1.7.0", +        "colorette": "^2.0.14", +        "commander": "^7.0.0", +        "cross-spawn": "^7.0.3", +        "fastest-levenshtein": "^1.0.12", +        "import-local": "^3.0.2", +        "interpret": "^2.2.0", +        "rechoir": "^0.7.0", +        "webpack-merge": "^5.7.3" +      }, +      "bin": { +        "webpack-cli": "bin/cli.js" +      }, +      "engines": { +        "node": ">=10.13.0" +      }, +      "funding": { +        "type": "opencollective", +        "url": "https://opencollective.com/webpack" +      }, +      "peerDependencies": { +        "webpack": "4.x.x || 5.x.x" +      }, +      "peerDependenciesMeta": { +        "@webpack-cli/generators": { +          "optional": true +        }, +        "@webpack-cli/migrate": { +          "optional": true +        }, +        "webpack-bundle-analyzer": { +          "optional": true +        }, +        "webpack-dev-server": { +          "optional": true +        } +      } +    }, +    "node_modules/webpack-cli/node_modules/commander": { +      "version": "7.2.0", +      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", +      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", +      "dev": true, +      "engines": { +        "node": ">= 10" +      } +    }, +    "node_modules/webpack-merge": { +      "version": "5.10.0", +      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", +      "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", +      "dev": true, +      "dependencies": { +        "clone-deep": "^4.0.1", +        "flat": "^5.0.2", +        "wildcard": "^2.0.0" +      }, +      "engines": { +        "node": ">=10.0.0" +      } +    }, +    "node_modules/webpack-sources": { +      "version": "3.2.3", +      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", +      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", +      "dev": true, +      "engines": { +        "node": ">=10.13.0" +      } +    }, +    "node_modules/webpack-virtual-modules": { +      "version": "0.4.6", +      "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", +      "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==", +      "dev": true +    }, +    "node_modules/which": { +      "version": "2.0.2", +      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", +      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", +      "dev": true, +      "dependencies": { +        "isexe": "^2.0.0" +      }, +      "bin": { +        "node-which": "bin/node-which" +      }, +      "engines": { +        "node": ">= 8" +      } +    }, +    "node_modules/wildcard": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", +      "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", +      "dev": true +    }, +    "node_modules/wrap-ansi": { +      "version": "7.0.0", +      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", +      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", +      "dev": true, +      "dependencies": { +        "ansi-styles": "^4.0.0", +        "string-width": "^4.1.0", +        "strip-ansi": "^6.0.0" +      }, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/chalk/wrap-ansi?sponsor=1" +      } +    }, +    "node_modules/wrap-ansi/node_modules/ansi-styles": { +      "version": "4.3.0", +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", +      "dev": true, +      "dependencies": { +        "color-convert": "^2.0.1" +      }, +      "engines": { +        "node": ">=8" +      }, +      "funding": { +        "url": "https://github.com/chalk/ansi-styles?sponsor=1" +      } +    }, +    "node_modules/wrap-ansi/node_modules/color-convert": { +      "version": "2.0.1", +      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", +      "dev": true, +      "dependencies": { +        "color-name": "~1.1.4" +      }, +      "engines": { +        "node": ">=7.0.0" +      } +    }, +    "node_modules/wrap-ansi/node_modules/color-name": { +      "version": "1.1.4", +      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", +      "dev": true +    }, +    "node_modules/wrappy": { +      "version": "1.0.2", +      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", +      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" +    }, +    "node_modules/ws": { +      "version": "7.5.9", +      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", +      "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", +      "dev": true, +      "engines": { +        "node": ">=8.3.0" +      }, +      "peerDependencies": { +        "bufferutil": "^4.0.1", +        "utf-8-validate": "^5.0.2" +      }, +      "peerDependenciesMeta": { +        "bufferutil": { +          "optional": true +        }, +        "utf-8-validate": { +          "optional": true +        } +      } +    }, +    "node_modules/y18n": { +      "version": "5.0.8", +      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", +      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", +      "dev": true, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/yallist": { +      "version": "3.1.1", +      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", +      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", +      "dev": true +    }, +    "node_modules/yaml": { +      "version": "1.10.2", +      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", +      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", +      "dev": true, +      "engines": { +        "node": ">= 6" +      } +    }, +    "node_modules/yargs": { +      "version": "16.2.0", +      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", +      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", +      "dev": true, +      "dependencies": { +        "cliui": "^7.0.2", +        "escalade": "^3.1.1", +        "get-caller-file": "^2.0.5", +        "require-directory": "^2.1.1", +        "string-width": "^4.2.0", +        "y18n": "^5.0.5", +        "yargs-parser": "^20.2.2" +      }, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/yargs-parser": { +      "version": "20.2.9", +      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", +      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", +      "dev": true, +      "engines": { +        "node": ">=10" +      } +    }, +    "node_modules/yocto-queue": { +      "version": "0.1.0", +      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", +      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", +      "dev": true, +      "engines": { +        "node": ">=10" +      }, +      "funding": { +        "url": "https://github.com/sponsors/sindresorhus" +      } +    } +  } +} diff --git a/mobile-ns/package.json b/mobile-ns/package.json new file mode 100644 index 0000000..9fd93a4 --- /dev/null +++ b/mobile-ns/package.json @@ -0,0 +1,17 @@ +{ +  "name": "example-ap22", +  "main": "app/app.ts", +  "version": "1.0.0", +  "private": true, +  "dependencies": { +    "@nativescript-community/perms": "^2.3.1", +    "@nativescript/core": "~8.6.0", +    "@nativescript/theme": "~3.0.2" +  }, +  "devDependencies": { +    "@nativescript/android": "^8.6.2", +    "@nativescript/types": "~8.6.0", +    "@nativescript/webpack": "~5.0.18", +    "typescript": "~5.2.0" +  } +} diff --git a/mobile-ns/references.d.ts b/mobile-ns/references.d.ts new file mode 100644 index 0000000..d743326 --- /dev/null +++ b/mobile-ns/references.d.ts @@ -0,0 +1 @@ +/// <reference path="./node_modules/@nativescript/types/index.d.ts" /> diff --git a/mobile-ns/tsconfig.json b/mobile-ns/tsconfig.json new file mode 100644 index 0000000..ac8f256 --- /dev/null +++ b/mobile-ns/tsconfig.json @@ -0,0 +1,21 @@ +{ +  "compilerOptions": { +    "module": "esnext", +    "target": "ES2020", +    "moduleResolution": "node", +    "experimentalDecorators": true, +    "emitDecoratorMetadata": true, +    "noEmitHelpers": true, +    "noEmitOnError": true, +    "skipLibCheck": true, +    "lib": ["ESNext", "dom"], +    "baseUrl": ".", +    "paths": { +      "~/*": ["app/*"], +      "@/*": ["app/*"] +    } +  }, +  "include": ["app/**/*"], +  "files": ["./references.d.ts"], +  "exclude": ["node_modules", "platforms"] +} diff --git a/mobile-ns/webpack.config.js b/mobile-ns/webpack.config.js new file mode 100644 index 0000000..4557341 --- /dev/null +++ b/mobile-ns/webpack.config.js @@ -0,0 +1,10 @@ +const webpack = require("@nativescript/webpack"); + +module.exports = (env) => { +	webpack.init(env); + +	// Learn how to customize: +	// https://docs.nativescript.org/webpack + +	return webpack.resolveConfig(); +}; | 
