From c08b2f051a627ec273e31f083a1cb9b91aaae0b9 Mon Sep 17 00:00:00 2001
From: Sheikh Haziq
Date: Thu, 20 Jul 2023 14:09:32 +0530
Subject: [PATCH] Changed whole ui and added Jio Saavn support
---
README.md | 36 +-
android/app/build.gradle | 27 +-
android/app/src/debug/AndroidManifest.xml | 5 +-
android/app/src/main/AndroidManifest.xml | 48 +-
.../beta => gyavun}/MainActivity.kt | 2 +-
.../app/src/main/res/anim/in_animation.xml | 16 +
.../app/src/main/res/anim/out_animation.xml | 18 +
.../audio_service_fast_forward.png | Bin 0 -> 1268 bytes
.../audio_service_fast_rewind.png | Bin 0 -> 889 bytes
.../res/drawable-hdpi/audio_service_pause.png | Bin 0 -> 572 bytes
.../audio_service_play_arrow.png | Bin 0 -> 636 bytes
.../drawable-hdpi/audio_service_skip_next.png | Bin 0 -> 676 bytes
.../audio_service_skip_previous.png | Bin 0 -> 671 bytes
.../res/drawable-hdpi/audio_service_stop.png | Bin 0 -> 989 bytes
.../res/drawable-hdpi/ic_stat_music_note.png | Bin 0 -> 527 bytes
.../audio_service_fast_forward.png | Bin 0 -> 720 bytes
.../audio_service_fast_rewind.png | Bin 0 -> 512 bytes
.../res/drawable-mdpi/audio_service_pause.png | Bin 0 -> 343 bytes
.../audio_service_play_arrow.png | Bin 0 -> 373 bytes
.../drawable-mdpi/audio_service_skip_next.png | Bin 0 -> 444 bytes
.../audio_service_skip_previous.png | Bin 0 -> 428 bytes
.../res/drawable-mdpi/audio_service_stop.png | Bin 0 -> 684 bytes
.../res/drawable-mdpi/ic_stat_music_note.png | Bin 0 -> 317 bytes
.../app/src/main/res/drawable-v21/next.xml | 9 -
.../app/src/main/res/drawable-v21/pause.xml | 12 -
.../app/src/main/res/drawable-v21/play.xml | 9 -
.../src/main/res/drawable-v21/previous.xml | 9 -
.../app/src/main/res/drawable-v21/stop.xml | 9 -
.../audio_service_fast_forward.png | Bin 0 -> 1511 bytes
.../audio_service_fast_rewind.png | Bin 0 -> 999 bytes
.../drawable-xhdpi/audio_service_pause.png | Bin 0 -> 706 bytes
.../audio_service_play_arrow.png | Bin 0 -> 761 bytes
.../audio_service_skip_next.png | Bin 0 -> 800 bytes
.../audio_service_skip_previous.png | Bin 0 -> 782 bytes
.../res/drawable-xhdpi/audio_service_stop.png | Bin 0 -> 1376 bytes
.../res/drawable-xhdpi/ic_stat_music_note.png | Bin 0 -> 584 bytes
.../audio_service_fast_forward.png | Bin 0 -> 2692 bytes
.../audio_service_fast_rewind.png | Bin 0 -> 1719 bytes
.../drawable-xxhdpi/audio_service_pause.png | Bin 0 -> 1189 bytes
.../audio_service_play_arrow.png | Bin 0 -> 1304 bytes
.../audio_service_skip_next.png | Bin 0 -> 1327 bytes
.../audio_service_skip_previous.png | Bin 0 -> 1266 bytes
.../drawable-xxhdpi/audio_service_stop.png | Bin 0 -> 2016 bytes
.../drawable-xxhdpi/ic_stat_music_note.png | Bin 0 -> 931 bytes
.../audio_service_fast_forward.png | Bin 0 -> 3231 bytes
.../audio_service_fast_rewind.png | Bin 0 -> 2135 bytes
.../drawable-xxxhdpi/audio_service_pause.png | Bin 0 -> 1508 bytes
.../audio_service_play_arrow.png | Bin 0 -> 1597 bytes
.../audio_service_skip_next.png | Bin 0 -> 1620 bytes
.../audio_service_skip_previous.png | Bin 0 -> 1627 bytes
.../drawable-xxxhdpi/audio_service_stop.png | Bin 0 -> 2939 bytes
.../drawable-xxxhdpi/ic_stat_music_note.png | Bin 0 -> 1215 bytes
.../res/mipmap-anydpi-v26/ic_launcher.xml | 5 +-
.../mipmap-anydpi-v26/ic_launcher_round.xml | 5 -
.../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3914 -> 6255 bytes
.../mipmap-hdpi/ic_launcher_background.png | Bin 0 -> 3391 bytes
.../mipmap-hdpi/ic_launcher_foreground.png | Bin 10690 -> 3183 bytes
.../mipmap-hdpi/ic_launcher_monochrome.png | Bin 0 -> 1904 bytes
.../res/mipmap-hdpi/ic_launcher_round.png | Bin 6299 -> 0 bytes
.../src/main/res/mipmap-ldpi/ic_launcher.png | Bin 1534 -> 0 bytes
.../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2040 -> 3530 bytes
.../mipmap-mdpi/ic_launcher_background.png | Bin 0 -> 2430 bytes
.../mipmap-mdpi/ic_launcher_foreground.png | Bin 5741 -> 1787 bytes
.../mipmap-mdpi/ic_launcher_monochrome.png | Bin 0 -> 1064 bytes
.../res/mipmap-mdpi/ic_launcher_round.png | Bin 3349 -> 0 bytes
.../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4494 -> 8918 bytes
.../mipmap-xhdpi/ic_launcher_background.png | Bin 0 -> 4428 bytes
.../mipmap-xhdpi/ic_launcher_foreground.png | Bin 13221 -> 4553 bytes
.../mipmap-xhdpi/ic_launcher_monochrome.png | Bin 0 -> 2527 bytes
.../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7685 -> 0 bytes
.../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 10463 -> 15987 bytes
.../mipmap-xxhdpi/ic_launcher_background.png | Bin 0 -> 7230 bytes
.../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 46403 -> 8353 bytes
.../mipmap-xxhdpi/ic_launcher_monochrome.png | Bin 0 -> 4968 bytes
.../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 15818 -> 0 bytes
.../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 13213 -> 22821 bytes
.../mipmap-xxxhdpi/ic_launcher_background.png | Bin 0 -> 10353 bytes
.../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 67070 -> 11515 bytes
.../mipmap-xxxhdpi/ic_launcher_monochrome.png | Bin 0 -> 6777 bytes
.../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 21290 -> 0 bytes
android/app/src/main/res/raw/keep.xml | 3 +
android/app/src/main/res/values/attrs.xml | 7 +
android/app/src/main/res/values/colors.xml | 6 +
android/app/src/main/res/values/dimens.xml | 10 +
.../res/values/ic_launcher_background.xml | 2 +-
android/app/src/main/res/values/strings.xml | 6 +
android/app/src/main/res/values/styles.xml | 24 +-
android/app/src/main/res/values/themes.xml | 17 +
android/app/src/profile/AndroidManifest.xml | 3 +-
android/build.gradle | 7 +-
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
assets/icons/heart.png | Bin 3463 -> 0 bytes
assets/icons/search.png | Bin 22872 -> 0 bytes
assets/icons/settings.png | Bin 26168 -> 0 bytes
assets/images/logo.png | Bin 18954 -> 0 bytes
assets/images/playlist.png | Bin 9012 -> 0 bytes
assets/images/song.png | Bin 13627 -> 0 bytes
.../metadata/android/en-US/images/icon.png | Bin 11678 -> 22821 bytes
.../en-US/images/phoneScreenshots/01.jpg | Bin 578110 -> 777686 bytes
.../en-US/images/phoneScreenshots/02.jpg | Bin 247705 -> 409833 bytes
.../en-US/images/phoneScreenshots/03.jpg | Bin 330936 -> 619278 bytes
.../en-US/images/phoneScreenshots/04.jpg | Bin 103888 -> 516584 bytes
.../en-US/images/phoneScreenshots/05.jpg | Bin 162231 -> 102477 bytes
.../en-US/images/phoneScreenshots/06.jpg | Bin 139713 -> 170537 bytes
lib/Models/Album.dart | 52 -
lib/Models/HomeModel.dart | 64 --
lib/Models/Thumbnail.dart | 59 --
lib/Models/Track.dart | 181 ----
lib/api/api.dart | 612 +++++++++++
lib/api/extensions.dart | 70 ++
lib/api/format.dart | 553 ++++++++++
lib/api/image_resolution_modifier.dart | 29 +
lib/api/nav.dart | 153 +++
lib/api/ytmusic.dart | 965 ++++++++++++++++++
lib/components/bottom_player.dart | 130 +++
lib/components/color_icon.dart | 24 +
lib/components/home_section.dart | 139 +++
lib/components/play_button.dart | 31 +
lib/components/playlist_album_header.dart | 63 ++
lib/components/queue_list.dart | 146 +++
lib/components/recently_played.dart | 133 +++
lib/components/recomendations.dart | 83 ++
lib/components/search_tile.dart | 118 +++
lib/data/YTMusic/YTMService.dart | 126 ---
lib/data/YTMusic/endpoints/playlist.dart | 132 ---
lib/data/YTMusic/endpoints/search.dart | 391 -------
lib/data/YTMusic/endpoints/suggestions.dart | 41 -
lib/data/YTMusic/utils.dart | 23 -
lib/data/YTMusic/ytmusic.dart | 15 -
lib/data/home1.dart | 418 --------
lib/generated/intl/messages_af.dart | 87 --
lib/generated/intl/messages_all.dart | 127 ---
lib/generated/intl/messages_ar.dart | 87 --
lib/generated/intl/messages_bn.dart | 87 --
lib/generated/intl/messages_de.dart | 87 --
lib/generated/intl/messages_el.dart | 87 --
lib/generated/intl/messages_en.dart | 87 --
lib/generated/intl/messages_es.dart | 87 --
lib/generated/intl/messages_fr.dart | 87 --
lib/generated/intl/messages_hi.dart | 87 --
lib/generated/intl/messages_ja.dart | 87 --
lib/generated/intl/messages_ko.dart | 87 --
lib/generated/intl/messages_or.dart | 87 --
lib/generated/intl/messages_pt.dart | 87 --
lib/generated/intl/messages_ru.dart | 87 --
lib/generated/intl/messages_tr.dart | 87 --
lib/generated/intl/messages_ur.dart | 87 --
lib/generated/intl/messages_zh.dart | 87 --
lib/generated/l10n.dart | 711 -------------
lib/l10n/intl_af.arb | 64 --
lib/l10n/intl_ar.arb | 65 --
lib/l10n/intl_bn.arb | 64 --
lib/l10n/intl_de.arb | 64 --
lib/l10n/intl_el.arb | 64 --
lib/l10n/intl_en.arb | 64 --
lib/l10n/intl_es.arb | 64 --
lib/l10n/intl_fr.arb | 64 --
lib/l10n/intl_hi.arb | 64 --
lib/l10n/intl_ja.arb | 64 --
lib/l10n/intl_ko.arb | 64 --
lib/l10n/intl_or.arb | 64 --
lib/l10n/intl_pt.arb | 64 --
lib/l10n/intl_ru.arb | 64 --
lib/l10n/intl_tr.arb | 64 --
lib/l10n/intl_ur.arb | 64 --
lib/l10n/intl_zh.arb | 64 --
lib/main.dart | 148 ++-
lib/models/album_model.dart | 99 ++
.../Artist.dart => models/artist_model.dart} | 24 +-
lib/models/setting_item.dart | 22 +
lib/models/song_track.dart | 156 +++
lib/providers/DownloadProvider.dart | 208 ----
lib/providers/MusicPlayer.dart | 562 ----------
lib/providers/SearchProvider.dart | 94 --
lib/providers/TD.dart | 186 ----
lib/providers/ThemeProvider.dart | 184 ----
lib/providers/audio_handler.dart | 301 ++++++
lib/providers/media_manager.dart | 280 +++++
lib/providers/theme_manager.dart | 109 ++
lib/screens/AboutScreen.dart | 250 -----
lib/screens/ArtistScreen.dart | 133 ---
lib/screens/DownloadScreen.dart | 216 ----
lib/screens/FavouriteScreen.dart | 64 --
lib/screens/HistoryScreen.dart | 154 ---
lib/screens/HomeScreen.dart | 772 --------------
lib/screens/MainScreen.dart | 236 -----
lib/screens/PlayListScreen.dart | 178 ----
lib/screens/PlayerScreen.dart | 643 ------------
lib/screens/SearchScreen.dart | 380 -------
lib/screens/SearchScreens/AlbumSearch.dart | 92 --
lib/screens/SearchScreens/ArtistsSearch.dart | 66 --
lib/screens/SearchScreens/PlaylistSearch.dart | 113 --
lib/screens/SearchScreens/SongsSearch.dart | 36 -
.../SearchScreens/SuggestionsSearch.dart | 152 ---
lib/screens/SearchScreens/videoSearch.dart | 80 --
lib/screens/SettingsScreen.dart | 751 --------------
lib/screens/ThemeScreen.dart | 417 --------
lib/screens/artists/artist_screen.dart | 204 ++++
lib/screens/download_screen.dart | 53 +
lib/screens/lists/list_screen.dart | 197 ++++
lib/screens/main_screen.dart | 120 +++
lib/screens/main_screen/home_screen.dart | 95 ++
lib/screens/player_screen.dart | 591 +++++++++++
lib/screens/playlists/favorites_details.dart | 85 ++
lib/screens/playlists/playlist_details.dart | 73 ++
lib/screens/playlists/playlists_screen.dart | 50 +
lib/screens/search/main_search.dart | 205 ++++
lib/screens/settings/app_layout.dart | 66 ++
lib/screens/settings/data_lists.dart | 407 ++++++++
lib/screens/settings/download_screen.dart | 60 ++
lib/screens/settings/history_screen.dart | 60 ++
lib/screens/settings/playback_screent.dart | 61 ++
lib/screens/settings/setting_screen.dart | 119 +++
lib/screens/settings/theme_screen.dart | 66 ++
lib/ui/colors.dart | 9 +
lib/ui/text_styles.dart | 59 ++
lib/ui/themes/dark.dart | 240 +++++
lib/ui/themes/light.dart | 197 ++++
lib/utils/app.json | 14 -
lib/utils/checkUpdate.dart | 95 --
lib/utils/colors.dart | 30 -
lib/utils/connectivity.dart | 8 -
lib/utils/constants.dart | 1 -
lib/utils/downlod.dart | 182 ++++
lib/utils/enums.dart | 1 +
lib/utils/file.dart | 21 -
lib/utils/format_duration.dart | 10 +
lib/utils/get_subtitle.dart | 34 +
lib/utils/globals.dart | 3 +
lib/utils/history.dart | 15 +
lib/utils/lyrics.dart | 389 +++++++
lib/utils/navigator.dart | 3 -
lib/utils/option_menu.dart | 136 +++
lib/utils/playlists.dart | 26 +
lib/utils/pprint.dart | 8 +
lib/utils/recomendations.dart | 13 +
lib/utils/router.dart | 138 +++
lib/utils/showOptions.dart | 208 ----
lib/utils/snackbar.dart | 37 +
lib/utils/spotify.dart | 280 +++++
lib/widgets/MusicSlider.dart | 71 --
lib/widgets/PanelHeader.dart | 193 ----
lib/widgets/TrackTile.dart | 160 ---
lib/widgets/search_history.dart | 96 --
pubspec.lock | 557 +++++-----
pubspec.yaml | 76 +-
test/widget_test.dart | 4 +-
247 files changed, 9060 insertions(+), 12326 deletions(-)
rename android/app/src/main/kotlin/com/webyte/{vibe_music/beta => gyavun}/MainActivity.kt (73%)
create mode 100644 android/app/src/main/res/anim/in_animation.xml
create mode 100644 android/app/src/main/res/anim/out_animation.xml
create mode 100644 android/app/src/main/res/drawable-hdpi/audio_service_fast_forward.png
create mode 100644 android/app/src/main/res/drawable-hdpi/audio_service_fast_rewind.png
create mode 100644 android/app/src/main/res/drawable-hdpi/audio_service_pause.png
create mode 100644 android/app/src/main/res/drawable-hdpi/audio_service_play_arrow.png
create mode 100644 android/app/src/main/res/drawable-hdpi/audio_service_skip_next.png
create mode 100644 android/app/src/main/res/drawable-hdpi/audio_service_skip_previous.png
create mode 100644 android/app/src/main/res/drawable-hdpi/audio_service_stop.png
create mode 100644 android/app/src/main/res/drawable-hdpi/ic_stat_music_note.png
create mode 100644 android/app/src/main/res/drawable-mdpi/audio_service_fast_forward.png
create mode 100644 android/app/src/main/res/drawable-mdpi/audio_service_fast_rewind.png
create mode 100644 android/app/src/main/res/drawable-mdpi/audio_service_pause.png
create mode 100644 android/app/src/main/res/drawable-mdpi/audio_service_play_arrow.png
create mode 100644 android/app/src/main/res/drawable-mdpi/audio_service_skip_next.png
create mode 100644 android/app/src/main/res/drawable-mdpi/audio_service_skip_previous.png
create mode 100644 android/app/src/main/res/drawable-mdpi/audio_service_stop.png
create mode 100644 android/app/src/main/res/drawable-mdpi/ic_stat_music_note.png
delete mode 100644 android/app/src/main/res/drawable-v21/next.xml
delete mode 100644 android/app/src/main/res/drawable-v21/pause.xml
delete mode 100644 android/app/src/main/res/drawable-v21/play.xml
delete mode 100644 android/app/src/main/res/drawable-v21/previous.xml
delete mode 100644 android/app/src/main/res/drawable-v21/stop.xml
create mode 100644 android/app/src/main/res/drawable-xhdpi/audio_service_fast_forward.png
create mode 100644 android/app/src/main/res/drawable-xhdpi/audio_service_fast_rewind.png
create mode 100644 android/app/src/main/res/drawable-xhdpi/audio_service_pause.png
create mode 100644 android/app/src/main/res/drawable-xhdpi/audio_service_play_arrow.png
create mode 100644 android/app/src/main/res/drawable-xhdpi/audio_service_skip_next.png
create mode 100644 android/app/src/main/res/drawable-xhdpi/audio_service_skip_previous.png
create mode 100644 android/app/src/main/res/drawable-xhdpi/audio_service_stop.png
create mode 100644 android/app/src/main/res/drawable-xhdpi/ic_stat_music_note.png
create mode 100644 android/app/src/main/res/drawable-xxhdpi/audio_service_fast_forward.png
create mode 100644 android/app/src/main/res/drawable-xxhdpi/audio_service_fast_rewind.png
create mode 100644 android/app/src/main/res/drawable-xxhdpi/audio_service_pause.png
create mode 100644 android/app/src/main/res/drawable-xxhdpi/audio_service_play_arrow.png
create mode 100644 android/app/src/main/res/drawable-xxhdpi/audio_service_skip_next.png
create mode 100644 android/app/src/main/res/drawable-xxhdpi/audio_service_skip_previous.png
create mode 100644 android/app/src/main/res/drawable-xxhdpi/audio_service_stop.png
create mode 100644 android/app/src/main/res/drawable-xxhdpi/ic_stat_music_note.png
create mode 100644 android/app/src/main/res/drawable-xxxhdpi/audio_service_fast_forward.png
create mode 100644 android/app/src/main/res/drawable-xxxhdpi/audio_service_fast_rewind.png
create mode 100644 android/app/src/main/res/drawable-xxxhdpi/audio_service_pause.png
create mode 100644 android/app/src/main/res/drawable-xxxhdpi/audio_service_play_arrow.png
create mode 100644 android/app/src/main/res/drawable-xxxhdpi/audio_service_skip_next.png
create mode 100644 android/app/src/main/res/drawable-xxxhdpi/audio_service_skip_previous.png
create mode 100644 android/app/src/main/res/drawable-xxxhdpi/audio_service_stop.png
create mode 100644 android/app/src/main/res/drawable-xxxhdpi/ic_stat_music_note.png
delete mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png
delete mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
delete mode 100644 android/app/src/main/res/mipmap-ldpi/ic_launcher.png
create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png
delete mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png
delete mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png
delete mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
delete mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
create mode 100644 android/app/src/main/res/raw/keep.xml
create mode 100644 android/app/src/main/res/values/attrs.xml
create mode 100644 android/app/src/main/res/values/colors.xml
create mode 100644 android/app/src/main/res/values/dimens.xml
create mode 100644 android/app/src/main/res/values/strings.xml
create mode 100644 android/app/src/main/res/values/themes.xml
delete mode 100644 assets/icons/heart.png
delete mode 100644 assets/icons/search.png
delete mode 100644 assets/icons/settings.png
delete mode 100644 assets/images/logo.png
delete mode 100644 assets/images/playlist.png
delete mode 100644 assets/images/song.png
delete mode 100644 lib/Models/Album.dart
delete mode 100644 lib/Models/HomeModel.dart
delete mode 100644 lib/Models/Thumbnail.dart
delete mode 100644 lib/Models/Track.dart
create mode 100644 lib/api/api.dart
create mode 100644 lib/api/extensions.dart
create mode 100644 lib/api/format.dart
create mode 100644 lib/api/image_resolution_modifier.dart
create mode 100644 lib/api/nav.dart
create mode 100644 lib/api/ytmusic.dart
create mode 100644 lib/components/bottom_player.dart
create mode 100644 lib/components/color_icon.dart
create mode 100644 lib/components/home_section.dart
create mode 100644 lib/components/play_button.dart
create mode 100644 lib/components/playlist_album_header.dart
create mode 100644 lib/components/queue_list.dart
create mode 100644 lib/components/recently_played.dart
create mode 100644 lib/components/recomendations.dart
create mode 100644 lib/components/search_tile.dart
delete mode 100644 lib/data/YTMusic/YTMService.dart
delete mode 100644 lib/data/YTMusic/endpoints/playlist.dart
delete mode 100644 lib/data/YTMusic/endpoints/search.dart
delete mode 100644 lib/data/YTMusic/endpoints/suggestions.dart
delete mode 100644 lib/data/YTMusic/utils.dart
delete mode 100644 lib/data/YTMusic/ytmusic.dart
delete mode 100644 lib/data/home1.dart
delete mode 100644 lib/generated/intl/messages_af.dart
delete mode 100644 lib/generated/intl/messages_all.dart
delete mode 100644 lib/generated/intl/messages_ar.dart
delete mode 100644 lib/generated/intl/messages_bn.dart
delete mode 100644 lib/generated/intl/messages_de.dart
delete mode 100644 lib/generated/intl/messages_el.dart
delete mode 100644 lib/generated/intl/messages_en.dart
delete mode 100644 lib/generated/intl/messages_es.dart
delete mode 100644 lib/generated/intl/messages_fr.dart
delete mode 100644 lib/generated/intl/messages_hi.dart
delete mode 100644 lib/generated/intl/messages_ja.dart
delete mode 100644 lib/generated/intl/messages_ko.dart
delete mode 100644 lib/generated/intl/messages_or.dart
delete mode 100644 lib/generated/intl/messages_pt.dart
delete mode 100644 lib/generated/intl/messages_ru.dart
delete mode 100644 lib/generated/intl/messages_tr.dart
delete mode 100644 lib/generated/intl/messages_ur.dart
delete mode 100644 lib/generated/intl/messages_zh.dart
delete mode 100644 lib/generated/l10n.dart
delete mode 100644 lib/l10n/intl_af.arb
delete mode 100644 lib/l10n/intl_ar.arb
delete mode 100644 lib/l10n/intl_bn.arb
delete mode 100644 lib/l10n/intl_de.arb
delete mode 100644 lib/l10n/intl_el.arb
delete mode 100644 lib/l10n/intl_en.arb
delete mode 100644 lib/l10n/intl_es.arb
delete mode 100644 lib/l10n/intl_fr.arb
delete mode 100644 lib/l10n/intl_hi.arb
delete mode 100644 lib/l10n/intl_ja.arb
delete mode 100644 lib/l10n/intl_ko.arb
delete mode 100644 lib/l10n/intl_or.arb
delete mode 100644 lib/l10n/intl_pt.arb
delete mode 100644 lib/l10n/intl_ru.arb
delete mode 100644 lib/l10n/intl_tr.arb
delete mode 100644 lib/l10n/intl_ur.arb
delete mode 100644 lib/l10n/intl_zh.arb
create mode 100644 lib/models/album_model.dart
rename lib/{Models/Artist.dart => models/artist_model.dart} (64%)
create mode 100644 lib/models/setting_item.dart
create mode 100644 lib/models/song_track.dart
delete mode 100644 lib/providers/DownloadProvider.dart
delete mode 100644 lib/providers/MusicPlayer.dart
delete mode 100644 lib/providers/SearchProvider.dart
delete mode 100644 lib/providers/TD.dart
delete mode 100644 lib/providers/ThemeProvider.dart
create mode 100644 lib/providers/audio_handler.dart
create mode 100644 lib/providers/media_manager.dart
create mode 100644 lib/providers/theme_manager.dart
delete mode 100644 lib/screens/AboutScreen.dart
delete mode 100644 lib/screens/ArtistScreen.dart
delete mode 100644 lib/screens/DownloadScreen.dart
delete mode 100644 lib/screens/FavouriteScreen.dart
delete mode 100644 lib/screens/HistoryScreen.dart
delete mode 100644 lib/screens/HomeScreen.dart
delete mode 100644 lib/screens/MainScreen.dart
delete mode 100644 lib/screens/PlayListScreen.dart
delete mode 100644 lib/screens/PlayerScreen.dart
delete mode 100644 lib/screens/SearchScreen.dart
delete mode 100644 lib/screens/SearchScreens/AlbumSearch.dart
delete mode 100644 lib/screens/SearchScreens/ArtistsSearch.dart
delete mode 100644 lib/screens/SearchScreens/PlaylistSearch.dart
delete mode 100644 lib/screens/SearchScreens/SongsSearch.dart
delete mode 100644 lib/screens/SearchScreens/SuggestionsSearch.dart
delete mode 100644 lib/screens/SearchScreens/videoSearch.dart
delete mode 100644 lib/screens/SettingsScreen.dart
delete mode 100644 lib/screens/ThemeScreen.dart
create mode 100644 lib/screens/artists/artist_screen.dart
create mode 100644 lib/screens/download_screen.dart
create mode 100644 lib/screens/lists/list_screen.dart
create mode 100644 lib/screens/main_screen.dart
create mode 100644 lib/screens/main_screen/home_screen.dart
create mode 100644 lib/screens/player_screen.dart
create mode 100644 lib/screens/playlists/favorites_details.dart
create mode 100644 lib/screens/playlists/playlist_details.dart
create mode 100644 lib/screens/playlists/playlists_screen.dart
create mode 100644 lib/screens/search/main_search.dart
create mode 100644 lib/screens/settings/app_layout.dart
create mode 100644 lib/screens/settings/data_lists.dart
create mode 100644 lib/screens/settings/download_screen.dart
create mode 100644 lib/screens/settings/history_screen.dart
create mode 100644 lib/screens/settings/playback_screent.dart
create mode 100644 lib/screens/settings/setting_screen.dart
create mode 100644 lib/screens/settings/theme_screen.dart
create mode 100644 lib/ui/colors.dart
create mode 100644 lib/ui/text_styles.dart
create mode 100644 lib/ui/themes/dark.dart
create mode 100644 lib/ui/themes/light.dart
delete mode 100644 lib/utils/app.json
delete mode 100644 lib/utils/checkUpdate.dart
delete mode 100644 lib/utils/colors.dart
delete mode 100644 lib/utils/connectivity.dart
delete mode 100644 lib/utils/constants.dart
create mode 100644 lib/utils/downlod.dart
create mode 100644 lib/utils/enums.dart
delete mode 100644 lib/utils/file.dart
create mode 100644 lib/utils/format_duration.dart
create mode 100644 lib/utils/get_subtitle.dart
create mode 100644 lib/utils/globals.dart
create mode 100644 lib/utils/history.dart
create mode 100644 lib/utils/lyrics.dart
delete mode 100644 lib/utils/navigator.dart
create mode 100644 lib/utils/option_menu.dart
create mode 100644 lib/utils/playlists.dart
create mode 100644 lib/utils/pprint.dart
create mode 100644 lib/utils/recomendations.dart
create mode 100644 lib/utils/router.dart
delete mode 100644 lib/utils/showOptions.dart
create mode 100644 lib/utils/snackbar.dart
create mode 100644 lib/utils/spotify.dart
delete mode 100644 lib/widgets/MusicSlider.dart
delete mode 100644 lib/widgets/PanelHeader.dart
delete mode 100644 lib/widgets/TrackTile.dart
delete mode 100644 lib/widgets/search_history.dart
diff --git a/README.md b/README.md
index bfaf618..f0205f4 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,14 @@
-
-
Vibe Music
-
A Flutter application for streaming music from YouTube Music
-
-
-
-
-
+
+
Gyavun (Formerly Vibe Music)
+
A Flutter application for streaming music from Jio Saavn
+
+
+
+
+
-## Join Our Discord server
-[![Join our Discord server!](https://invidget.switchblade.xyz/YtxYgGSYwN)](http://discord.gg/YtxYgGSYwN)
-
---
@@ -28,31 +25,28 @@
## Features / TODO
-- [x] Play (almost) any song or video from YouTube Music
+- [x] Play (almost) any song with high quality from Jio Saavn
- [x] Background playback
- [x] Search for Songs, Artists and Playlists
- [x] Reorder songs in playlist or queue
- [x] Dark Mode
-- [x] Multiple Language Support
- [x] Change Audio Quality
- [x] Material You theme
- [x] Dynamic theme support
-- [x] Change location
- [x] Add to favorites
- [x] Change direction from right to left
-- [x] Search Suggestions
- [x] Save history locally
- [x] Download songs locally
+- [ ] support for other Music Providers
+- [ ] Multiple Language Support
- [ ] Save playlist
## Installation
[](https://github.com/sheikhhaziq/vibemusic/releases/latest)
-[](https://apt.izzysoft.de/fdroid/index/apk/com.webyte.vibe_music)
+ height="80">](https://github.com/sheikhhaziq/gyavun/releases/latest)
+
## Contributing
@@ -64,8 +58,8 @@ Please make sure to update tests as appropriate.
## 👩💻👨💻 Our valuable Contributors
-
-
+
+
## Disclaimer
diff --git a/android/app/build.gradle b/android/app/build.gradle
index a8682da..fea6d29 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -31,7 +31,8 @@ if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
- compileSdkVersion 33
+ namespace "com.webyte.gyavun"
+ compileSdkVersion flutter.compileSdkVersion
ndkVersion flutter.ndkVersion
compileOptions {
@@ -48,18 +49,16 @@ android {
}
defaultConfig {
- multiDexEnabled true
- vectorDrawables.useSupportLibrary = true
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
- applicationId "com.webyte.vibe_music.beta"
+ applicationId "com.webyte.gyavun"
// 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.
+ // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 19
- targetSdkVersion flutter.targetSdkVersion
+ targetSdkVersion 33
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
+ multiDexEnabled true
}
-
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
@@ -68,11 +67,13 @@ android {
storePassword keystoreProperties['storePassword']
}
}
- buildTypes {
- release {
- signingConfig signingConfigs.release
- }
- }
+ 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.release
+ }
+ }
}
flutter {
@@ -80,5 +81,5 @@ flutter {
}
dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
+ 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
index 57aa82c..399f698 100644
--- a/android/app/src/debug/AndroidManifest.xml
+++ b/android/app/src/debug/AndroidManifest.xml
@@ -1,10 +1,7 @@
-
+
-
-
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index ba783e1..655313a 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,21 +1,27 @@
-
-
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+ android:appCategory="audio">
+
+
+
+
+
+
+
@@ -48,12 +60,12 @@
-
-
-
+
+
+
-
+
diff --git a/android/app/src/main/kotlin/com/webyte/vibe_music/beta/MainActivity.kt b/android/app/src/main/kotlin/com/webyte/gyavun/MainActivity.kt
similarity index 73%
rename from android/app/src/main/kotlin/com/webyte/vibe_music/beta/MainActivity.kt
rename to android/app/src/main/kotlin/com/webyte/gyavun/MainActivity.kt
index 3ce6f31..249821f 100644
--- a/android/app/src/main/kotlin/com/webyte/vibe_music/beta/MainActivity.kt
+++ b/android/app/src/main/kotlin/com/webyte/gyavun/MainActivity.kt
@@ -1,4 +1,4 @@
-package com.webyte.vibe_music.beta
+package com.webyte.gyavun
import io.flutter.embedding.android.FlutterActivity
diff --git a/android/app/src/main/res/anim/in_animation.xml b/android/app/src/main/res/anim/in_animation.xml
new file mode 100644
index 0000000..16f186c
--- /dev/null
+++ b/android/app/src/main/res/anim/in_animation.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/anim/out_animation.xml b/android/app/src/main/res/anim/out_animation.xml
new file mode 100644
index 0000000..0b9b073
--- /dev/null
+++ b/android/app/src/main/res/anim/out_animation.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/drawable-hdpi/audio_service_fast_forward.png b/android/app/src/main/res/drawable-hdpi/audio_service_fast_forward.png
new file mode 100644
index 0000000000000000000000000000000000000000..80616003cf35aca5537a0af807aaf878a7a157b1
GIT binary patch
literal 1268
zcmVb=KZ{ovC%{WUbc8
z^mHi|)YR0}7172M_c
z2j9awSPvT!_HTBA5OP}h_2Jqp9_Bag!}kmPe#sNIkDwUvB8+c=p>Psp?TpeN@EN=X
zkEOx!RkVIrL0>Sk^}bv9Z8JrGf*Ky%wGD8jAUfzkI9*B4;{4x5t$c1CR&+y<9{!m`bWcpIL8CHNY-=7#Ty
zTzsXYzAXQ748o)Es{1fcu(%9#spbGFZ0I~Ch(QyHiV6&VUyBHoIt&D^_zIaen^hx3C1E(ceY2{#o3cjXRg2)dJjU1@F`AAw2z
zLw4Cu1{=Xm?hS`SUIu4eqRy;OVkcy%E8&!rVBI
z2>)xD=XLM1g4_=tf{9^dbcSSi=|(26_lXl>CBIt<*nC}=Fpo!1%X$c7cj=Ea#_lP@
z$~MTVLK)u;aS5d3$cWk+KV(g$HrAmT7ZCjCnZ$#(`0?YIF~}yZ)HTtr!`gM?}fm#%3w;IJgxk
zuyTv);2s<%gLRT~t^haR@9GCCDq&r9mLt|NHftP1KC7xI#JIzcfIk<7DQfbu*i6realsgw&s+1Y^3`EUI}5B7Z7xrf-ki!!
zbi{aqyM0*19Tt&U!}TtF-YO5OZMIT7;!)((S{9
z{;+JLEfthzVxsf7e*rv*^)nyd1do{JPny{D9_9A>urcr4V@6=JwkR^Gud<++&~LQ)
zFc{JoiPfIRj8S_4u8hI`FnkA$q8|vATAKugDC-wj+cn_p@ss9LP=HbNaJI021EwR!
zkHgBX&4NOdHH_z;WvG!#Ws2h|(ERe7%j&aDtsy}n%GKisrIAX>>jr9M##G&_>eV(Z
zC`5S}TSwgtu0}tPry<7I*HCMhpb+JGm-6W~#CT{n+}bTDM48BFsTKaKrHab`MNpNA
es@ilqL3;oSIhHhjN`&VC000019wtf3n*
zB1V!?%7aTTxnGXoe_H#r}*5Yp;D~oK^qUX|45r>$ktX_FCUMK~;s7pu%{ntU$S3
zt|!p_k?I`!hQ0(r@F(eEu@`{aX@vN1dT&I;+`VXrq_21HKOlmFPew?S?m<)=V&uP7o%ef
zfOx{ublyQjEDodHidd_OS`D?f6k_5TLgqkm>_yJ?ftEX?@K11G7^j
zkifdKoM5sBfONhU=0og9qiDN_26qwBGv=uV=5sh-+-bj-&Rs~UL}!+FIBy0
z0S%yc2hsx9kV~ceXUZ0K=Tt>Y6Sr5wBk
zm`h2~v`zq!#^|-}L$f`hlof75SHu0rJ3^r$U}O2MBu+OH*M+WpyB)0rM3(_;u|_EB
z!EBtmSu8-kEZ(*A>d@3)bKgp02BZR#4N$|WwxboO)IO#2Nq4qw$^u-3}m46R}Cyd;$JN;pk)DanaFia#R2^VIjrd=Q=osT
P00000NkvXXu0mjfO6`k}@P)Px$_DMuRR9Hvtm_2J$K@^6c_pXf*`~WLch^1u^tF_cB5)>6HA(}G%WWr>8iMSbm9HFf)R{n%I^>H5*JQ&MvsNOSFyK|KznDl+IYFgFMpR7EJ(
zCB1ND(DA6@%fhZnn)0r&o|JwK>>q%X4nD#8DpGnYFatDzEd~1E)qDa*B`rID#rn_D
zY*+$9&Z6}F5zU5a*KCN1f*ms+1!Hh7n$eEA1HAkTJLW8~C)zPzfS`_p9rLYoVmeX%+0I-0000<
KMNUMnLSTXx0Qjl^
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-hdpi/audio_service_play_arrow.png b/android/app/src/main/res/drawable-hdpi/audio_service_play_arrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb44ea99b951a3876033aa2dc8d9785519c3e788
GIT binary patch
literal 636
zcmV-?0)zdDP)Px%Hc3Q5R9Hvtm_2J0Q51%sH(C4>`U3(sX|%J}BG$3hUQ0=#R)Sy(NyI=@(11!T
zO)4wDKuxUT2N(ir)QAx=QAh}EcEXEyL^gMm*`1x4Ej;Biv*(%fo_jv7=rL1|@vsXh
zNs@lx1TYL71ik`~fEh_!MSnmH=m;wr2ha(Ofz!%^ta6{5ux1nM{7eoHUfKvaPz(?R7FeT|nx4=3DvVTWw
z9e56m0+6d-s{<>*Byda8_dGQtBF%Wl?K10Lu49geb^1^^K{LQ?mP(tKG&-G!JECL2fGaJq(C&WKDcHX2LZ^S+>3chM
WRR=V{jQq_20000Px%UP(kjR9HvNm^+M2VHC%I{}}~|NU*&qR;|=XL`YB&QP`l7kWfklEgcdoG$b|(
zvZC-vNVc(!XG1JOp<$O;1>#wF%p5u6`{eFqcJ9n%=DTycJ9Bf-FX#3B&nN1vTrN|o
zRO)|D_N-){T6B~g$jlZ3Yk>{G0$>8TBI&s^Cj~OI60j0D2`mpm`v{ztba)1knJorZ
z0Ly^Sz+K>#q(3c2JNGp+n+xm!&H@e>?W&|L|ABs2D+6;>+63$cmH^*@2f#((wj_V9
zS*cW}TJ5ap&1^of6F5~zKPJgj_%CH4%(5m19T8r2dtXK(+`IMMgY(E*G`DK3FQ8(z-!=U=#oiE{#(n|
zZJ_A*3-Aay28_4Ug}nlDFdqezzy;uhq;IW+sh2>}|EDk>4oP~J2bBWI8NBPJLJCKk
z)m18>+9(Ut-3$JJr1y=Yl@ciW_h`KY_DS;DHN%PkiqV<|c1aq`5)}m$>*~6st^EXa
zP0~<50C|DG19taA%6?{wdc4S@?yI)HWT@8G9rH>mB^oM4SEvRpi8OO
zpaEbbum@NQxFn5>;+^cGnAh4}Y5SUHFk2K>>A@hj?s;psBjWR5&1@d9J$IGP`%t(3
z&s;VPhsy@vl0SsYh9mAL>Fr0zgkQ(3X>c9$q7b0GXeWPx%SxH1eR9HvNn7fJ;Q4of|nprgvZ;=b$GsU}T;td2v)W{1ccmquolXYcYVO22n
z6;?12Of)j^k_hGo`U-+zrZfA?znq4)8JSCWPfx+nFms0Ubyc0J`cE)r7E{KHz0}Q-zIh052n=TLqA$)xdG!CU6v31AGUbN5ta9fKram
z0@u=KKd>sjWDi)3h}#nZlC%;y0Nevk16%rd`%Oe#s2xbsTHrEp2RH~gWc}=IL@eiT
zEjc8ql@j+M;5Xj}_`CmEeL#{{0B3H
z1~v>sky}$8P%3l}0O!jlz#$vessWPZusj3Kq?R)(NVdK_kR%`H1z^XRUdh9k1Crz(
zXU}ZRO2@daN&hPi^bR-)%#;MFCS;Q81?qKsomRUwbhn?nklD|YE&`8JQoDhcv2r<-
z?VLOI?&7Y}<61R9$y06*E{t=)<}ph^bwD|9xph1Njx^dj@-dpK=9=?VHh#G4d;GA9
z8D!Omtl+6^KyzMsK(oqdW)xO
z1^BYzqm@HbmksvR-gF}Nr*j
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-hdpi/audio_service_stop.png b/android/app/src/main/res/drawable-hdpi/audio_service_stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..043a65ed613ab34359ae9e3a41ae8686d1e8483d
GIT binary patch
literal 989
zcmV<310wv1P)Px&mq|oHR9Hvtmrcu8RTRa4%g55}#qty6H;{%l44PRKl_~a^rIPs)nuSe5DwF~>
zjT$7Dnwr_5L?{Xh9NMfV(NISsQdy>@KJHj@E*y^cfA6_}O9(pCbM`*#?3cCI5&y!P
zE^#GdEYBLtYM_y(O%PY7s;q7bpeiKk(0>C^L`(qlfU}ZL4tZhU*@&16%m%)fbX}oc
z7omul0UQ7x11eEDyGg&XyQRh-}M2y&k+Ic&JO+xtd#WWn1Gf5?`4m)n_qzYCH>e5
z$eR)I0*EQ=R@F?(ATbHB=+xB7LNGjmQ)&;zx
zEi%o4ULJ}F7xe2zq}+Y0frDlGQktFy-T|DlW;rr1OZuoQ-8F!G#uw}?iqh#@o4W5B
zpG1VuE(f*)d76GsE$)`@T)lv@i(EUe0kblX=Yc1IFM%dahX8X~vkcskdA|>g_p1P9
zpe9qK%(TrisExpFz?(&y&H!tM&_y+%=JtqKnFubALfhm2NZjR!Rj|ou_VElo&W~Z6Es$SSsoBn*u0-
zamT#@%p7s4K{;hrot66-oU({8A)05($duU3=&K~{8xpB%Kq)eo5N{Wx=eB<_6?ob9
z9-?a{9j*mc1t@{p1iV_L$*EZge4RMW0?b1*r-a{uS0ue#1F9ELHV$?Gw`WeRXVw@%
zGh{nPhda*%d9V*uC!lnJ=aolB$E<8RQ3K0pq$Wu`;z0$u?j8*!&NuFM59il5H_GfI`I%00000
LNkvXXu0mjf;P%J^
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-hdpi/ic_stat_music_note.png b/android/app/src/main/res/drawable-hdpi/ic_stat_music_note.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba871152b8802ee9037e42b336d5008ac7780974
GIT binary patch
literal 527
zcmV+q0`UEbP)3?g!}0;vSI`U^tEx%R-dwh9``
zK~Oha`o@9hO1=2L_kCWy@(%Yb58V5l=YH-v=Q%$_mx;QJhf@KvJq#=Wv6jiEq^Hd`
zofgm-umZ$dChsKOuYp>askTs8#?U^n(}ZkY(&AYM^?P8s$wzl3eLriUHAypNzB}%H
zRe7ie`p??78#8rnq1r-OH@1$U!d$j50at+wz&YR#Z~$CMnYrkPs=Z~ldw@}35|~Z^
z@$5J71^5I^0oM|IbwIW+0(XHZh&O=q#{`(uvm*0X17thgatC+=T!*%M@XCOOQm=e3
z115}B8PEjq0f>0Xk;;H#w0WLGQfW}zeg({R6Hv@r^Bn-aloZy@mX-~g?OEV;_Nnkd
z(%TO7T3=(^w}366KjZK{;HIQ+89GN>%PceiECG))4u1hWk#v}$(;iUlvONNq)HgFH;uKN&mhb{l9tNyd`r0
RXCnXr002ovPDHLkV1muZ?BxIe
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-mdpi/audio_service_fast_forward.png b/android/app/src/main/res/drawable-mdpi/audio_service_fast_forward.png
new file mode 100644
index 0000000000000000000000000000000000000000..23a080b17e64ad45025603300cddeba11546553c
GIT binary patch
literal 720
zcmV;>0x$iEP)y(B_VK%q{VGE9dT$HV@?7Tzy`mq088`|BupQ=Hfh77VcnNP{
zGn|B6(6%-raBWq9+3)A!18AvIZ?ojK|#PUM@|B)>~QC47gyDpf9
zQfwwMi=G0;NYH1-J3-Ykn}A_25&Y7ykAlj>B<#X>$@cXt*Q%nL%|TFcI}^QKB+tg)
z52`~d8L839*KCokOoDAZ>lm7XiGwn`#xplYgp
z)d5h2Raw`}Rklm~lE++uC89r@YP>3?xf`0;6SzontBJ6{v+0P)7Za!<3QG0)eJ&IsFE?XyzH_2^OFL00002FCpr9oh(TGYUh(aP!UE-&s5QRdC#2pGWh->adC4yR^kx1l3BB4=8Br3m^
zPBfwra)kAKvUAzn+u5I3o4ncEnRni2cW&kzqv)S6!!6%5&0^Xsk=(O}VSH$OWwciy
z6TRX4cKQkcgtuWDM~$c)J)sQRRsncq+$b7Awde~ypbb1{c1RAuAbFc4n%2zPE$w|s
zzGfe_YJBUoCje!o-ws&dd08_^HNRVc8XsR8z)TLn+c)!Y?K3EBcRP@a-!A|V=e8O)
z!N;EjFs}eRn1>?<902H7fL+3eA_imt^eVs#;d2oK)&Rs6AV&CM#DExpBL%1;{2tXu
z1i6xZ0^rlW54veQjR??5_<7z&vzBX`d*Y9f6ydWfBd->*A4=#rL0!nT5PHC+;N77X
zdvVlN(;JLUAtBHB>ztKW2PnlXRk0)BbUos0a4YNDX<)kKJlI3BguSjyI(rCzaWi?&
zGZ0z6n`lHsIHrA27hbT6+(LlJp_4+Bj(#aGV}!qYeO{oIVjZE21j(5p*A|-49i?_)
zAb=VGXo}y}Xo+xHmcCagfTYQJ95g)8f8hIyK87Dh`->R|N*#g#0000Px$5lKWrR7gwhma$3$K@>&LO|qcBV7hdcHri;RjVX++e>90WRas9t==5EbL8EBLnab)Mo{>flf-IJirIARsxo+MKvn)8HT#rE=3MI
zv1B4AZ*3`Z+>M2adKP)Px$FG)l}R7gv;mAgvBU=T*nG3!J4Qu+e+A}ng*rL~d8LfA&IUJKVw5nC(8)(7xX
z3R-F-n;7}Q=o0pl>r`p-oquM&nUR*mas4z+mw*l66F382)U?hU@_;_D`78Ja?5Kk#
z0T;kZPVf@gS0Ac?@)-oNpWdP%vhrp5gJ`YqC@D02I
z>+01kNL4_lIRb*qdg{|8P+dT#88TW0&eib!7fk_zV94eM=&Fwyp%Ng86QWKut@Oug
zw-#WIb6Nv5SE30SWKACCmt&X#L>iPv*9ITC^NRT$COC4`A5%(XaE;Y5)EJ6zG>3
TkrO%G00000NkvXXu0mjfe7d01
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-mdpi/audio_service_skip_next.png b/android/app/src/main/res/drawable-mdpi/audio_service_skip_next.png
new file mode 100644
index 0000000000000000000000000000000000000000..b446b6b3e82a72342750969c2bfa719c5adf485f
GIT binary patch
literal 444
zcmV;t0YmPx$c1c7*R7gv;l{+s)Q51#0#TBi}loBdB|Adl?c$MST`UR4iA7IcZB&aAn5=#C6
zjYj3sNd#f;%$75`H*O{~bLY;SIqf-Tue0|$Yc0{^C7<=pYy_AGo`C~NU)})BY!G+=
zMu8Amk+fF>FtZ6@7Z?Jzfg?#DS-LZ`Vc;!sryyw~1}Fe)(Pjm>0;VMWvpD81*lO3+yPs_b+c}|0f-;&_}Bz?
z8gWx8mvenVkcopv6LBNE0P>O^lLvfskgWF!%mSzJ$b17huqR+r(tD((%-=NaXEp=~
z!;l~d+}%_iv;uG=ngPyykI0dH?gZEilHE652TGED>)Y#wWGA%SNN6{{h31UUS;bOT
zs|c%=;y{0pYIb?x#E03{+w~Px$W=TXrR7gwBmAfuPQ51&1e`Z_;jZQp*lEecbp%s@>qELxOBRWE%8`??SUcjT!
zsi-ydBr}#Q*(W)Ux$JYCN$h&>^{u_uzy2i#eB|-XYy#K;Fu=^lfJPx%W=TXrR7gv;mDg%jQ4of|If)Ii#EOdjJ)%B>UfK~0cCqCJL=mwk7Xd|0qQ+Oy
z2k;&2ih^Q`mBf%U@*if$?an&;oDi}u_g-uLYvwOwO!BfxzMua9+`R>u4h);wpYedZ
z`&3{GFlc5Y+1XJ5cdr2JfW5#Ypx?}XHv{7CGl4C@dY}t(EK_km5o2jDDl
z%glb1fw=o@U=MH_SOoOwk!Chj1W;g^zOMv&lDLpi6
zQ;`Gp{~&N2SPHxbE(5)0_9YME?(>12z)@g1@D?}^+%U7jF&tzc+lzs$Q1w02jfxCdjur(@O4ZHv@MU~%+
zt*q+btzNUC8HJZCGh*pRfT_{ep)D{6=2kx2K=Xy$O
z=wx@7^u&jhA}MSA3WarLyi5dOaSlLE%>YDdr&$v
zq_$$7Vg6ZSXx+!qF7vcg^*+>
z`7`rLl{^>*-psq_|Hpm*iw%eB=-ci9L!ez&C+U1SUl(u;ya4eogrtJrb^|_v@A*DS
zDzq-AMYobhDU<8~yA~~a#P<9o=efvs3+Mw+zya_9Tmlck5zri9JM23HE`R`)MHb)+
zn5+>GU>4vP*h@@l7Qm?^Aa@5<0N0YHsfCoDMYi98!!^Y}Ku^+ZQ@|9w`h5m6FsToy`
P00000NkvXXu0mjf1LuIP
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-v21/next.xml b/android/app/src/main/res/drawable-v21/next.xml
deleted file mode 100644
index 1b4d432..0000000
--- a/android/app/src/main/res/drawable-v21/next.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/android/app/src/main/res/drawable-v21/pause.xml b/android/app/src/main/res/drawable-v21/pause.xml
deleted file mode 100644
index c959ec6..0000000
--- a/android/app/src/main/res/drawable-v21/pause.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/android/app/src/main/res/drawable-v21/play.xml b/android/app/src/main/res/drawable-v21/play.xml
deleted file mode 100644
index ec2a52a..0000000
--- a/android/app/src/main/res/drawable-v21/play.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/android/app/src/main/res/drawable-v21/previous.xml b/android/app/src/main/res/drawable-v21/previous.xml
deleted file mode 100644
index bef0e49..0000000
--- a/android/app/src/main/res/drawable-v21/previous.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/android/app/src/main/res/drawable-v21/stop.xml b/android/app/src/main/res/drawable-v21/stop.xml
deleted file mode 100644
index af5e34e..0000000
--- a/android/app/src/main/res/drawable-v21/stop.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/android/app/src/main/res/drawable-xhdpi/audio_service_fast_forward.png b/android/app/src/main/res/drawable-xhdpi/audio_service_fast_forward.png
new file mode 100644
index 0000000000000000000000000000000000000000..ccafa85ca267c39a676cf41d9a80d88be56a2090
GIT binary patch
literal 1511
zcmVtG(XUaCi=E&&`~
zLE|&P;AVOw>HNX78!W*2f4;+xeoh0IgN-WKaujX{Ct=G@T1iR?B!`coeP9J=QS}yH
zoC5v@3&ELf*m{|^`$OXQXk#S;1ivmyj{@g=lz({fG57@h35J3l!4{ybGj8L(>*TBw
zTg9~dfNwtl{ca0(NWWu~S9mcck|-nKP+u2XJCu&d=@|GtT88wYyz2(8lZNXGon_!+
zY~5L6%LRQcI1H>8zIW5+qWoPSX9ThhA3qC?>}luV9VNZk=N0Ww<;68%of^8XiTT*N
zv6JwjO8{eDNJyuE8Zi
ze-SoJEWNUV0Lu2-Pry`H$i4iST`L3BAz|j26TUCS&H>E^pOLtV-)Cp-oX$hBWvcB%
zU|0TrBRH6Z;`1#yb=aQ(Mf!E|AB3$RTd*~fHlK!eW~8Sg0T<#!nW95JtQDtKgRG~|
z%y1#Qx8&2^HF;Aca2zjg&5Zqm(kA^GOslpaVPY}C6mkx+T^R|Sz>AwRrR69MYt?Cg
zwu8X?*c+AEJeSxOL;{EN;=VA22BY{_e+E<4R;mizf!EL4x*zrKRe2T~&);s@xr{>b
z!>UgEQy&8E_U_cVn2zs{1T2qDqxoW)g`(x{Dia8d#d$2%#}L;$eF*pm%6IWNI*ayI
z6fF-{nGn;%I6ou{;7fjwDE6kf6MMLLHbgrUWsAE37lPj#r|~>+L0*bP0xpz~z*bqb
z4%IjsSr!kdK)^NW+RSA%v6z*5rK}pA%=@Q9qlGk@H;~a2{Q3C1B>23ZI6PylkTL=m
zVNRocGCg^8L8fh%#37aD#YSxA_m^}
zht9>37#WAMT|()`!UQrr*jk1!Z$?U`5dnMuHLy$8+8%LwZI9v7>yxTv2;TDh3*ZRk
zF?sUZ9X~bih#H<>(=pRj8jp7N*7$Zwq~M+NI|t%l^Y2K
z?1w$CEE`JG1QH3aI?4{^&Q%M)rYcv0ccEHMP6!dY+dHDY$Hiu(5`jcwI!}8pUN<_8
zCgc3wdX5QxJHC6=I{(WqYu&NEsa_#zhqVZcKE0{1zOS2YYO!jWKq4`Mr#-q^aNt}%
zmZ0uVdQ*8?2IRZCpA6bc*Zb3!q%8s|IPYzq16zj(ybC%HSbi)5Uf$;7TA4=hU$qo@
zYScD?M8ev|>=aLL7Gdt(vFELJkE)t_%ZT<1fkeW})!M1i^`Yr=F2P%lv@QKcAd#@A
zJu}P((Y7Pu#o5XAYMZKz`jtT8oQ&g~_vBPe9T&B?%4PrPs2X!0{f-bwqv4Toej16(
z2)?_mNNY6i7=c8>f1?f|_!~PByf!;Zpi@ETcGnOXh+eMeW3?ZF{{eSB$w0M0JGTG;
N002ovPDHLkV1k>d*!=(i
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-xhdpi/audio_service_fast_rewind.png b/android/app/src/main/res/drawable-xhdpi/audio_service_fast_rewind.png
new file mode 100644
index 0000000000000000000000000000000000000000..adffa064272ada82349ad7965b2ef312d7e177e7
GIT binary patch
literal 999
zcmV4AnG_Eu8YYbg5hIa#m>R~LTX;YSg-9tQZ^otOg(4!Cni3&l;z22Q
zMsiDvq}&qaemQ>sX`ShuJ!hYNIeU-2YgYYRXRr0`@B9DP`u5s;t&=E-c}c{ae?hx|
z|2>1QXCRqOc7*IyPz^?bUf=_`4o)T#i3eW9;I9Px8ZZ$Qfv?~xI0G8-_sfkxM*##H
zjiY)n4)nHhnxy?bxCRyy{9`sde08V&0H^?ifnEGB^xXq%@pU7YkemVtxRaY#fNpL^
z!`OVMt_5`j|Eo6qD9$pl1N8LZOS5nsEW(!tsa44;zy!RA^>h!xtfoh3SOWfl-C$)N
zzHV~w6hwTp`e-Ep@|`id0F>|fmSZ^3bFwO5N8Eo4R9Ho16QHTy8$iG?T+||9Yr5kM
z0gV1oI$wqnIY6JKh*YF2UJI?
zXwO}4-7DMe$g~f>1GKq`LeU4@0LbfOGo#q$tGy{*pK(9e9_98z4@^}6C@h!llQy*#t)+*(v=p=g#8zkbjde
z`9M-Aodged2d?#Z)N-KT8QomyBtct3<$fR~uo=I1O+N4xvJxbv^p|WAPx%d`Uz>RA@u(nz@S=K@i4&-@1sXfmg7I%Hn|sf{A7(8i=W`2N;iVjxtGnlG(eb8^+fN99
znXLv60Gogw@J!O{QGqwJ6~G=~CoJ0Z33wvud(#|A0A}X>=YT7~hLWd#pQN8{K$zJ&;3crWVVryaq@>v@xk>1C~bX_50W-V<%{3zjRamv--#-grtVJcyx7C2
zLBKspQ!V8EMEVBU)?&;dNsprZfKyCw0k0NK?O#w#P9{!Q9*Qj+Bnhe>#IG{T{>Dg-MSxeBF{
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-xhdpi/audio_service_play_arrow.png b/android/app/src/main/res/drawable-xhdpi/audio_service_play_arrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..94712093a269175462d5f7c1609b0d37464eb490
GIT binary patch
literal 761
zcmVPx%vq?ljRA@u(nY*tIQ5431pL=g5D$!98(enogS}HZ6A!ytv1PPaTMWIj#LFaiz
zAyKHrD?uS4NaWH83XjAi@jmC=kuN!u$hr5-oH=LqJQAy&Ju}~Ltyz1oSxeO1RCE0#
z0z^^d>+^v5Km@#y^sY+KX#mTBi@@x*=#RiQN#j+4=n4=;(L&%cFtbB!3%CLtl=QT0
zkR*UD!0`luKY`7Tkfc9lfg}O!0rsT`b6(s5c1U_q21F8o#T%j*YXEzJ(~_Jgg;`zz
z7VK!e1lAQ9jXVKjuN&kfa7fbI(4hzc5NmdluL5pKnhXUJ5+K%m71%22bqI(e0Ak(V
za?eTnmM2J&06qYH@U4~fEH8+l0FCA(Bf~Q~wf+VU_>h$Jc~Fp`04d^{zzRus2Z1OP
zz`C6emw^5KCVANavGczG>w)W8>#C{%7{mqPePDwmpXfbVl>lPFuBBX8otN}AjiQPG
zab5KsSS@KH38FNBMytul&~TcA9f6&aPIOyX8bF%zj_XS#J(}*Gx&VwyI`$tRW7zXt
zzF3kQ3{$M?pOBMyyQEWfOJe`kReKvv_`W^>yMgh#9b_&g+?v^#c6j{@UzHsA1grsW
z)UBBN4qOJtB)#cp+bSypPEvm|%O$x2onk{0t;oxgtqcHn@s0pTCHX&KAS)8UzmQM-
zc|*-^KFU6Stg>a{%A4LaoWAn-!g
z`lTpuqDF{>vqKA1|it`V@RD2kT02i{U00000NkvXXu0mjf^u1Cp
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-xhdpi/audio_service_skip_next.png b/android/app/src/main/res/drawable-xhdpi/audio_service_skip_next.png
new file mode 100644
index 0000000000000000000000000000000000000000..c70b028be0149c0586da81c88f71f2c201541c36
GIT binary patch
literal 800
zcmV+*1K<3KP)Px%+DSw~RA@u(nmLOUQ4~hcH#3PFsJLLF{s8}i;F>CG;2J16W*WPrpn)hjf`Oq1
zih^J;Xrd;JaNf*@|04sN*NHgn|;RZ`Pk-Bn#ycfSH3bX0WJJ$1kP-d##me5vC0
z6EuLC^#XH&X~0ilRML;+OAi*n%-pu4zz$#@@CCRH?3DB=h6oZMGJZF3CPm`cfK8Iz
zBVkI&%w_`*fdwf5Z-J$fp40)D*^J0#8-XdnW8fSxB*{7z@Mg9UxDU)sdFEGOg`~Ta
z0L-ipxD2cVdJ=#92Al+rOZwFb2s2v*+-m^f_Bg;uEx;1s4lpal$Z_BXZ~%DFZg1oO
zSf1vAWxy@Kx2{IZ-M0l8Y$rrJ0UXR_bP?Dq=}kK%l>;DELU}xpwD&cz0T`C#5-V-x
z04OY>S|dLK7l1>OK9@z11E3TSB<=O!?+2ci5gR!GO7lPx;vH~A(%FCYM7IE9yRQKI
zB|R?+(ro}gu|2^1C0#E9(QSa(=I>E5cDmK=HWUB{ac{VkR!Mr9*Bc=L#5R8bP5|zW
zi8Q#`3K1Z-*AuX{S&|AFz(Jk?+awJ)@y?&}2l3XpB&?c*d>dUOX|!tR!29SR8>rer7N-&`CB4cUG@)#xp3DvS
zFYDy31?x6I<yXK4tKb%QmiZSdu)up-oKqkuY1=6
zBUNi`#jQmTREH>iwR0Qw=I&-mgQZ)YxM5L%toFLMNDhYFUiSgVrAXJw7P}7=P65Z7
z4mf&xV7#0jZy^svHNkXXyARQTslX#2F-aO~r({wNvSuSDf1&leP$vz{dRE~fU)GH~
zbv+uh?unAY+Q(jv3Zm|gS$&GwEMgLaZkP1@sFQIM*cJSsJAUQSrv`IsJ~f!s*$Z+~
e--=W#5AX-D9{xbspIoB=0000Px%$Vo&&RA@u(n#-$AQ5?rVzkR$P#lRyXArhrb)I}a6*TiEcV#G)uT_lghfQd{P
z5C$kE{{Tgq@*fx|12T~Es5_8zzWUWV+IQRc+Roj3pS{YeGdg?k_5J=HYyH;uw~WY#
zMUJ082uPX&%mpR@-+<3%rlt}dK|s;Xu97XkhBhX3CzrS^9``7iJ_Dxuo-wBVn55_6R^b0h6|acq=zJ}2aW=3
zfUm$q;J%st=uVL)uq6;^<;-6z0ZG1qoCMAT(^GgnoNt=hiN+F;;#e=V}1k%
z%K+roSEtR$l?!$=NiE@aUfhLZY4m&H(O#UPgZi
zNLmS81$Os>I`vMy1cKG~0oQ>!;{@-o*GE9oV&F7z2$)m?`1%M)S{0d4>bDg;lb(;iNeR=Ks1q@}>yDuGwJ
zj7r)IJo-KlmFP#OB
zN4JrsO&)D2ks+}t6my58E9O#p;c7#i<#fgyexPyX!Ap+ujB1m3EM!q1DN`ZkQc9eM
z`bAta@K+(9FC6
z*tn6`=)N184o>KOXmsCh9P$7t@2bJ%)K!D;QC&4?s+GsW75#0MUjdKnK+1)Q=>Px#
M07*qoM6N<$g1)0=lK=n!
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-xhdpi/audio_service_stop.png b/android/app/src/main/res/drawable-xhdpi/audio_service_stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..714223b6cb8a36cb087d580f8bd99dd9c2f52293
GIT binary patch
literal 1376
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
Dky0@X
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-xxhdpi/audio_service_play_arrow.png b/android/app/src/main/res/drawable-xxhdpi/audio_service_play_arrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bbc92b465f8fbb7adfeeed098422450f8975022
GIT binary patch
literal 1304
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
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-xxhdpi/audio_service_stop.png b/android/app/src/main/res/drawable-xxhdpi/audio_service_stop.png
new file mode 100644
index 0000000000000000000000000000000000000000..135886b5d1c0cf159899637ad095afe4c905c02c
GIT binary patch
literal 2016
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
wgRQT_g4%a2<=iVRfC2@nstM7{7lqZl`~Uy|
literal 0
HcmV?d00001
diff --git a/android/app/src/main/res/drawable-xxxhdpi/audio_service_play_arrow.png b/android/app/src/main/res/drawable-xxxhdpi/audio_service_play_arrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a628f6775b54acdae28f36af7214d86f03ea2c9
GIT binary patch
literal 1597
zcmV-D2EzG?P)Px)_en%SRCr$Poms41Qy9m8|62(!9)x%z62S{W@G2gNCqqb#K~gHFpb}%uLp+!s
zP(fNkQdCeHi6Vwbs}C&^Q>s-%)leknx$TxeXUBDW?>%R)z3w@C?Y&lVpYB@UKKuV$
z-(K^#L{1}BKqGy6emEIGq)M>O7;M^7-B<=tU9+eqGJvRZRyP&}Kv5KX0<(dAfnR}T
zz+;lWuKts{RiYMvqA2zOt^Nq(NQX&U-9`va2T*Em54az=
zNm8o@aH#+&L3{<5^!!C25>0?D7|4FaJ}cGQtq;*48R~f+x3>$
zBP4y9Vk4b8fbngE8|m96d731d)D{4x;GQIOBkg%5Pj56nwGDs;w+B1{T$F-0v=KmA
z>puoA1fG}lXH#9F%>c@Ir6s^Al01XkxYTw4;~VMAfJKtLKHZqq6#%8+o=@`P&xTPf
z{)}miEfdy>y9U4@z5(t9ZfL@EMi&8;-r&t*?y|l)$}Ve{0T_fg26%hTIiqT%yAGiA
zhWCMMfyKl2h792U{UOh?9wW(~F_e@6Y%TLAz&zm2VGQ6hfT`=b+lH%vHIn-8F%0yV
z3}AZUyiMjd;MSS)h74e^n!CcA#(-C1dqV~=7y#$;XUGG%3u5+^GJwGWlsVS|mjlnl
z0FePy2T+z+1k43C)|pqz0Kx&dq_GMcnX^1Ce0QCXb!neRd
zAzSM+fH(lWhxJTJ3#yvS0IDiBb^g~R9a7a?22fS8sq?Rwv|Ckk89-IVGJtrBMYgm|
z(!o`2W)G;U*yQ=$2+xu9Kvi=YKvl&i&+l&Nfs)o&HJ1TYRc!10KFxWQV`t=nSbZ_8
zTJVcF7_<_~j)YS`eK2*B&G%Yox1Il5J=Q_}$WTR#VQF6FLel^W9&
z03J|1>Mehge5+DtQYZj_pSO#olKb*rBysGv+IuY{{idOr2?gMlrTuFDO84pS>xF{Z
zSkqRr#X|us1Wpco>+&i?FOsYZw9%Skp#YBU-4$H*GEX-D=@TggH&3KrH~Jy`m`gaIgwscfhsWL9*vb@=8@s(Px*4oO5oRCr$Pok^@-V;IMOf47E&uGv@%!a{-|=6O*I8xm}qs-YHQsHrq)MbyUB
zcA-@^7KYSNqKa5(B7#;CDK!N_T4IQ?x34_y`Q+Z-@4NRs=RN0q=bZ0(SKs1!p7Wjm
z|Ge`v2ya70Ktp}HKO84u$RB|d-~Feo$^Bz#(v&z2u2Z2k0{iZSTIWSk!n}cMW
zfSd$`5M}{)0Jle~{sJ5$$;g<}oPbCadtxDkvw?NMzLBanzOR&YwG$AD*mPnc1RL|`
z<}~#kaJZyj_tx_skQ2!e!rQ=cIn_-397(U{CLn~cKX5W|E^sL9-aXsW>to;r;2lYS
z75GD~R0$z`2pn19&tEI)fm{TH5Nw=#9Jn|Ges6sn-<}7qkYwxM&bJW4C%|C^Ui2nO
z_eB#BLa?v>8Q|E6hkXhx0-lw$GeW+#B9#y@#u(#_PXZ-`u*^0RIgxq+Y0fz2(XRDoe7Bi3ET{<>9_Psusd|sx(IkO
zn|M=R*v7Qif%(8!k~(qVR2Km+0q3WnKSB3rz;=PpNwS{N>efaA4Di2!7lF$q86mB0
zZ6%-w_@?Y2Yn`NBZDgVC1Q_Q30`~w*CE4#*wJs3Q1AGH;J+P%s6Lgmd=n-M7q}7rp
z?*tp#FSzv03|6`JP2=+n!;Y9dS!CXR%6J
zBM7ME&B`-sr>jeV<&w6SXLgSzCmDzdfnI)ZonK7CuVO|(FW)pNN4#ZAC
zJ_2@+8g|D3oF&P;Gm@GUP#nJ3fD2PS^_+m>1eoSZU_r_qgALQ>_=iEXsTA`8?P$9T6rsqg9N8v)v
zdq5%B{#UX|_{5amu@jI+fGq}l>l?F
zvLvY1-KpDxq7XnYDh6Kd|Q