From d0273d5be4ad2cc21c6e02d84c8c221201267cc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maty=C3=A1=C5=A1=20Caras?= Date: Wed, 30 Nov 2022 16:26:40 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20vytvo=C5=99it=20z=C3=A1klad=20aplikace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .flutter | 1 + .gitignore | 46 + .gitmodules | 4 + .metadata | 33 + .vscode/settings.json | 3 + analysis_options.yaml | 29 + android/.gitignore | 13 + android/app/build.gradle | 71 + android/app/src/debug/AndroidManifest.xml | 8 + android/app/src/main/AndroidManifest.xml | 34 + .../cz/hernikplays/cvak/MainActivity.kt | 6 + .../drawable-hdpi/ic_launcher_foreground.png | Bin 0 -> 2530 bytes .../drawable-mdpi/ic_launcher_foreground.png | Bin 0 -> 1920 bytes .../res/drawable-v21/launch_background.xml | 12 + .../drawable-xhdpi/ic_launcher_foreground.png | Bin 0 -> 3503 bytes .../ic_launcher_foreground.png | Bin 0 -> 5290 bytes .../ic_launcher_foreground.png | Bin 0 -> 7209 bytes .../main/res/drawable/launch_background.xml | 12 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2196 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1485 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2890 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 4207 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5674 bytes .../app/src/main/res/values-night/styles.xml | 18 + android/app/src/main/res/values/colors.xml | 4 + android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 8 + android/build.gradle | 31 + android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + android/settings.gradle | 11 + assets/icon.png | Bin 0 -> 29597 bytes assets/mono.png | Bin 0 -> 5082 bytes flutterw | 113 + ios/.gitignore | 34 + ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Runner.xcodeproj/project.pbxproj | 481 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 + .../Icon-App-1024x1024@1x.png | Bin 0 -> 59485 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 686 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1020 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1354 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 825 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1481 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 2009 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1020 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1874 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2425 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 1157 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 2079 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 1381 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 2567 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2425 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 4093 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 1739 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 3309 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1849 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3407 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3947 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 + ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/Info.plist | 51 + ios/Runner/Runner-Bridging-Header.h | 1 + lib/api/ceskedrahy.dart | 222 + lib/api/ceskedrahy.g.dart | 56 + lib/api/jizdenka.dart | 48 + lib/main.dart | 22 + lib/okna/domu.dart | 27 + lib/okna/login.dart | 69 + package-lock.json | 3715 +++++++++++++++++ package.json | 10 + pubspec.lock | 484 +++ pubspec.yaml | 73 + 89 files changed, 6169 insertions(+) create mode 160000 .flutter create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .metadata create mode 100644 .vscode/settings.json create mode 100644 analysis_options.yaml create mode 100644 android/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/kotlin/cz/hernikplays/cvak/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/values-night/styles.xml create mode 100644 android/app/src/main/res/values/colors.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/settings.gradle create mode 100644 assets/icon.png create mode 100644 assets/mono.png create mode 100755 flutterw create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.swift create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/Runner-Bridging-Header.h create mode 100644 lib/api/ceskedrahy.dart create mode 100644 lib/api/ceskedrahy.g.dart create mode 100644 lib/api/jizdenka.dart create mode 100644 lib/main.dart create mode 100644 lib/okna/domu.dart create mode 100644 lib/okna/login.dart create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pubspec.lock create mode 100644 pubspec.yaml diff --git a/.flutter b/.flutter new file mode 160000 index 0000000..b8f7f1f --- /dev/null +++ b/.flutter @@ -0,0 +1 @@ +Subproject commit b8f7f1f9869bb2d116aa6a70dbeac61000b52849 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f1e9e02 --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release + +node_modules \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ee9d776 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule ".flutter"] + path = .flutter + url = https://github.com/flutter/flutter.git + branch = stable diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..9e243a5 --- /dev/null +++ b/.metadata @@ -0,0 +1,33 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled. + +version: + revision: 52b3dc25f6471c27b2144594abb11c741cb88f57 + channel: stable + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 52b3dc25f6471c27b2144594abb11c741cb88f57 + base_revision: 52b3dc25f6471c27b2144594abb11c741cb88f57 + - platform: android + create_revision: 52b3dc25f6471c27b2144594abb11c741cb88f57 + base_revision: 52b3dc25f6471c27b2144594abb11c741cb88f57 + - platform: ios + create_revision: 52b3dc25f6471c27b2144594abb11c741cb88f57 + base_revision: 52b3dc25f6471c27b2144594abb11c741cb88f57 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..332e05e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "dart.sdkPath": ".flutter" +} \ No newline at end of file diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..9f5a8dc --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,71 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion flutter.compileSdkVersion + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "cz.hernikplays.cvak" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. + minSdkVersion flutter.minSdkVersion + targetSdkVersion flutter.targetSdkVersion + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..d668424 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..05c4f1d --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/android/app/src/main/kotlin/cz/hernikplays/cvak/MainActivity.kt b/android/app/src/main/kotlin/cz/hernikplays/cvak/MainActivity.kt new file mode 100644 index 0000000..12425b8 --- /dev/null +++ b/android/app/src/main/kotlin/cz/hernikplays/cvak/MainActivity.kt @@ -0,0 +1,6 @@ +package cz.hernikplays.cvak + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..ed40ffded96966e797d52a609a35d13afaa7ba08 GIT binary patch literal 2530 zcmd6p*H_bt632rg5D`rxy-0+Fj%yHt(n|tFs+2&aNI)ToN=J$!VqAX;1VcQK4NZ!O z^q7EBLJP%`&?1UR6_=t$q#OZJ_GbTp`+CoPn3;#q`JV5?%$%9K9&U~@`<3^DKp+{M z6UI|i%l-{12~qA@lUD(O#K;l$_8vHUdw6tgR9M8N3m}jV^*YtkiEE?Uch3J&nUAD7 z0GzLKlefjHM#|muIQnLPof$pg=RQ~ETv-Lj?xxwL)zdE~L^*`yMWd(vZ5f zm7?%BVR~^_m2-OVe7ZZFf|_asOo4E;VbQu(3|$U+d#f;M@}V@$IyNwIJ3FqMXgzd5 zW%-Ro4BbzM&7AD7B~|qbdZE}cotcst!d!bF!O)kmUi|BJX<_qIUIK&b6byBSJkeD0 zdEoKqZJj!0T`f(1cupbOblBj3rb$UvMS>qa-*e{^NoiYId&y14~J)ablD2ac0UscyeP%^Z4 zC49q`5Iift6cm>l`E7nf%*o65rONCqL{Z=4N9#aa+eGTlrVFc6eK99?Y$kdN3Ia(f z;V`z|Nn*mHt5vE#vUhS&_x@Iw3+c8yPe{}OqPR}{C%n_Av8 zo4#Cr1eAUgnB9XBSAc6g2SK~{0aC|oFwtTf8PX7FK>Gh0smioPE<|>`o2=Zv!saSj z0^=6u7mLSg6@I6+E(E(qdGB2VX`nN4TZJx8B;IH{TrD38Ezr!1=8`)zFHAbFU#8t! z+oOTDXOK}^^HU72@eNayjywG0_m`SPo+=;4w^*iU0Ve}~2rTqyD`3`1*9^8}#I9=p zLyHW6%dID4ky(U5Geqf4fJ-#thkCl%%}*;27|Fv!eqU;6!LYEm0h#j#Cz$n_0p(zVj$<3Bl7K*2?;`Y6(_ZEp%)uasG|AjTI% z4qgQo`aW}&)ger?oya3pAL+yTer{Q59k{si1$jQ|)L=4Y;o$PHrZuLv-!0c*&in0y z=$U8u!SyTf($CEaFG`$qu4LKtuF=U}DvA>OtMGn zvl?E}6H_!p(AetvaD>yQE15W$*1Qbk@Wqq9q41BvpYI>na&~A_?x_3AuoPgfpEnd% zFq3Z&QN%GWl>j*k*Gfha1RM1uL-=Tm+T_5Vvcxm^i&qR+Tc{a8jc0{fn%5dmG1O>c zeGv)Mn?j%kmud)_i>G#&12@B+mwqbgLt>1u)u9EH9Ko-k?=y`}9m$LYWHO^e>-4Xv z4a5r*!@2RawEM$N>p|VCqLtFtIjfdWJ>Gwwrx*M+Xe9CG)|rf8mgk`9TbMGS2%OvI z`P03r$F*wGnfkLn40j}Ft8qE07HJGYwLD3HB;XWj$oY&VcbYI3>}>RVY8p=;XIqNI zfeK83jHkcRCAt`tC%ijwk#XIX<=0c*<%gktw^QQwAnqQ^^s6wVn&k4 za;LS2-6PIpaWNs`haKPEUfF#<-ltcqdcJHNc3(~nr*Zbf_~g>!BNzjTKbUNhJ&J`E z)KW5og~6;76x5jpS{{xR@7i0IBV^pzJ5SPRsV9D18VYz(%wI zSo508YJWuSwU=|TYtwew`A2Ae$amoh#az2|1P#q}BGqjdBeH7d|3$dovOhY{>2)C5{meYn4wV^d{Lw8 z{c^NW( z()iem=GCSe{|WQ1TaBp>H653!Z9rCB*}R~>Usg+rjl+~{6Ym-7m;b(DF!EJ@yK?#Y z&7;mec+;l0wjVIYDMm-jFJFmgkt5zE&OD2XfBFu!=sZp|x!XP#UyNkDy^4Q_Rlypk zz$zmSm)=NTvS> z5w=>hKmyN%KHW_Z{dn=`e!dE0%Gg(WEJhelz?46335+AWLM0A8Ke@PFMR6WYfXWnv z2{1fq7#;-W(*CN36R{BHMCG!C%mI^hfEd~OG`^M7>DGFz%o0lQTVr_-n21C|>DJfA zW3ldjCju2lz_;5*_P5-GWcnlcCM#i80uxceh$w~~o~$fB`u zFzlcVrqIP5e_aTl=5(5qW1NAf literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..3955afddf20176fd0e763f8589b74c1967f1c0fe GIT binary patch literal 1920 zcmbVN={MVn0*&b;QlcazX#0p~?KFMTspY9rTa?g*F(vugDu$3mOAys+Yic`cUxtZL z9ahc<0QAd+)jT+|T#k@*%ows2x@Vfj}B~ z51j93js5~CVtQ6MaRa)P-)Q-Adp4T^&$t4UZJoPUjCnRbDZeRsbMvb1 zYhdop-q8-v;qafl(fKE51zEOPkv1o8ubpACk)|1&l}R(dsv{iZf)ls$;=3u1Bd{a? zm3_x#lP#Jb&J6IPxP8(-xSQPK`5h)O|F|DGK?2sQb~CCgfB$WW#p(43g?nk$8|(Z1 z?30;c(RlcnnQyb<#;T^>jiR7$+dM;Gk)6Qbn20s^RJ+=(*M2Cuyh^*g|Ut zeAs$=@67K@0|&K|ApGXCE?-ruBfhDnc@RF@r4bY)vbv(#I->%)lklYQ=rJehosk18 zksk;^r~4KaZV-gFs*r z9_M^MNoA=bkc;%w6L$@HrH_MaEgI91<(f4#+Y6_iHNnpJwAM#8Qcb>sKlo+Y()q)9 z9**!$3pDjt!Ta}GrJ7|pnX4&93+IFLMVN8cKLNtnAPH-v(qYkY?USOQs{D^+%i$H? zdSeUqW5P);dyaJ=_bMCv?KwStvs{?=+028+z3D}ioz45z_rLpjrv}n z42kq{9l*chBz!onJRh0Wqoki1!+72ZX|j88rA3I6heq`b%dVl#!&P8;O;J?3O~M%W zGz_m7zBC?G#5^<}LfkWKX|9I$Vza7BO`jd0733^l+|RxH{avgMC9sxUrs{jQ6ukW} zSg)d;!{}SDw6_wf@%L#*^XM*jGAM8J4TLUh71R=?nWPQeWS0V4qT?=PP*9uI)PHX2 zTfaLcdBdr*wtV$?86|P$INoo)ZY*`DECBXay41>ESx1yd`qUfi%cAGJ#Dxm1jJIJL zh$3@du_R|CUiyQ8+KPrSVzVJOoH?gd>eg`*TH+Yp?iCJw| zLL}}S@RNrbFRm)wUQi1*NSo(8rg>X#Gloye6qJ%Nk)0dQC2Y{=p!tScwm1J{xn2B9 z?}qA5KY=VTj%zr-NK^OZmm|m-NI7OOz;r9+Q(RN6`I={$29>6fL% z&z=>j+!fTYP&djKfCyK)Gqc@*OY5wYj9oJ#E(9>wFH#2>MvUMkf6>i1gB#yjIxb1f~x@R{&Op9a$qK;7;0n{Dj9I z77B<1Hgk`eLny7ufr)|paESqPCxwNdstSA3`DCev!!n+Z1e3#JFzW{OZgC_t0 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4e0aa20444e292872ccd3b45e4b0a42b2205fed8 GIT binary patch literal 3503 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 PVp7gm+#PBzBh&r^S)!pj literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..8a1cf2e51b6e557de752ec3a7a890d90caa00f1c GIT binary patch literal 5290 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 + + + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..b26e945 --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce53dc176e25cf4cdd7e1be2c7e4080ad540966 GIT binary patch literal 2196 zcma);_fyje6UM(J1`rTJlNKq`OU743Ipqvp2qGnfP$UQ$7+#Rx4g>@QkNXd9=Goofc0RMu?9Rs7Sec#SljZ{e;0)5-1a(r) z{|#R5lWf0MZ3X~bQNG5;Hb`S*d6GZT%lEz~0FY@Yw0crkXzC(#3al*YdIXoU1sM8CkGw}L+DSyFVG(qm@M+^rI_=3 zGKrlSyeAvH0sPVW5nZjw{WjC{wTPcW3RXO#VzHC=K;F&hZV^KD8Iqh(5&GlDBZ+TL z(+kJ2R*O&fDAw``7pE#?bz{A+z+Y`6{L;mhqkquI>|A~keSd7w{+|Jz?)rlQGD}~6 z_e*zFt9i%nF7t#zMWj^;F|V{%xo(fMAODyZ?qRR8t%LVV<%07HAln16M3 zV}Ji=PXF)&*hmvgWrrJv6@VK4cm3iw=ocMow+8o|)1iL98IWdkj8Nr-`}bYIF%IVDv3V^m>~)fjAY^eU&)6?JI~&fs@VW4&$5_Rk zz3MtbNJxl4o5@5<7eJ3%U0yy&s%IV@?j6zT^oHbQVFC_^W3uAn;*Rq2^1{JjaM$ki zOJjhJN?=-~C&fH{+AzyV{IxbWCk9YxQ7b!-TDA1_n!UWd=EoNo7xl?j#pp*ee|Af; zLQ`N+jAo9}hN1LCY&!td+^<`#>s6)BS1pIMXe*SrGt^Lmv6HY|!jFvjW)Io-& zN`C=%N(mw+Dk>UHDz(>i^|@H<+^VOn?AcUXYkz#Ovm#Wn6nO3G z7eU)rBx>H)o`iF)j?yQ~3JQ#+Bqe*or=E5YLc6-UB=Y#J%PJ~}MUBDDU^W1QP1u;jzGGv%@IsSsJiZEZ5)F zX`bo}CE^`Uy8c>_R-5jTH`WeoQu#i9zP{?`I66b))rG6vyox+Cj@9;PG#b&1p*E3b zjASWoTmj=T0qFs`!rAeH9Exji^ z$T08(2aW{4R+jwjlKcx2%PR5tb6QgGz3!6>Hq_RJP~DamEZRzO(-mB$_L+%%J>`ti z?7@HWE*W@+%ZQP=;;WNMba(xXL8AjX7b&clR4T>}i#W?izwCm=PA!S5S}85EX5Pu~6(Y6_TO|#KzIl zF?QJJdF4(M`WEMg5?^k3czC;rsA%nAj=nX+yUz$Yaf)D)577G{Ot_3QKy<$pS4T&f zEu-49P5KS#ULqQf*E%|*R+H*PEWYR;ZVo6}?hSB9y3Y+4n6=(@{pF!_ASd`PBnnZC pTwMt(Rr<9dXeI$Rf&OO=wUgdhJgEQU#lJrXfHbu-DK~P9_y=^M6N&%; literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2a9e9992baf5f088bf6a411928549c17e5d3cf GIT binary patch literal 1485 zcmV;;1v2`HP)EX>4Tx0C=2zkv&MmKpe$iTcx5^2Rn#}WT;LSK}8&E6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c1aNLh~_a1le0DryARI?)nsG4P@ z5^*7uT@`|_=)nm3AYejbramW%NqCO0d-(Wz7v)*r=l&eMO3q|}Pauvl-LQx^h-Wq} zo%23%m=z_3_?&p$pbHW|a$R=$jdQ_aKhF#s>C`-Nm{=&ZvE0V2XsE=~#1Tc+DBquP zS>e3JSuIyt^Pc>Lp`5m|%ypW>NMI355UC>>Rg_SMg($5WDJD|1ANTMNIew8`GPz1% zlzivRjO4Vz4R!7e%x_qAq+}AN7GktUH7O}6 zDzDf3lhvG0CLljQKi6O|xX#YbUH}dA^YgPT=6wbR%P9V>*pSqiAVqIT;=v&fvyVQ&XE&DpkkT)zvRC?}>{5@_boY*~rYy z%&lz#fq=s8c4t^Dmeaw(!F1{yA0O8@H8r`B)L&4UsyrS~Pb@jXTmVJBw6ye|Jff_~ z%F0q492_XH0_kmSZ703Gy&2(fSb?N|gInmL#D0gw7F?Z}3ZTdn`PtdoTk>kPI*c6X zT3K27TwY#2ytK4bK;&CnTTh3EhSK@ZBC#`&?Dm|ToH8N%1Tz5z1qHc$+rZ-rM6|2F zzyAZZ;dK)Tx)v7~^X+zfdV70&z-qN>_;X;juCA}IZ-l&;i2yG09C?a7$aW4440Ln% zY;A3ADwRqzR>Dau(bw0fK@J2R4u_h?aldDKd%N-I=*a)10yxiewxP(AZ4mkH$a^<7 zHdawmO;{=S^73--dDy1&A@Usje!myb z9N}j!Rj1?QV)Diz81!9)wUDKSg_n$Rkm0Jn|l&&)3L;JVB5E?5NN2axK3P z8<4W5rp9r3d1=CK>*J3_M!vebdOy}`6Agj{tgfzpudAzjpOBDXg#}W%{<*oi5{USU zI^T#h%^pWS((}8!yJnW;1q&dIj*i-lMq@ipnjOJla11$M!NIKbPK5L3=Ej882=XIO zg(&jO-)T1NCe1^qwfUdYiOLvV^x?(o`dL}_~POM0ly?M z25K)XEWF~zsM>(MQEaJv3{1{KX=!P%Bm1~&6HoF4CIXNPAM^6^ny@iFqc(PAN?4}V zCK{Lspq!xUl$e-kMfLH=)ANyF_B}w=sidStkB^Z6F5lmuU<0OKWVBDPobO*C|8G=k n$O5E>EI?|=0;Gm4Kx+I3{O$eaF;L(E00000NkvXXu0mjf(s#^_ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..339ea4654b79124a5cc3d1403f91921513302555 GIT binary patch literal 2890 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 U*l8RH9|=U7YI>@5%J$L!2OJ>Gi2wiq literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d64ceb69260d0780e59f3376046d806ec5c1e4 GIT binary patch literal 5674 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..ab98328 --- /dev/null +++ b/android/app/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #ffffff + \ No newline at end of file diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..d668424 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..83ae220 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.6.10' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.1.2' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..94adc3a --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..cb24abd --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..44e62bc --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb98cdeb451ae1a4c87fdec2d873f3d1af82a30c GIT binary patch literal 29597 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 ZdYeq>E#JNj>rCY7Xf6HA1sb;={x8}N35x&# literal 0 HcmV?d00001 diff --git a/assets/mono.png b/assets/mono.png new file mode 100644 index 0000000000000000000000000000000000000000..2bb88c54209df589c0636fe02c79fba941347066 GIT binary patch literal 5082 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 literal 0 HcmV?d00001 diff --git a/flutterw b/flutterw new file mode 100755 index 0000000..00e4fe9 --- /dev/null +++ b/flutterw @@ -0,0 +1,113 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Flutter start up script for UN*X +## Version: v1.3.1 +## Date: 2022-11-30 15:54:50 +## +## Use this flutter wrapper to bundle Flutter within your project to make +## sure everybody builds with the same version. +## +## Read about the install and uninstall process in the README on GitHub +## https://github.com/passsy/flutter_wrapper +## +## Inspired by gradle-wrapper. +## +############################################################################## + +echoerr() { echo "$@" 1>&2; } + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ]; do + ls=$(ls -ld "$PRG") + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' >/dev/null; then + PRG="$link" + else + PRG=$(dirname "$PRG")"/$link" + fi +done +SAVED="$(pwd)" +cd "$(dirname "$PRG")/" >/dev/null +APP_HOME="$(pwd -P)" +cd "$SAVED" >/dev/null + +FLUTTER_SUBMODULE_NAME='.flutter' +GIT_HOME=$(git -C "${APP_HOME}" rev-parse --show-toplevel) +FLUTTER_DIR="${GIT_HOME}/${FLUTTER_SUBMODULE_NAME}" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +# Fix not initialized flutter submodule +if [ ! -f "${FLUTTER_DIR}/bin/flutter" ]; then + echoerr "$FLUTTER_SUBMODULE_NAME submodule not initialized. Initializing..." + git submodule update --init "${FLUTTER_DIR}" +fi + +# Detect detach HEAD and fix it. commands like upgrade expect a valid branch, not a detached HEAD +FLUTTER_SYMBOLIC_REF=$(git -C "${FLUTTER_DIR}" symbolic-ref -q HEAD) +if [ -z "${FLUTTER_SYMBOLIC_REF}" ]; then + FLUTTER_REV=$(git -C "${FLUTTER_DIR}" rev-parse HEAD) + FLUTTER_CHANNEL=$(git -C "${GIT_HOME}" config -f .gitmodules submodule.${FLUTTER_SUBMODULE_NAME}.branch) + + if [ -z "${FLUTTER_CHANNEL}" ]; then + echoerr "Warning: Submodule '$FLUTTER_SUBMODULE_NAME' doesn't point to an official Flutter channel \ +(one of stable|beta|dev|master). './flutterw upgrade' will fail without a channel." + echoerr "Fix this by adding a specific channel with:" + echoerr " - './flutterw channel ' or" + echoerr " - Add 'branch = ' to '$FLUTTER_SUBMODULE_NAME' submodule in .gitmodules" + else + echoerr "Fixing detached HEAD: '$FLUTTER_SUBMODULE_NAME' submodule points to a specific commit $FLUTTER_REV, not channel '$FLUTTER_CHANNEL' (as defined in .gitmodules)." + # Make sure channel is fetched + # Remove old channel branch because it might be moved to an unrelated commit where fast-forward pull isn't possible + git -C "${FLUTTER_DIR}" branch -q -D "${FLUTTER_CHANNEL}" 2> /dev/null || true + git -C "${FLUTTER_DIR}" fetch -q origin + + # bind current HEAD to channel defined in .gitmodules + git -C "${FLUTTER_DIR}" checkout -q -b "${FLUTTER_CHANNEL}" "${FLUTTER_REV}" + git -C "${FLUTTER_DIR}" branch -q -u "origin/${FLUTTER_CHANNEL}" "${FLUTTER_CHANNEL}" + echoerr "Fixed! Migrated to channel '$FLUTTER_CHANNEL' while staying at commit $FLUTTER_REV. './flutterw upgrade' now works without problems!" + git -C "${FLUTTER_DIR}" status -bs + fi +fi + +# Wrapper tasks done, call flutter binary with all args +set -e +"$FLUTTER_DIR/bin/flutter" "$@" +set +e + +# Post flutterw tasks. exit code from /bin/flutterw will be used as final exit +FLUTTER_EXIT_STATUS=$? +if [ ${FLUTTER_EXIT_STATUS} -eq 0 ]; then + + # ./flutterw channel CHANNEL + if echo "$@" | grep -q "channel"; then + if [ -n "$2" ]; then + # make sure .gitmodules is updated as well + CHANNEL=${2} # second arg + git config -f "${GIT_HOME}/.gitmodules" "submodule.${FLUTTER_SUBMODULE_NAME}.branch" "${CHANNEL}" + # makes sure nobody forgets to do commit all changed files + git add "${GIT_HOME}/.gitmodules" + git add "${FLUTTER_DIR}" + fi + fi + + # ./flutterw upgrade + if echo "$@" | grep -q "upgrade"; then + # makes sure nobody forgets to do commit the changed submodule + git add "${FLUTTER_DIR}" + # flutter packages get runs automatically. Stage those changes as well + if [ -f pubspec.lock ]; then + git add pubspec.lock + fi + fi +fi + +exit ${FLUTTER_EXIT_STATUS} diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..9625e10 --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 11.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..336e978 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,481 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cz.hernikplays.cvak; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cz.hernikplays.cvak; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = cz.hernikplays.cvak; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..c87d15a --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..685d5b9dbfc73c8a53b3504dd7a144fab350dce8 GIT binary patch literal 59485 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc84212e5ff774a942b15dbd73b7f26b9eeed14b GIT binary patch literal 686 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 M07*qoM6N<$f*yCCSO5S3 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..534f9043cdfca32667dde9b917df67dedc24316c GIT binary patch literal 825 zcmV-91IGM`P)EX>4Tx0C=2zkv&MmKpe$iTcx5^2Rn#}WT;LSK}8&E6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c1aNLh~_a1le0DryARI?)nsG4P@ z5^*7uT@`|_=)nm3AYejbramW%NqCO0d-(Wz7v)*r=l&eMO3q|}Pauvl-LQx^h-Wq} zo%23%m=z_3_?&p$pbHW|a$R=$jdQ_aKhF#s>C`-Nm{=&ZvE0V2XsE=~#1Tc+DBquP zS>e3JSuIyt^Pc>Lp`5m|%ypW>NMI355UC>>Rg_SMg($5WDJD|1ANTMNIew8`GPz1% zm!MMdHPGQCoKh9k4!2bNrV88CyecSDHI=Zeu zpHI*8KIxjKc{-h-tE#%)Za?F$*Xumbfg&#^%@28yEWcDu4HXR{g0 zvcB)X>2|waf)0m6xImZ7rR%!nr)u8LB}q}!(P$LM@$q=X*Ue@l%ktrHcsw4spmkpS z$1n^e1)8R57=~DM97of%APA<@De6%7^lIH|`#|saJ3-0K7=}rbWHOo9wp|oO3l}Jo zlI=%Pbh%u}I>&Li*?zwlMX>>`b-BE88$DX^75U~!bL$W%cAFK-M7cr{h#hHqbkq9oUtG*00000NkvXXu0mjf DWSxo- literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b3fcbf7ae4a9ef6b2e55f8c52cf320e0f5777bf7 GIT binary patch literal 1481 zcmV;)1vdJLP)EX>4Tx0C=2zkv&MmKpe$iTcx5^2Rn#}WT;LSK}8&E6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c1aNLh~_a1le0DryARI?)nsG4P@ z5^*7uT@`|_=)nm3AYejbramW%NqCO0d-(Wz7v)*r=l&eMO3q|}Pauvl-LQx^h-Wq} zo%23%m=z_3_?&p$pbHW|a$R=$jdQ_aKhF#s>C`-Nm{=&ZvE0V2XsE=~#1Tc+DBquP zS>e3JSuIyt^Pc>Lp`5m|%ypW>NMI355UC>>Rg_SMg($5WDJD|1ANTMNIew8`GPz1% zi%?mG$xQF*Y{F zugSZ~#r5#;sH&vpK0dd%x9WIgWaPlWfSEfx9v59pOH1)U zcz8ItkB^V<@9*N!-Q8VKP|(H2h2fh!7}wL&6TePQPU3<6{r!lDi1_&U)zwvTbaQhv zH#ZlDTwh;@goK=)p6d0nBXQl`-AhVJw1IVSa1a<6SYKb?)YK$Kc$37$L|QNN>711{V*M zm6gFNYzjJ41G^a+8FO=U(7;+(SJ&L!ti9^_`I&SpC@2^l9CRKoaIoS?lv8Y<8kC)# zouK#k_g7X{ia2AWu&{7qV&d)XO}&A8Mx>QE3&B`5V~qvMKOXa2n}9rcXyXhFd!fxDJf}sdKzwB4>gF(yv1C= z^8~B-w!UN)~v-m_h8OrKNH0&CQJgR^7PhT3lTGw+FP@q%Ed2w1ich z&os8Qv}Bl7AFk-LhK7d3vlUwmwYRtb+yiEG)s35-ovmf107YP;>PuET4=_QPWYvdD ztlEt%EG&>^X!h{%pdGjKKxSs<{QSJ$%rc8RJ3EVD%aNc literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..2fcac0ed4a382cc666d3f4e69d06ad8514f1ca77 GIT binary patch literal 2009 zcmah~eKgaH8{c+~HPOa*Qw;OgUE1gk^ER`WD{73qMAQ;ZsTjK~%3Iuhqh!ggLl+e; zWpT4uq=h86H$=(nG~G}NEfeCm`}gmh-|vs-dCqyxdCvJfpU-nX&sny&hYr#Z34uU# zJa;nu)HUeeK)}>_<)*hY1Om-GLZ`Dm>2!Q-T+HDk$08vR!PV0u*PU%tT>F82<<|qW zoIx<6(i`i}#6@GW*=D^+vD1~%ML5gwB4FUra#t?z2=8lY4-V1_az`ygc>Fj&zDRHN zG7$1e5Ib}sQDu_&1(MqQ%)ib;v$8OQ;yJYN3d+yfo`T$(; zCVO3YSN0Mle+@mZj;eh0>JggRM;I;P1&`ft4<-c#e=T0lx^}hx&a+<&+jer$yHHgY z8v-t|f6F3>4L5D{lbEVz);Xq#Lbu)X;*9U5!mTYk)~#sCn(V&r$v@#o(B(hqpYI@` zhTw*FgDaH!>BnnO0?pf!-(`MUhuu7D?n<7ZyJR|{p$$7uu9FTyHB0!NdALo~S0yih z`odMRf;n>R#Qyl?=+6ozbmyL+P9wP-wSF^uzOkdJX&`w?wYyGc`r$%c-$9{6C=H>J( zu)>$6Uv|V`7({&oxjV2K&xpj3*3mji$m$o~#iF8nZva)Xa~-*){W&>4j7w1^rpQL` zwXx)gjG`Mq%Yj&JjT7k)Nhm2C)PTPDx4m_U#*qL=p;x3xCzr_?V)-BcMoYYiktZ9d~4K z@Rdhq-ChI&L9nqoas0Teo7?5wJ?QfCavdF=Pb-ak_EMdQwzjD&%lFR1kPK;K4}&2UbQjm5i8kB?h!*^)Q88+W*6aImSdvGK-@Gd7v(iMMaxR##V7R#vvQ(u(rM zfzhW#){%%6Mk1@WaRYpwDM5u!pvC98Ljo6 zK0dOkLVrd|3g!AQ&xiPTPylf0@@1h9At=pan|bci(h`fsk~WafW1oKiesVcbAXre- z^3OjN?+VOlKa|SaGy>Z{FE1}`kg{WkWiD0Yj^@07l$9AQ3v!wf7q@MyH2@nIA790= z+tQGhT`KjUIx3Y)91bUOG~J(P@NsJD5e>{vQz$wvXlZI5yI9^G#hBiE;6RY0XFayd zpp=j;7Crf~q@vU5B5h2nws~Puk*RA^Z(pBPh3ndZPgN$AQ=nCyL{gSgyp}|DSEJ=} zKXiAC_&8sV2Q-q))%sj!zP~vMgT?+9)62H# zhMw7dn;*WQ;TXOQW|yV$KxsLA0522F(r!a`DPH~Q^XC4G0A!azlnESoPV7<>oJNp7 z$VgUwHv9A*iSjrHAVPv`>rf{Ect5$UqGD1YDDm^qJzt=#ynM{5 z$DJ>1Yirw$K}?ZK?P$Og6#~C?D>~u!N#k)?BdYAoh7B9yeAVB8xL%i}pxD1oQ6Rb6du7TdSyQ=A*KZvjLb8*d+< zTUSTye50WbxZ~y_VUt|cwY$T)2xs5YBA9zK{8nG~h{@o{K9KECZKAtk5QV+q;92QS zI~udgOuau#MrHa32AZ>07G~T2CHPI^!GmKT-_$5IK&e!UViK$g1cG2`p7im0C3v{m zf`P}CS#)-G@_0N%%%Wm$ZrgycwY9aN00a1*1jt_L50#sqc3d!JZOo5ym!3o9wCm~V zg}*YK>@pq@PU|~V&&cI+v6#dgm+dP1fHyum_ld1@jD#~W8Cca?3otdbbDqzg=R`xB zES!CQU#r>n?Af^&OkZ?8mc5B>2#nGI@>y8=U3lHw>VA)jA^fU-Jr*#s7V?Gj2UmtK zokt|R)a@(nP+juZF!UIk%L(qlGMW6v7l!7?ic86u+|^VMZrcBG)&KV28Mg-#$q@1H SU%Bd+4e?}pGj7v38UF!+qL%Fd literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3479b869d48e5165208b4ddf4a6259b9db2a1ea1 GIT binary patch literal 1020 zcmVEX>4Tx0C=2zkv&MmKpe$iTcx5^2Rn#}WT;LSK}8&E6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c1aNLh~_a1le0DryARI?)nsG4P@ z5^*7uT@`|_=)nm3AYejbramW%NqCO0d-(Wz7v)*r=l&eMO3q|}Pauvl-LQx^h-Wq} zo%23%m=z_3_?&p$pbHW|a$R=$jdQ_aKhF#s>C`-Nm{=&ZvE0V2XsE=~#1Tc+DBquP zS>e3JSuIyt^Pc>Lp`5m|%ypW>NMI355UC>>Rg_SMg($5WDJD|1ANTMNIew8`GPz1% zVV5<@xJQ$(noLN3^WOKqd1L;m-XyRD zmcSC2VPrCy$z)ou*MABIHI+(%YPDLc)#@LC6$(W>9&fc;x7$sp(***7X0!S0U}#OJ z)4g5~R6K6CTfJT{{BugMTrN*0ll6KXDi@2zX0ySjN~QW;FsO+{f;imibbLPF<#K^y zbUG4=oKC0f^~&qHXfPaxRzfux4A^Nj8qf{(?~lR``W+63pJz=Rn42cV_;5I2VK$pV z4TVCJ$ppHYN53^14fdbRm#TukM18SGEgVzDTS$^%Bhy=XKF611*XD+~KA9X*X`%EX>4Tx0C=2zkv&MmKpe$iTcx5^2Rn#}WT;LSK}8&E6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c1aNLh~_a1le0DryARI?)nsG4P@ z5^*7uT@`|_=)nm3AYejbramW%NqCO0d-(Wz7v)*r=l&eMO3q|}Pauvl-LQx^h-Wq} zo%23%m=z_3_?&p$pbHW|a$R=$jdQ_aKhF#s>C`-Nm{=&ZvE0V2XsE=~#1Tc+DBquP zS>e3JSuIyt^Pc>Lp`5m|%ypW>NMI355UC>>Rg_SMg($5WDJD|1ANTMNIew8`GPz1% zVr?Lu5C zF2sdW2I+uM(i4=E-!3^2*t_4RctE32ocCoY?ZheuOW zlN3`M1{gJYU|;|%xv#IUxw(0Fcb9d7k&%%`qj`US7kz5EflW+I3JVKSlS$qtB_+AJ zxkW}sj*X2mPea9ui;Kh0A^Hu-3T$j_3|eMQh8`Xso}ZstXI@-fU_3T9c4TA(advig zwzak0+1U|(5Ap#cwmCUD+?srTem*rdRaaNHu&}VQvOCbWiqb8$D(RoV`hK7bB?9O!L8xTB*3WeoiI zb#(qIFb4$%d3t*4ozKz&>-18fO-M)p?bX#4J~lKoV6~$lgA*TTW@eDCfq{X{d}eBI zZ_mle>6Ze7mgS{Do1dSL5=Ce!ZI!OBt_E{|fB)Ot8|t&EscB+j;`a9T&CLz_b~T!? zu&}DCD!p$>Dq!NJ5L*^4>?D(x2%N30tytt>Ci#qpgzYiPGP6IMo0}&mC&Q@Ve7$c> zDqz+gh|qPE*D5ki4F`eg*)cfWW*MWmWP%Iab8+l^6~N6 z*w`Q=d3kvb4i0H)X^oAI+?3WsVgeJN%&o~-iu|#qg{ltk(ca!pk05U&A|g@_Tc(%d7ad!gmc$lmFFGwH5SZ+5 zxzDAtva--l^ouR>RytZr2r$A}R8++BQV_bx;o;#AV~Z*U7tM?GP znfCVf*xZpp6q`oi9NtS-cd#BmwsG^E)^=&@q`TUW#9m0HcPXKeIfEY+j0A zQa!b#`!iuCd25g=#gc>%;)xGK`@wbs{kFBW)!?+0)NdXT=kV}wcXxL=y%fJBf0@R7 z{rMYY`2W+ASt_v7r2;EmDzMU}0xMlAu+pUhD_ttE(xn0`UH=^Lf0{0XIwj*1%m4rY M07*qoM6N<$f)kI32LJ#7 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..3baacef54423bcaf9ec0c581336547585cb79c59 GIT binary patch literal 2425 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 KiRLlU6*PRdm literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..fb5b7d2faa064f6caad5e2b6c5214d4b98a8cf25 GIT binary patch literal 1157 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 nG16JZNM{uzomGr$d|FX(U z!Yng0gb4e=+Ez6}A4-^4K3I1g;D z-1kCxL~mm3?BfL9j|p31w_Xo>lGMeC#n-CkFlV0xDx^29bp!clkXKN6iwju}iP=pl z`}@g?%YGkMg{rR|M?-GAp2;?tYtA&z47;rJe8&P)q@Zzkzcg{S;<%h;Tp;eBM>o2I zEypBP*oxT!|}y$?UAxh zGBxU_yq>yc+yyr%Lo_|er+FM{leFA`i+?#H|Ms;4Xq~4?3ni!&qaFB@Xb-RywrggO z29}uxC>wncTD;omKPHnX-bgN>dPsy?IyAMC2V}>oCjtW643nhWXAg;&V+V6oAy)MA zu_IeyTo*s&!Vhb|-bjhqT;d+Ghx-hwEG)<0&)_KZUDs{PlT(g|BQ$<*&3l7zKsKCj_LlS2K31Q9^nZBn-a!bs>?h^r zr&UzULI!g3^78onWTp>SuWY&_>cguKZ84TfU(ai4fe>vm^FrZ43R7_z(?G#(By-nf zOBYv1M@OyB+#WJd<`TKZyUpHfl;qvoP0v*UZ_C8Qq_3~98_C(6qsTRlJV8vjN~`{i zjH{(jOtb{Q6)%d4ipuvTl`%RnOa0nDjlR#ZqC-!Ia3HZVIB&Xr!r3j^H4u>*oFH7?ghE&dQ_Xh4Me>q0MisI7dZoFiBxci;G=p z2U>zSXrhhw9UP;~7Xb0C2ol;?TvACN{l0o_jq^QMMR}%6PEM{d zh?-qJUgx8y_`V?v0bnwQ=9R}gkllyB-L9ERhSg;VNoH(s+lIwRQ`{F{V$$xq*IIXV zb@lMDvnn-lyJ~4kg?(91@9|n7beRnL6T&(dI_cjQeO9UhU67xDD#6Im@TY)wj;PSV z!9igC$jHcISod)m;873=l*zA0AOHu3nwl$|Pj5w8soRSH;jxA!<^E&Ib841p-?o=% z;H$J%{`Qgt%q(GZ_6w7g^2L&K8icmJY<^4FIma3s8#6BDlV1ZzFk2sAhd-?(1iPj3 zHUsaBWfmL#*c|3=`+4-a831;c%VpCw0etVS>yuiHc8rY9;WqzQk?eV@Wiol+VZ!Tb zwkmVZN&21~!XO^CoDt8WB*c7SU4WIgCv27N{#vy0p>1n@vd%{EQzD;>Mxmw&7KCHXMq)iRZhqU)6!E6#sY4t-fw4hET}E| zxe=rS=05SRK>l74|fyYR`1XmgMK({eAG~{X%i_IY>a)%~SqV*E)D7A~E*8@n0{|3Ou@+ z8Lk4Rj;%dH3O@`4(6ZHzn_DD({rllV$zF+H6!UcZy%E#4E!slm4eB?4Uc<{J%b?F^S~R#Ri+X53ei z7K>a;Xf*%2wOH#tyn%zcFv-W?Kwb%v`r)Qhgf$a18jTfnDe%baOv8G3xkialH`eqz zgP4~mN5>3%5a}9D1?_CcYVnkA2z}sp`os%6MFoXt*)Qsl7J;PDM}nZ9SerUzK@aPm z6eUvmn8*wsK7QP0I!S_rrcLwFU^2qMDR^G7b6P@eF;YuBzBnfbxj|qs8L|iw?pbLp z7Xt3!scDJn6{1(Ei@OW-fN?i+9hmQJZ3z&;ERxwAn}ES!ya|oh;CA+8)W&>g5?#0C zaOB8IP3JY%A1`1nc3$4z#o51Yys)1e#AoM(_xb9^f{IH@4Em#4zH zU<1luo=aU)y3w^uyiVJ-ygVUsUzaZK$Y%f&v^4w_ctJ z92Z2+=(*ruz6@Sb5@M~+++Ogv0#0P8&WO}vCZEqQDpHbfXE*ltLOYeT zno^HEn?Ko{MMu;1)$Y*K)6+#B1>mJ>Uu;EC-~J{sWwFlChNZ@}f`l*)`BV`XyexP* zv?0eRk%Oes8N>K&d%7vAHxrN7+%_2sh1*r5ZB@f#Vic?W^GP-87gOra%xRUmsO5e; z@K&G8=z2g*yBrS{7S6hp*lcz`C9`Y*pFJ=Q($dm$Bc)NPEiDEb8XCsN({xyBR`@R3 z$SiV39|~dA_m1&WKwe}%nd-BXoU073-gQm?f6QIc@a9Nsa_+33Gw^BsZ^3i0g+Uvy HAk+T^91b5} literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3baacef54423bcaf9ec0c581336547585cb79c59 GIT binary patch literal 2425 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 KiRLlU6*PRdm literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7a952bbb349768f9be74b81a825b0c776644b1d6 GIT binary patch literal 4093 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 X2>5NY8(UI8N;C+VA++{^L+pP5ckMsc literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..aad565bbc58a72fea9ebe29348f271010d2ebd30 GIT binary patch literal 3947 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..b37b7aa --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,51 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Cvak + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + cvak + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/lib/api/ceskedrahy.dart b/lib/api/ceskedrahy.dart new file mode 100644 index 0000000..091d7eb --- /dev/null +++ b/lib/api/ceskedrahy.dart @@ -0,0 +1,222 @@ +import 'dart:convert'; + +import 'package:http/http.dart' as http; +import 'package:json_annotation/json_annotation.dart'; +import 'jizdenka.dart'; +part 'ceskedrahy.g.dart'; + +class CeskeDrahy { + final Map _cookie = {}; + + void _parseCookies(List c) { + for (var full in c) { + var cookie = full.split(";")[0].split("="); + if (cookie.length < 2) continue; + _cookie[cookie[0]] = "${cookie[1]}${(cookie[0] == 'RSID') ? '=' : ''};"; + } + } + + String _cookieString() { + var s = ""; + for (var key in _cookie.keys) { + s += "$key=${_cookie[key]}; "; + } + return s; + } + + Future logIn(String user, String pass) async { + var r = await http.post( + Uri.parse("https://www.cd.cz/profil-uzivatele/auth/login"), + body: {"username": user, "password": pass, "remember": "true"}); + var cookies = r.headers["set-cookie"]!.split(",").toList(); + var je = false; + for (var element in cookies) { + if (element.contains("RSID")) { + je = true; + } + } + if (!je) return Future.error("Neplatné údaje"); + _parseCookies(cookies); + } + + Future> ziskatJizdenky() async { + if (_cookie.isEmpty) return Future.error("Chybí přihlášení"); + var rft = await http.get(Uri.parse("https://www.cd.cz/eshop/historie"), + headers: {"Cookie": _cookieString()}); + _parseCookies(rft.headers["set-cookie"]!.split(",").toList()); + var token = RegExp( + r'(?<=name="__RequestVerificationToken" type="hidden" value=").+?(?=")') + .firstMatch(rft.body)! + .group(0) + .toString(); + var r = await http.post( + Uri.parse("https://www.cd.cz/eshop/GetUserHistoryData/"), + headers: { + "Cookie": _cookieString() + }, + body: { + "__RequestVerificationToken": token, + "model[pageSize]": "10", + "model[items]": "", + "model[allItemsCount]": "0", + "model[buyAgainCartItemID]": "0", + "model[initPassengers][mapData]": "", + "model[initPassengers][defaultPassenger]": "", + "model[initPassengers][avatars]": "", + "model[isActive]": "false", + "model[filter][order]": "1", + "model[filter][ticketStatus]": "0", + "model[filter][target]": "1", + "model[filter][cartItemID]": "0", + "model[filter][enableFilter]": "false", + "model[filter][showFilter]": "false", + "model[filter][filterIssueDate]": "", + "model[filter][filterValidFromDate]": "", + "model[filter][filterName]": "", + "model[filter][filterTransactionCode]": "", + "model[filter][filterCorporateNS]": "", + "model[filter][corporateNSEnabled]": "false", + "model[orderTypes][0][name]": "Data+zakoupení", + "model[orderTypes][0][value]": "0", + "model[orderTypes][0][shortName]": "", + "model[orderTypes][1][name]": "Data+a+času+odjezdu", + "model[orderTypes][1][value]": "1", + "model[orderTypes][1][shortName]": "", + "model[pageNumber]": "0", + "model[initOnly]": "false", + "model[allEmpty]": "true" + }); + var data = jsonDecode(r.body); + var jizdenky = []; + for (var j in data["items"]) { + jizdenky.add(CDJizdenka.fromJson(j)); + } + return jizdenky; + } +} + +@JsonSerializable() +class CDJizdenka implements Jizdenka { + @override + @JsonKey(name: "stationTo") + final String doStanice; + + @override + final Dopravce dopravce = Dopravce.ceskeDrahy; + + @override + @JsonKey(name: "name") + final String jmeno; + + @override + @JsonKey(name: "validity") + @_DatumPlatnostiPrevodnik() + final DateTime platiDo; + + @override + @JsonKey(name: "validFrom", disallowNullValue: false) + @_DatumPlatnostiPrevodnik() + final DateTime platiOd; + + @override + @JsonKey(name: "trainsThere") + final List spoje; + + @override + @JsonKey(name: "stationFrom") + final String zeStanice; + + @JsonKey(name: "isRefunded") + final bool vracena; + + @override + @JsonKey(name: "price") + @_CenaPrevodnik() + final double cena; + + @override + @JsonKey(name: "serviceClass") + final Class trida; + + factory CDJizdenka.fromJson(Map json) => + _$CDJizdenkaFromJson(json); + + /// Connect the generated [_$PersonToJson] function to the `toJson` method. + Map toJson() => _$CDJizdenkaToJson(this); + + const CDJizdenka( + {required this.doStanice, + required this.jmeno, + required this.platiOd, + required this.platiDo, + required this.spoje, + required this.zeStanice, + required this.vracena, + required this.cena, + required this.trida}); +} + +@JsonSerializable() +class CDSpoj implements Spoj { + @override + @JsonKey(name: "train") + final String nazev; + @override + @JsonKey(name: "stationFrom") + final String zeStanice; + @override + @JsonKey(name: "stationTo") + final String doStanice; + @override + @JsonKey(name: "stationFromDate") + @_DatumPlatnostiPrevodnik() + final DateTime odjezdDen; + @override + @JsonKey(name: "stationToDate") + @_DatumPlatnostiPrevodnik() + final DateTime prijezdDen; + + const CDSpoj( + {required this.nazev, + required this.zeStanice, + required this.doStanice, + required this.odjezdDen, + required this.prijezdDen}); + + factory CDSpoj.fromJson(Map json) => _$CDSpojFromJson(json); + + /// Connect the generated [_$PersonToJson] function to the `toJson` method. + Map toJson() => _$CDSpojToJson(this); +} + +class _DatumPlatnostiPrevodnik implements JsonConverter { + const _DatumPlatnostiPrevodnik(); + @override + DateTime fromJson(String? json) { + if (json == null) { + return DateTime.fromMillisecondsSinceEpoch(1); + } else { + var d = json.split("."); + return DateTime.parse( + "${d[2]}-${int.parse(d[1]) < 10 ? '0${d[1]}' : d[1]}-${int.parse(d[0]) < 10 ? '0${d[0]}' : d[0]}"); + } + } + + @override + String toJson(DateTime object) => object.toLocal().toIso8601String(); +} + +class _CenaPrevodnik implements JsonConverter { + const _CenaPrevodnik(); + @override + double fromJson(int json) => json / 100; + + @override + int toJson(double object) { + try { + return (object * 100) as int; + } catch (e) { + return -1; + } + } +} diff --git a/lib/api/ceskedrahy.g.dart b/lib/api/ceskedrahy.g.dart new file mode 100644 index 0000000..1adbdc6 --- /dev/null +++ b/lib/api/ceskedrahy.g.dart @@ -0,0 +1,56 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'ceskedrahy.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +CDJizdenka _$CDJizdenkaFromJson(Map json) => CDJizdenka( + doStanice: json['stationTo'] as String, + jmeno: json['name'] as String, + platiOd: const _DatumPlatnostiPrevodnik() + .fromJson(json['validFrom'] as String?), + platiDo: const _DatumPlatnostiPrevodnik() + .fromJson(json['validity'] as String?), + spoje: (json['trainsThere'] as List) + .map((e) => CDSpoj.fromJson(e as Map)) + .toList(), + zeStanice: json['stationFrom'] as String, + vracena: json['isRefunded'] as bool, + cena: const _CenaPrevodnik().fromJson(json['price'] as int), + trida: json['serviceClass'], + ); + +Map _$CDJizdenkaToJson(CDJizdenka instance) => + { + 'stationTo': instance.doStanice, + 'name': instance.jmeno, + 'validity': const _DatumPlatnostiPrevodnik().toJson(instance.platiDo), + 'validFrom': const _DatumPlatnostiPrevodnik().toJson(instance.platiOd), + 'trainsThere': instance.spoje, + 'stationFrom': instance.zeStanice, + 'isRefunded': instance.vracena, + 'price': const _CenaPrevodnik().toJson(instance.cena), + 'serviceClass': instance.trida, + }; + +CDSpoj _$CDSpojFromJson(Map json) => CDSpoj( + nazev: json['train'] as String, + zeStanice: json['stationFrom'] as String, + doStanice: json['stationTo'] as String, + odjezdDen: const _DatumPlatnostiPrevodnik() + .fromJson(json['stationFromDate'] as String?), + prijezdDen: const _DatumPlatnostiPrevodnik() + .fromJson(json['stationToDate'] as String?), + ); + +Map _$CDSpojToJson(CDSpoj instance) => { + 'train': instance.nazev, + 'stationFrom': instance.zeStanice, + 'stationTo': instance.doStanice, + 'stationFromDate': + const _DatumPlatnostiPrevodnik().toJson(instance.odjezdDen), + 'stationToDate': + const _DatumPlatnostiPrevodnik().toJson(instance.prijezdDen), + }; diff --git a/lib/api/jizdenka.dart b/lib/api/jizdenka.dart new file mode 100644 index 0000000..0e00477 --- /dev/null +++ b/lib/api/jizdenka.dart @@ -0,0 +1,48 @@ +import 'package:json_annotation/json_annotation.dart'; + +enum Dopravce { ceskeDrahy, regioJet } + +abstract class Jizdenka { + final Dopravce dopravce; + final DateTime platiOd; + final DateTime platiDo; + final List spoje; + final String zeStanice; + final String doStanice; + final String jmeno; + final double cena; + final Class trida; + const Jizdenka( + {required this.jmeno, + required this.dopravce, + required this.platiOd, + required this.platiDo, + required this.spoje, + required this.zeStanice, + required this.doStanice, + required this.cena, + required this.trida}); +} + +abstract class Spoj { + final String nazev; + final String zeStanice; + final String doStanice; + final DateTime odjezdDen; + final DateTime prijezdDen; + const Spoj( + {required this.nazev, + required this.zeStanice, + required this.doStanice, + required this.odjezdDen, + required this.prijezdDen}); +} + +enum Class { + @JsonValue("Class2") + class2, + @JsonValue("Class1") + class1, + @JsonValue("Business") + business +} diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..c65778c --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,22 @@ +import 'package:cvak/okna/domu.dart'; +import 'package:flutter/material.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + // This widget is the root of your application. + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Cvak', + theme: ThemeData( + primarySwatch: Colors.blue, + ), + home: const DomovskaObrazovka(), + ); + } +} diff --git a/lib/okna/domu.dart b/lib/okna/domu.dart new file mode 100644 index 0000000..29aaf8a --- /dev/null +++ b/lib/okna/domu.dart @@ -0,0 +1,27 @@ +import 'package:cvak/okna/login.dart'; +import 'package:flutter/material.dart'; + +class DomovskaObrazovka extends StatefulWidget { + const DomovskaObrazovka({super.key}); + + @override + State createState() => _DomovskaObrazovkaState(); +} + +class _DomovskaObrazovkaState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: SizedBox( + child: Column(children: [ + TextButton( + onPressed: (() => Navigator.of(context).push( + MaterialPageRoute(builder: (c) => const LoginStranka()))), + child: const Text("Přihlásit")) + ]), + ), + ), + ); + } +} diff --git a/lib/okna/login.dart b/lib/okna/login.dart new file mode 100644 index 0000000..164579d --- /dev/null +++ b/lib/okna/login.dart @@ -0,0 +1,69 @@ +import 'package:cvak/api/ceskedrahy.dart'; +import 'package:flutter/material.dart'; + +class LoginStranka extends StatefulWidget { + const LoginStranka({super.key}); + + @override + State createState() => _LoginStrankaState(); +} + +class _LoginStrankaState extends State { + final _mailManager = TextEditingController(); + final _passManager = TextEditingController(); + var rememberMe = false; + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: Form( + child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [ + TextFormField( + decoration: const InputDecoration(hintText: "E-mail"), + controller: _mailManager, + ), + const SizedBox( + height: 15, + ), + TextFormField( + decoration: const InputDecoration(hintText: "Heslo"), + controller: _passManager, + ), + const SizedBox( + height: 10, + ), + Row(children: [ + Checkbox( + value: rememberMe, + onChanged: (v) { + rememberMe = v ?? false; + }, + ), + const SizedBox( + width: 10, + ), + const Text("Zapamatovat si mě") + ]), + const SizedBox(height: 10), + TextButton( + onPressed: () async { + var d = CeskeDrahy(); + // otestovat přihlášení + try { + await d.logIn(_mailManager.text, _passManager.text); + } catch (e) { + ScaffoldMessenger.of(context).clearSnackBars(); + ScaffoldMessenger.of(context).showSnackBar(const SnackBar( + content: Text( + "Nepodařilo se přihlásit, zkontrolujte údaje a připojení."), + duration: Duration(seconds: 5), + )); + } + }, + child: const Text("Přihlásit se")) + ]), + ), + ), + ); + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9ddc340 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3715 @@ +{ + "name": "cvak", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "cz-conventional-changelog": "^3.3.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.1.0.tgz", + "integrity": "sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/types": "^17.0.0", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz", + "integrity": "sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.2.0.tgz", + "integrity": "sha512-HDD57qSqNrk399R4TIjw31AWBG8dBjNj1MrDKZKmC/wvimtnIFlqzcu1+sxfXIOHj/+M6tcMWDtvknGUd7SU+g==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/execute-rule": "^17.0.0", + "@commitlint/resolve-extends": "^17.1.0", + "@commitlint/types": "^17.0.0", + "@types/node": "^14.0.0", + "chalk": "^4.1.0", + "cosmiconfig": "^7.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load/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, + "optional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@commitlint/load/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, + "optional": 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/@commitlint/load/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, + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@commitlint/load/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, + "optional": true + }, + "node_modules/@commitlint/load/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, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/load/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, + "optional": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.1.0.tgz", + "integrity": "sha512-jqKm00LJ59T0O8O4bH4oMa4XyJVEOK4GzH8Qye9XKji+Q1FxhZznxMV/bDLyYkzbTodBt9sL0WLql8wMtRTbqQ==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/types": "^17.0.0", + "import-fresh": "^3.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/types": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.0.0.tgz", + "integrity": "sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==", + "dev": true, + "optional": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/types/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, + "optional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@commitlint/types/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, + "optional": 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/@commitlint/types/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, + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@commitlint/types/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, + "optional": true + }, + "node_modules/@commitlint/types/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, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/types/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, + "optional": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "optional": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true, + "optional": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "optional": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true, + "optional": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "optional": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "optional": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true, + "optional": true + }, + "node_modules/@types/node": { + "version": "14.18.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.33.tgz", + "integrity": "sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==", + "dev": true, + "optional": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true, + "optional": true + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true, + "optional": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "optional": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "optional": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "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==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "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/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "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/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "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/commitizen": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.5.tgz", + "integrity": "sha512-9sXju8Qrz1B4Tw7kC5KhnvwYQN88qs2zbiB8oyMsnXZyJ24PPGiNM3nHr73d32dnE3i8VJEXddBFIbOgYSEXtQ==", + "dev": true, + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.4", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.6", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "optional": 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/cosmiconfig-typescript-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.2.0.tgz", + "integrity": "sha512-NkANeMnaHrlaSSlpKGyvn2R4rqUDeE/9E5YHx+b4nwo0R8dZyAqcih8/gxpCZvqWP9Vf6xuLpMSzSgdVEIM78g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=3" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "optional": true + }, + "node_modules/cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.3.1" + } + }, + "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/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, + "optional": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "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/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "optional": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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-node-modules": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "dev": true, + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "optional": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "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/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/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, + "optional": 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-fresh/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, + "optional": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/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/inquirer/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/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "optional": true + }, + "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-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "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/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, + "optional": true + }, + "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, + "optional": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "optional": true + }, + "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/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, + "optional": true + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/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/log-symbols/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/log-symbols/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/log-symbols/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/log-symbols/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/log-symbols/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/longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "optional": true + }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true + }, + "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/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/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/ora/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/ora/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/ora/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/ora/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/ora/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/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "optional": 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, + "optional": 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/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "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/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "optional": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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/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/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/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/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "optional": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "optional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.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, + "optional": 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/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "optional": true + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "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==", + "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, + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "optional": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "optional": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "optional": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@commitlint/config-validator": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.1.0.tgz", + "integrity": "sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==", + "dev": true, + "optional": true, + "requires": { + "@commitlint/types": "^17.0.0", + "ajv": "^8.11.0" + } + }, + "@commitlint/execute-rule": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz", + "integrity": "sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==", + "dev": true, + "optional": true + }, + "@commitlint/load": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.2.0.tgz", + "integrity": "sha512-HDD57qSqNrk399R4TIjw31AWBG8dBjNj1MrDKZKmC/wvimtnIFlqzcu1+sxfXIOHj/+M6tcMWDtvknGUd7SU+g==", + "dev": true, + "optional": true, + "requires": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/execute-rule": "^17.0.0", + "@commitlint/resolve-extends": "^17.1.0", + "@commitlint/types": "^17.0.0", + "@types/node": "^14.0.0", + "chalk": "^4.1.0", + "cosmiconfig": "^7.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4" + }, + "dependencies": { + "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, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "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, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@commitlint/resolve-extends": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.1.0.tgz", + "integrity": "sha512-jqKm00LJ59T0O8O4bH4oMa4XyJVEOK4GzH8Qye9XKji+Q1FxhZznxMV/bDLyYkzbTodBt9sL0WLql8wMtRTbqQ==", + "dev": true, + "optional": true, + "requires": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/types": "^17.0.0", + "import-fresh": "^3.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + } + }, + "@commitlint/types": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.0.0.tgz", + "integrity": "sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "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, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "optional": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "optional": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true, + "optional": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "optional": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true, + "optional": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "optional": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "optional": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true, + "optional": true + }, + "@types/node": { + "version": "14.18.33", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.33.tgz", + "integrity": "sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==", + "dev": true, + "optional": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true, + "optional": true + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true, + "optional": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "optional": true + }, + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "optional": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "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 + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "optional": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "optional": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "commitizen": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.5.tgz", + "integrity": "sha512-9sXju8Qrz1B4Tw7kC5KhnvwYQN88qs2zbiB8oyMsnXZyJ24PPGiNM3nHr73d32dnE3i8VJEXddBFIbOgYSEXtQ==", + "dev": true, + "requires": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.4", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.6", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "optional": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cosmiconfig-typescript-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.2.0.tgz", + "integrity": "sha512-NkANeMnaHrlaSSlpKGyvn2R4rqUDeE/9E5YHx+b4nwo0R8dZyAqcih8/gxpCZvqWP9Vf6xuLpMSzSgdVEIM78g==", + "dev": true, + "optional": true, + "requires": {} + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "optional": true + }, + "cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "requires": { + "@commitlint/load": ">6.1.1", + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true + }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "optional": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "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, + "optional": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "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 + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "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, + "optional": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-node-modules": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "dev": true, + "requires": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "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 + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "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, + "optional": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "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, + "optional": true + } + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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, + "optional": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "optional": true + }, + "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, + "optional": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "optional": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "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, + "optional": true + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", + "dev": true + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "optional": true + }, + "merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "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, + "optional": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "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, + "optional": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "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, + "optional": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "optional": true + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "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, + "optional": true + }, + "resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "optional": true, + "requires": { + "global-dirs": "^0.1.1" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rxjs": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "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 + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "optional": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "optional": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "optional": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "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 + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "optional": true + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "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, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "optional": true + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "optional": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0e958a8 --- /dev/null +++ b/package.json @@ -0,0 +1,10 @@ +{ + "devDependencies": { + "cz-conventional-changelog": "^3.3.0" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + } +} diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..56dc7e9 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,484 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + url: "https://pub.dartlang.org" + source: hosted + version: "50.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + url: "https://pub.dartlang.org" + source: hosted + version: "5.2.0" + archive: + dependency: transitive + description: + name: archive + url: "https://pub.dartlang.org" + source: hosted + version: "3.3.4" + args: + dependency: transitive + description: + name: args + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.1" + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.9.0" + build: + dependency: transitive + description: + name: build + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.1" + build_config: + dependency: transitive + description: + name: build_config + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + build_runner: + dependency: "direct dev" + description: + name: build_runner + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.2" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + url: "https://pub.dartlang.org" + source: hosted + version: "7.2.7" + built_collection: + dependency: transitive + description: + name: built_collection + url: "https://pub.dartlang.org" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + url: "https://pub.dartlang.org" + source: hosted + version: "8.4.2" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + cli_util: + dependency: transitive + description: + name: cli_util + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.5" + code_builder: + dependency: transitive + description: + name: code_builder + url: "https://pub.dartlang.org" + source: hosted + version: "4.3.0" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.16.0" + convert: + dependency: transitive + description: + name: convert + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.1" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.2" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + dart_style: + dependency: transitive + description: + name: dart_style + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.4" + file: + dependency: transitive + description: + name: file + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.4" + fixnum: + dependency: transitive + description: + name: fixnum + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_launcher_icons: + dependency: "direct dev" + description: + name: flutter_launcher_icons + url: "https://pub.dartlang.org" + source: hosted + version: "0.11.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.0" + glob: + dependency: transitive + description: + name: glob + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + graphs: + dependency: transitive + description: + name: graphs + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.0" + http: + dependency: "direct main" + description: + name: http + url: "https://pub.dartlang.org" + source: hosted + version: "0.13.5" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.2" + image: + dependency: transitive + description: + name: image + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.2" + io: + dependency: transitive + description: + name: io + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.5" + json_annotation: + dependency: "direct main" + description: + name: json_annotation + url: "https://pub.dartlang.org" + source: hosted + version: "4.7.0" + json_serializable: + dependency: "direct main" + description: + name: json_serializable + url: "https://pub.dartlang.org" + source: hosted + version: "6.5.4" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + logging: + dependency: transitive + description: + name: logging + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.13" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.5" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + mime: + dependency: transitive + description: + name: mime + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + package_config: + dependency: transitive + description: + name: package_config + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.2" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.dartlang.org" + source: hosted + version: "5.1.0" + pointycastle: + dependency: transitive + description: + name: pointycastle + url: "https://pub.dartlang.org" + source: hosted + version: "3.6.2" + pool: + dependency: transitive + description: + name: pool + url: "https://pub.dartlang.org" + source: hosted + version: "1.5.1" + pub_semver: + dependency: transitive + description: + name: pub_semver + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + shelf: + dependency: transitive + description: + name: shelf + url: "https://pub.dartlang.org" + source: hosted + version: "1.4.0" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.6" + source_helper: + dependency: transitive + description: + name: source_helper + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.3" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + stream_transform: + dependency: transitive + description: + name: stream_transform + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + timing: + dependency: transitive + description: + name: timing + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" + watcher: + dependency: transitive + description: + name: watcher + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.0" + xml: + dependency: transitive + description: + name: xml + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.0" + yaml: + dependency: transitive + description: + name: yaml + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.1" +sdks: + dart: ">=2.18.4 <3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..18fd631 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,73 @@ +name: cvak +description: Open-source správce jízdenek pro české vlakové dopravce + +publish_to: 'none' + +version: 1.0.0+1 + +environment: + sdk: '>=2.18.4 <3.0.0' + +dependencies: + flutter: + sdk: flutter + json_annotation: ^4.7.0 + json_serializable: ^6.5.4 + cupertino_icons: ^1.0.2 + http: ^0.13.5 + +dev_dependencies: + build_runner: ^2.3.2 + flutter_launcher_icons: "^0.11.0" + flutter_lints: ^2.0.0 + +flutter_icons: + android: true + ios: true + image_path: "assets/icon.png" + min_sdk_android: 21 # android min sdk min:16, default 21 + adaptive_icon_background: "#ffffff" + adaptive_icon_foreground: "assets/mono.png" + remove_alpha_ios: true + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages